
性能
e5945
这个作者很懒,什么都没留下…
展开
-
《java performance》读书笔记之 jvm 垃圾回收
jvm 的垃圾收集器基于以下两个在java应用中成立的假设:1是大部分分配的对象几乎马上就没有被引用到了,2是从老对象到新对象的引用变得越来越少(老对象很少依赖新创建的对象)。基于这两点,hotspot vm设计了minor gc和fgc两类分别正对上述两种情况的垃圾回收方式。HotSpot 虚拟机把堆内存划分为几个物理块:年轻代、年老代、永久代。 年轻代:原创 2012-08-12 08:44:07 · 1440 阅读 · 0 评论 -
《java performance》读书笔记之JIT
这一部分的内容其实主要是看了毕玄大师的《分布式java应用基础与实践》得到的总结。如下。 编译是指从一些高级语言生成机器级别的指令的过程。传统的编译器一般是从C或者C++这样的源程序出发,把每个源代码文件编译成一个个对象文件,然后把这些文件连接到一个库或者可执行文件中,使得用户可以执行这些库或者可执行文件。因为编译并不是频繁的任务,所以编译时间在静态编译器上并不是大的约束。j原创 2012-08-26 22:33:19 · 1886 阅读 · 0 评论 -
cpu伪共享问题
CPU内部也会有自己的缓存,内部的缓存单位是行,叫做缓存行。在多核环境下会出现CPU之间的内存同步问题(比如一个核加载了一份缓存,另外一个核也要用到同一份数据),如果每个核每次需要时都往内存中存取,这会带来比较大的性能损耗,这个问题一般是通过MESI协议来解决的。 MESI协议中包含M、E、S、I四个状态,分别的意思是: M(修改, Modified): 本原创 2012-09-23 21:53:48 · 3970 阅读 · 2 评论