2019-11-04 16:15
1 简介
我们都知道Map是存放键值对的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值。然而,有的时候我们需要反过来获取,知道Value值,求Key值。
本文将用实例介绍四种方法,通过传入Value值,获取得到Key值。
2 四种方法
2.1 循环法
循环法就是通过遍历Map里的Entry,一个个比较,把符合条件的找出来。会有三种情况:
(1)找到一个值
(2)找到多个值
(3)找不到
具体代码如下:
@Test
public void loop() {
...
2019-11-04 16:03
因为需要提高一下sql的查询能力,当然最快的方式就是做一些实际的题目了。选择了这个sql的50题,这次大概做了前10题左右,把思路放上来,也是一个总结。
具体题目见:
https://zhuanlan.zhihu.com/p/72223558
第一部分的题目主要使用的技术是连表查询和子查询,难倒不难,主要是要把思路转换过来。
首先画出一个各个表之间的关系图(没画图之前关系老是搞不清)
1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数
学生的信息在表1当中,课程成绩在表4当中,当然要用到连表查询。
...
2019-11-04 16:24
干货 | 十大经典排序算法最强总结(内含代码实现)
一、算法分类
十种常见排序算法可以分为两大类:
比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。
非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。
二、算法复杂度
三、算法相关概念
稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。
不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。
...
2019-11-04 16:26
博客地址:https://ainyi.com/81...
2019-11-04 16:40
(手机横屏看源码更方便)
注:java源码分析部分如无特殊说明均基于 java8 版本。
注:线程池源码部分如无特殊说明均指ThreadPoolExecutor类。
简介
前面我们一起学习了Java中线程池的体系结构、构造方法和生命周期,本章我们一起来学习线程池中普通任务到底是怎么执行的。
建议学习本章前先去看看彤哥之前写的《死磕 java线程系列之自己动手写一个线程池》那两章,有助于理解本章的内容,且那边的代码比较短小,学起来相对容易一些。
问题
(1)线程池中的普通任务是怎么执行的?
...
2019-11-04 16:45
今天有时间测试了一下通过.net环境操作MYSQL数据库,测试过程及结果记录如下:
1、MYSQL安装
(1)我是从MYSQL官网下载的最新版,即MYSQL8.0,在MySql官网的下载页面,找到“MySQL Installer for Windows”。
MySql下载页面地址:https://dev.mysql.com/downloads/
上图中,MySql for Visual Studio和Connector/NET用于后边的EF操作,MySQL Installer for Windows为Windows上的安装文件下载。
...
2019-11-04 16:10
上一篇通过构建金字塔结构,来从不同的角度,由浅入深的对synchronized关键字做了介绍,快速跳转:https://www.cnblogs.com/xyang/p/11631866.html...
2019-11-04 16:03
什么是OKR
近几年OKR的概念在国内开始流行起来了,之前公司也有人想实施OKR,但现在看来之前的OKR实施者只是在哪儿看了一下OKR的资料,本着跟老板邀功的想法比较功利的在推进,所以基本没有效果,今年换了一个不错的团队,比较幸运的成为了技术部(150人左右)OKR实践的操盘手,于是整个对OKR的认识便不太一样了,这里分享一些心得出来与各位交流,互相促进。
OKR(Objectives and Key Results)即目标与关键成果法,是一套帮助我们明确目标,并且有一套跟踪完成情况的路径,这里形成的是一套科学的方法论,如果用好了可以产生非常不错的效果,这里一个基础的OKR格式是这样的:
...
2019-11-04 15:46
归并排序的原理
归并排序是利用归并的思想实现的排序方法,该方法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则是将分的阶段得到的答案修补在一起,即分而治之)。
图解归并排序
下面我们以待排序数组 8,4,5,7,1,3,6,2,9,10为例,以图解的方式讲解归并排序的原理。
(1)分治原理图(由于图片太大,没法截全,我进行了一定压缩,所以看起来有点奇怪...)
从图中可以看出,归并排序是先将数组进行拆分,拆分到剩余一个关键字,这是一个从大到小的过程。然后再进行治理,治理的过程也就是进行合并的过程,合并时会保证左右两边的数组内部各自有序。然后将两个有序的数组合并到一个数组中,且合并后的数组有序。总结就是:递归拆分,回溯合并,合并时左右两个数组内部有序。
...
2019-11-04 15:54
ASP.NET Core 提供运行状况检查中间件和库,以用于报告应用基础结构组件的运行状况。
运行状况检查由应用程序作为 HTTP 终结点公开。 可以为各种实时监视方案配置运行状况检查终结点:
运行状况探测可以由容器业务流程协调程和负载均衡器用于检查应用的状态。 例如,容器业务流程协调程序可以通过停止滚动部署或重新启动容器来响应失败的运行状况检查。 负载均衡器可以通过将流量从失败的实例路由到正常实例,来应对不正常的应用。
可以监视内存、磁盘和其他物理服务器资源的使用情况来了解是否处于正常状态。
...