• 誓言的梦
    2018-12-19
    有除零的异常 是通过什么手段/机制知道 还是写死的除法不能优化 或者回不回是通过 检测当输入除数为0就不优化 输入不为0时才优化
    
     3
  • 小文同学
    2018-09-20
    老师,请问一下,读这个专栏有点像涨视野的感觉,暂时来说对我看代码提供了新的灵感,但目前只能听,没法提问,这种感觉是是因为我底子不够么?还是我实践得比较少?

    作者回复: 按照自己的节奏学习就好啦,等以后遇到问题了也可以回来提问的。

    
     2
  • 永烁星光
    2018-09-17
    希望老师推荐一本 JVM 书籍,(除了《深入理解java 虚拟机》,因为我发现最新出版也是2013年的)
     1
     1
  • 三木子
    2018-09-14
    除法操作直接消除,返回return x+y;    ?

    作者回复: 消除不了,有位同学答出来了,有除零异常

    
     1
  • Scott
    2018-09-14
    "其中真正的安全点测试是 0x06ba 指令"应该是0x06b7指令

    作者回复: 多谢指出!已修改!

    
     1
  • 随心而至
    2019-10-29
    JVM, 将字节码转成机器码,想深入了解挺难的,不过掌握其中的核心部分应该就够用了,毕竟咱不是JVM工程师,各有分工。
    
    
  • Joker
    2019-08-16
    越走到后面就是天书啊,一篇文章至少三遍
    
    
  • colin
    2019-05-29
    越了解,发现自己懂得越少
    
    
  • xingoo
    2019-05-20
    字段缓存
    存储优化
    死代码消除:冗余代码,不可达代码
    
    
  • 『LHCY』
    2019-01-14
    不知道现在发还会不会回复。
    while(a.flag){
        System.out.println();
    }
    这种方式,在flag没有被volatile多线程方式修改flag=false会退出循环,是因为打印函数中的锁阻止了字段优化吗
    
    
  • o
    2018-10-05
    大佬,可否专门开一章讲讲对象的属性会在那些时候触发更新主存/用户内存?分别是单线程不同方法,多线程不同方法、多线程相同方法。是否和方法体大小也有关系?例如就是在该篇文章中,如果while的代码块足够简单就会形成死循环,但是如果加了输出语句就不会(之前测试volatile关键字的时候遇到过,晚点贴一下主要代码🙏)
    
    
  • 永烁星光
    2018-09-14
    Return x+y ;

    作者回复: 课后实践中的除法无法优化,因为可能存在除零异常。即时编译器需要判断除数是否为0

    
    
  • Void_seT
    2018-09-14
    因为x/y会有除0异常,这部分代码是否会被优化掉,不太确定,望老师指点。

    作者回复: 对的,因为有除0异常所以编译器没法优化掉这个除法

    
    
  • Scott
    2018-09-14
    这一篇洋洋洒洒,其实覆盖了更多后端优化的算法,是否可以罗列一下对应算法名称供参考?

    作者回复: 我记得就叫read elimination和write elimination。第三节的是dead store elimination和partial redundancy elimination。

    Graal的相关代码在PEReadEliminationClosure以及ReadEliminationClosure中。可以自行阅读。

    
    
  • 三木子
    2018-09-14
    感觉写代码的能力水平跟编译器优化工作量还是有点关系的。

    作者回复: 一般我们写代码都会在保持代码可读性的同时,尽量减少编译器工作量

    
    
我们在线,来聊聊吧