触发Full GC的时机
摘要:由于Full GC的耗时是Minor GC的十倍左右,所以Full GC的频率设计得比Minor GC低得多。现总结一下触发Full GC的情况。 在那些实现了CMS的比较新的虚拟机中,如果配置了-XX:+UseConcMarkSwapGC,则启用CMS回收算法,CMS会周期性地检查老年代的情况,每
阅读全文
posted @
2018-02-28 10:56
J.M.Liu
阅读(4547)
推荐(0) 编辑
java NIO之Selector
摘要:Selector是java NIO的核心,通过Selector实现非阻塞式IO。一个Selector可以对应多个不同类型的Channel,并且以SelectedKey进行标记管理。换句话说,Selector只管理SelectedKey而直接管理Channel。 Selector对象中有三个集合,分别
阅读全文
posted @
2018-02-17 12:04
J.M.Liu
阅读(422)
推荐(0) 编辑
java NIO之SelectedKey
摘要:SelectedKey是channel与Selector绑定的标记,每将一个channel注册到一个selector就会产生一个SelectedKey,并将这个SelectedKey放入到Selected的key set中,注意,key set 只能通过这种方式添加,不可以直接添加,但是可以手动移除
阅读全文
posted @
2018-02-17 10:46
J.M.Liu
阅读(1768)
推荐(0) 编辑
java泛型中的各种限制
摘要:java和其他语言一样,都支持泛型,包括泛型类和泛型方法,但是java的泛型比较特殊。因为java的泛型并不是在java诞生之初就加入的,在很长的一段时间里,java是没有泛型的,在需要泛型的地方,统统都采用协变的方式,也就是采用Object,比如ArrayList类,元素的类型就是Object。为
阅读全文
posted @
2018-02-15 11:40
J.M.Liu
阅读(3893)
推荐(0) 编辑
并发调度的可串行性
摘要:可串行化:多个任务并发执行是正确的,当且仅当起结果与按某种次序串行执行这些任务时产生的结果一样,称这种调度策略为可串行化调度。 冲突操作:不同任务对同一数据的读写操作和写写操作,其它任务都是不冲突的。 冲突可串行化:冲突操作的顺序是不能调换的,不冲突操作可以调换顺序。这样的调换之后,调度仍然是串行的
阅读全文
posted @
2018-02-03 21:10
J.M.Liu
阅读(1391)
推荐(0) 编辑