日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java c2 compiler_C2中的CompilerThread

發布時間:2023/12/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java c2 compiler_C2中的CompilerThread 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我在java進程(oracle jdk1.7_072)上運行jstack并找到了這些行

"C2 CompilerThread1" daemon prio=10 tid=0x00007f1a8415d000 nid=0x7d72 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x00007f1a8415a000 nid=0x7d71 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

我知道C2是一個字節碼編譯器.我有三個問題:

>為什么有2個編譯器線程?可以或多或少嗎?如果是的話,何時?編譯是否并行運行?

> nid參數是什么意思?第一個nid = 0x7d72看起來類似于java版本,是巧合還是不巧合?

>為什么條件地址是絕對零?

解決方法:

>根據JVM人機工程學自動確定編譯器線程的數量.它可能會根據可用CPU的數量而有所不同.確切的公式可以找到here.可以使用-XX:CICompilerCount = N JVM選項手動覆蓋編譯器線程的數量.

> nid(Native ID)是OS給出的線程的唯一ID.在Linux上,它是gettid()返回的數字.在您的情況下,TID = 0x7d72 = 32114.

> [0x0000000000000000]這里與等待條件無關.括號中打印的是與頁面大小對齊的最后一個已知Java堆棧幀的堆棧指針.由于編譯器線程不是真正的Java線程,因此它沒有最后的Java SP,因此打印為零.

標簽:java,jvm,jit

來源: https://codeday.me/bug/20190713/1453523.html

總結

以上是生活随笔為你收集整理的java c2 compiler_C2中的CompilerThread的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。