今天我们来探索一下HashSet,TreeSet与LinkedHashSet的基本原理与源码实现,由于这三个set都是基于之前文章的三个map进行实现的,所以推荐大家先看一下前面有关map的文章,结合使用味道更佳。具体代码在我的GitHub中可以找到https://github.com/h2pl/M... ...
分类:
编程语言 时间:
2019-04-13 18:58:27
阅读次数:
161
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo ...
分类:
编程语言 时间:
2019-03-30 14:55:22
阅读次数:
177
动态代理实现思路 实现功能:通过Proxy.newProxyInstance返回代理对象 1、创建一个处理业务逻辑的接口,我们也和JDK一样,都使用InvocationHandler作为接口名,然后接口里面一个invoke方法,jdk呢是有三个参数,我们简化了一下就只要两个参数即可。 2、声明一段j ...
分类:
其他好文 时间:
2019-03-29 01:12:52
阅读次数:
168
ES6.3.2 副本失败处理 副本的失败处理对理解ES的数据副本模型很有帮助。在 "ES6.3.2 index操作源码流程" 的总结中提到:ES的写操作会先写主分片,然后主分片再将操作同步到副本分片。本文给出ES中的源码片断,分析副本执行操作失败时,ES是如何处理的。 副本执行源码: 实现了副本操作 ...
分类:
其他好文 时间:
2019-03-23 22:37:26
阅读次数:
166
程序效果如下 实现进度条动画主要有两种方法:(1)使用缓动,(2)使用Jquery Animate,本文使用第二种方法,先实现代码,后续进行控件封装 需要注意的是,div loading需要设置高度100%,因为div 默认的高度是auto,如果没有内容的话高度为0.第一种方法单纯显示动画,第二种方 ...
分类:
其他好文 时间:
2019-03-20 00:50:11
阅读次数:
183
有的时候需要显示一个html mask层,mask层显示的主要原理是在指定元素比如div上创建一个子对象,设置absolute、宽高100%、设置z-index置于顶层,设置半透明效果,fadein,fadeout即可。如下一段简单代码即可实现。 程序界面如下 点击弹出即可弹出遮罩层,再点击就会关闭 ...
分类:
其他好文 时间:
2019-03-17 13:38:12
阅读次数:
167
本文实现一个日期控件显示,日期控件看起来很复杂,其实原理很简单,为了使程序逻辑看起来简单,切换日期,选择日期等事件处理部分未实现,读者可以自己尝试实现。 1、日期控件分为三个区域:顶部的显示当前日期和选择按钮区域;中间的本月日期显示列表,固定7*6=42个单元格; 底部确定、取消、当前日期选择功能。 ...
分类:
其他好文 时间:
2019-03-16 09:51:49
阅读次数:
211
一、Java基础 1. String类为什么是final的。 2. HashMap的源码,实现原理,底层结构。 3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。 4. 描述一下ArrayList和LinkedList各自实现和区别 5. Java中的队列都有哪 ...
分类:
编程语言 时间:
2019-03-09 01:14:43
阅读次数:
221
https://lucene.apache.org/solr/guide/7_2/collapse-and-expand-results.html#collapsing-query-parser 对应的源码实现QParserPlugin 具体如下: ...
分类:
Web程序 时间:
2019-03-07 17:46:24
阅读次数:
214