我在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相关推荐

  1. java 正则regex_Java中的正则表达式– Java Regex示例

    java 正则regex Welcome to Regular Expression in Java. It's also called Regex in Java. When I started p ...

  2. 优化Java动画编程中的显示效果

    优化Java动画编程中的显示效果 作者:赵福军 曹代勇 李青云 发文时间:2002.11.12 09:32:33 Java动画编程有多种实现方法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧 ...

  3. Java 并发编程中的死锁 ( Kotlin 语言讲解)

    什么是死锁? 在操作系统中的并发处理场景中, 进程对资源的持有与请求过程中,会产生死锁. Say, Process A has resource R1 , Process B has resource ...

  4. java从字符串中提取数字

    1.做一下操作时会一般会用到提取数字操纵: a.列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b.当新添加的数据放在第一条或者最后一条时,则不需要翻页,只 ...

  5. JAVA Web项目中所出现错误及解决方式合集(不断更新中)

    JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...

  6. Java类Demo中存在_Java中的数据类型转换

    先来看一个题: Java类Demo中存在方法func0.func1.func2.func3和func4,请问该方法中,哪些是不合法的定义?( ) public class Demo{ float fu ...

  7. Java数据结构一 —— Java Collections API中的表

    1.Collection接口 位于java.util包中,以下是重要的部分. 1 public interface Collection<AnyType> extends Iterable ...

  8. Java之戳中痛点 - (4)i++ 和 ++i 探究原理

    先看一个例子: package com.test;public class AutoIncrement {public static void main(String[] args) {int a=7 ...

  9. IDEA报错解决:Error:(33, 35) java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)

    晚上在用IDEA的时候遇到了报错: Error:(33, 35) java: -source 7 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式) ...

最新文章

  1. 【PostMan】1、Postman 发送json格式请求
  2. Python 技术篇 - 文件的读取和写入
  3. LVS原理详解及部署之五:LVS+keepalived实现负载均衡高可用
  4. CSS3 border-image的使用方法
  5. python 中的__getattr__和__setattr__
  6. SSM框架整合druid查看监控数据
  7. 转:PHP网站在Linux服务器上安全设置方案
  8. 网页图片处理代码全集整理
  9. 视图与表之间的异同点_视图和表的区别和联系
  10. python打印文件到字符串_请问Python打印字符串到文本文件
  11. css伪类选择器,:link、:visited、:focus、:hover、:active、:first-child
  12. 我的世界会员特效在服务器显示,腐竹教你在游戏中制作登录提示效果
  13. linux console 下载 jdk
  14. [FJWC2018]欧拉函数
  15. python自动化转码屏幕录像专家exe为mp4
  16. vue面试题整理(2022-持续更新中...)
  17. 甲骨文再传裁员,补偿N+6,昔日硅谷巨头缘何败走中国
  18. SPSS描述性统计--非连续变量的描述统计
  19. B站粉丝数监控(Python实现)
  20. 赚一辈子的钱,还是一辈子赚钱? 掌握下一个财富分配周期的法则

热门文章

  1. 李宏毅机器学习笔记第14周_生成式对抗网络(GAN)
  2. 用让新海诚本人惊讶的 AI 模型制作属于你的动漫视频
  3. android 编程klinon,一些常见的知识(四) - 393858338的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 计算机教师个人业绩成果自述,个人评价自述
  5. 荣耀9i升级鸿蒙,千元小萌脸 荣耀9i实力非凡
  6. php7.4 源码安装
  7. Beyond Compare忽略时间对比
  8. 在 阿里云ECS 上安装 CDH6.2 standalong
  9. 安卓逆向之双剑合璧实现内存扫描
  10. SpringMVC---Handler到底是个什么?及流程详解