很多人都知道HashTable与HashMap的关系,HashTable是线程安全的,HashMap是非线程安全的。在介绍完 "HashMap" 之后,趁热介绍一下HashTable。在HashTable中没有像HashMap中那么多关于数据结构的内容。HashTable是线程安全的,因为其源码的方 ...
分类:
其他好文 时间:
2018-01-05 22:01:46
阅读次数:
224
随着cpu核数越来越多,不可避免的利用多线程技术以充分利用其计算能力。所以,多线程技术是服务端开发人员必须掌握的技术。 线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。 在Java用有一个Executors工具类,可以为我们创建一个线程池,其本 ...
分类:
编程语言 时间:
2017-12-30 00:27:44
阅读次数:
195
《Netty5.0架构剖析和源码解读》【PDF】下载链接: https://u253469.pipipan.com/fs/253469-230062545 内容简介 Netty 是个异步的事件驱动网络应用框架,具有高性能、高扩展性等特性。Netty提供了统一的底层协议接口,使得开发 者从底层的网络协... ...
分类:
Web程序 时间:
2017-12-04 15:02:57
阅读次数:
371
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 jQuery 的整体结构是这样的: jQ ...
分类:
Web程序 时间:
2017-12-02 14:09:35
阅读次数:
236
HashMap通常使用链地址方法存储,但是当链的长度太大(大于8)时,这个链就会转换为红黑树,类似java.util.TeeMap。大部分的方法一般使用链表,但检查到节点为树节点时,也会使用树。树状的链表可以向其他链表一样使用和遍历,但是如何HashMap中冲突严重的情况下,树状的链表查找更快。Ha ...
分类:
其他好文 时间:
2017-12-02 11:17:00
阅读次数:
176
本来打算对Notification进行详细说明 和源码解读的 发现写的时刻又不想写。 Notification 保活 算了 直接上源代码 ...
分类:
移动开发 时间:
2017-11-24 17:56:31
阅读次数:
187
前言:他山之石,可以攻玉 (1) fastRemove(int i),内部私有方法 private void fastRemove(int index) { //ArrayList内大量使用了此变量,用来验证ArrayList对象结构是否被修改 modCount++; int numMoved = ...
分类:
其他好文 时间:
2017-11-11 19:51:39
阅读次数:
196
Eureka的wiki上有一句话,大意是一个服务启动后最长可能需要2分钟时间才能被其它服务感知到,但是文档并没有解释为什么会有这2分钟。其实这是由三处缓存 + 一处延迟造成的。 首先,Eureka对HTTP响应做了缓存。在Eureka的”控制器”类ApplicationResource的109行可以 ...
分类:
编程语言 时间:
2017-11-09 11:47:23
阅读次数:
656
在平时工作中,eureka作为一个集群时候,我们会配置多个peer ,假设当前有服务器eureka-A,eureka-B,eureka-C。 如果Eureka A的peer指向了B, B的peer指向了C,那么当服务向A注册时,B中会有该服务的注册信息,但是C中没有。也就是说,如果你希望只要向一台E ...
分类:
编程语言 时间:
2017-11-09 11:39:18
阅读次数:
322
HashMap通常使用链地址方法存储,但是当链的长度太大(大于8)时,这个链就会转换为红黑树,类似java.util.TeeMap。大部分的方法一般使用链表,但检查到节点为树节点时,也会使用树。树状的链表可以向其他链表一样使用和遍历,但是如何HashMap中冲突严重的情况下,树状的链表查找更快。Ha ...
分类:
其他好文 时间:
2017-11-04 21:41:27
阅读次数:
187