深入理解Java虚拟机(第2版)的笔记(14)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • RednaxelaFX

    RednaxelaFX (Script Ahead, Code Behind)

    针对verbose GC log来说: GC日志开头的“[GC”和“[Full GC”说明了这次垃圾收集的停顿类型,而不是 用来区分新生代GC还是老年代GC的。如果有“Full”,说明这次GC是发生了Stop-The-World 的 这句说得不太好。这样说的话就暗指"[GC"不是stop-the-world而"[Full GC"才是stop-the-world了。 实际上这两种前缀还真不是用来区分停顿类型,而是用来区分收集区域的。 "[GC"说明只收集GC堆的..   (1回应)

    2014-02-11 03:39   6人喜欢

  • RednaxelaFX

    RednaxelaFX (Script Ahead, Code Behind)

    由于使用了准确式内存管理,Exact VM可以抛弃掉以前Classic VM基于handler的对象查找方式(原因是GC后对象将可能会被移动位置,如果地址为123456的对象移动到654321,在没有明确信息表明内存中哪些数据是reference的前提下,那虚拟机是不敢把内存中所有为123456的值改成654321的,所以要使用句柄来保持reference值的稳定),这样每次定位对象都少了一次间接查找的开销,提升执行性能。 “基于handler的对象查找方式”这个说法与...   (2回应)

    2013-07-08 17:33   2人喜欢

  • RednaxelaFX

    RednaxelaFX (Script Ahead, Code Behind)

    至此,官方提供的JDK可以运行于Windows(不含Windows 9x)、Linux、Solaris和Mac OS平台上,支持ARM、x86、x64和Sparc指令集架构类型。 这里其实得说清楚一点。目前,Oracle所提供的Java SE的JDK支持这些平台: (以Oracle Java SE 7 update 25为准) http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html Linux ARM v6/v7 Soft Float ABI Linux x86 Linux x86 Linux x64 Linux...

    2013-07-08 15:11   1人喜欢

  • normalhefei

    normalhefei

    volatile 语义: 1. 保证可见性,不保证原子性,java内存模型简要来说分为主内存和工作内存,主内存线程之间共享,而工作内存为每个线程各自独立. 主内存和工作内存之间存在同步问题,但volatile修饰的变量能够确保变量在修改后立即同步至主内存中,这样每个线程读到的值都是最新的 2.避免指令重排序. 指令重排序指的是为了提高程序的执行效率,会在不影响变量最终赋值的情况下,改变程序的代码的执行顺序.在执行结果依赖于代码的执行顺序...

    2016-11-20 20:07

  • prife

    prife (相濡以沫,不如相忘于江湖)

    /代码内容已省略/ /代码内容已省略/ 输出为 /代码内容已省略/ JDK8 101 64位,win8执行效果

    2016-08-21 17:27

  • s.well

    s.well (每周一本书,我永远做不到了。)

    初略读了一遍,感觉很有效果。 让我对GC的调优有了比较直观的概念。 另外关于java线程的理论,介绍的很深入;现在,没有细读。

    2016-01-03 20:43

  • 阿里

    阿里

    总结 垃圾收集算法,除了G1,目前都可分为新生代和老生代算法。这些算法有两个性能侧重点:1. 回收停顿时间;2. 吞吐量。偏向前者的有 CMS 和 G1,CMS 是老生代回收算法。常与 CMS 搭配使用的是 ParNew 算法。偏重吞吐量的算法是 Parellel Scavenge。这是个新生代算法,常与之搭配的老生代算法是 Parellel Old。

    2015-11-02 12:14

  • dhcn

    dhcn (Tech Dreamer)

    看这本书发现:用Java写垃圾代码,做垃圾部署还是很容易发生的事情,特别是对那些只会套用SSH,从来不深究为什么的人

    2015-08-27 21:24

  • RednaxelaFX

    RednaxelaFX (Script Ahead, Code Behind)

    这小节对inline cache的描述很不妥…要知道inline cache是在无法进行method inlining的call site才会用到的啊orz 回头补充细节 如果向CHA查询出来的结果是有多个版本的目标方法可供选择,则编译器

    2014-02-19 08:17

  • RednaxelaFX

    RednaxelaFX (Script Ahead, Code Behind)

    脚注: 老年代GC(Major GC/Full GC):指发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Minor GC(但非绝对的,在Parallel Scavenge收集器的收集策略里就有直接进行Major GC的策略选择过程)。Major GC的速度一般会比Minor GC慢10倍以上。 这里也是写错…常见误解? HotSpot VM的full GC一定是整个GC堆都收集的,包括young、old、perm(如果有perm),而不是只收集old。 请参考我在《Java Performance》书里p11...

    2014-02-12 02:10

<前页 1 2 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

深入理解Java虚拟机(第2版)

>深入理解Java虚拟机(第2版)