240 发简信
IP属地:北京
  • shell,exec,source执行脚本的区别

    在UNIX/Linux中,经常需要写脚本执行自动化工作。执行脚本有多种方式,可以通过sh,source或者exec。这些方式有一些区别,需要根据需求选择合适的方式。 sh方式...

  • 正常流程该是new 字节码处会有 safepoint check.
    如你所说的. 已经在gc了. 那当前状态就不应该在运行了. ( NAtive代码除外)
    所以假设不成立. 实际可能的情况是:
    当前的new字节码会进行safepoint check . 而进行check的时候 会发现有 stop-the-word 请求.(也就是前面的gc) 那就会先停在这里.直到gc完成.
    注意: 这里的gc状态是 wait for all thread to stop . 不是已经处于gc状态.

    gc线程应该要等所有的线程停下来(有例外)后才能进行gc.

    JVM源码分析之安全点safepoint

    简书 占小狼转载请注明原创出处,谢谢! 上周有幸参加了一次关于JVM的小范围分享会,听完R大对虚拟机C2编译器的讲解,我的膝盖一直是肿的,能记住的实在有点少,能听进去也不多1...

  • 假死是进入了for循环?还是sleep了?还是阻塞了.
    1. for循环会有加边的地方加入 safepoint check. 从而防止无法停下来.
    2. sleep了.会有安全区. 在进入sleep前会进入 safe region.

    JVM源码分析之安全点safepoint

    简书 占小狼转载请注明原创出处,谢谢! 上周有幸参加了一次关于JVM的小范围分享会,听完R大对虚拟机C2编译器的讲解,我的膝盖一直是肿的,能记住的实在有点少,能听进去也不多1...

  • 感觉 `SafepointSynchronize::begin()`更像是一般意义的 stop-the-word操作.
    而不是一般语文的 enter_safe_point() 的安全点check

    JVM源码分析之安全点safepoint

    简书 占小狼转载请注明原创出处,谢谢! 上周有幸参加了一次关于JVM的小范围分享会,听完R大对虚拟机C2编译器的讲解,我的膝盖一直是肿的,能记住的实在有点少,能听进去也不多1...

  • 丑,不是一般的丑.只能说聊胜于无.

    confluence如何插入代码及如何插入markdown格式文件

    点击Insert more content 图标 点击Other macros 3.点击Code Block即可编辑插入代码,如果选中Markdown即可选中插入编辑Mark...