摘要: 聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕 阅读全文
posted @ 2018-04-11 17:41 甜菜波波 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩ 阅读全文
posted @ 2018-04-11 16:00 甜菜波波 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://ifeve.com/from-javaeye-cpu-cache/ http://ifeve.com/from-javaeye-false-sharing/ CPU是计算机的大脑,它负责执行程序的指令;内存负责存数据,包括程序自身数据。内存比CPU慢很多,现在获取内存中的一条数 阅读全文
posted @ 2018-04-11 11:37 甜菜波波 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 概述 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需 阅读全文
posted @ 2018-04-11 10:41 甜菜波波 阅读(265) 评论(0) 推荐(0) 编辑