小编典典

所有这些线程都属于JVM。

运行jstack 以获取线程列表。

"main" #1 prio=5 os_prio=0 cpu=150.00ms elapsed=8.04s tid=0x00007f9f90011000 nid=0x107 waiting on condition [0x00007f9f99f9f000]

java.lang.Thread.State: TIMED_WAITING (sleeping)

at java.lang.Thread.sleep(java.base@11.0.1/Native Method)

at java.lang.Thread.sleep(java.base@11.0.1/Thread.java:339)

at java.util.concurrent.TimeUnit.sleep(java.base@11.0.1/TimeUnit.java:446)

at com.mycompany.app.Main.main(Main.java:10)

"Reference Handler" #2 daemon prio=10 os_prio=0 cpu=0.00ms elapsed=7.95s tid=0x00007f9f901f9000 nid=0x10e waiting on condition [0x00007f9f6c10f000]

java.lang.Thread.State: RUNNABLE

at java.lang.ref.Reference.waitForReferencePendingList(java.base@11.0.1/Native Method)

at java.lang.ref.Reference.processPendingReferences(java.base@11.0.1/Reference.java:241)

at java.lang.ref.Reference$ReferenceHandler.run(java.base@11.0.1/Reference.java:213)

"Finalizer" #3 daemon prio=8 os_prio=0 cpu=0.00ms elapsed=7.95s tid=0x00007f9f901fd800 nid=0x10f in Object.wait() [0x00007f9f65fef000]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(java.base@11.0.1/Native Method)

- waiting on <0x0000000712108f80> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(java.base@11.0.1/ReferenceQueue.java:155)

- waiting to re-lock in wait() <0x0000000712108f80> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(java.base@11.0.1/ReferenceQueue.java:176)

at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11.0.1/Finalizer.java:170)

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 cpu=0.00ms elapsed=7.93s tid=0x00007f9f90210000 nid=0x110 runnable [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 cpu=40.00ms elapsed=7.93s tid=0x00007f9f90212000 nid=0x111 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

No compile task

"C1 CompilerThread0" #7 daemon prio=9 os_prio=0 cpu=40.00ms elapsed=7.93s tid=0x00007f9f90214000 nid=0x112 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

No compile task

"Sweeper thread" #8 daemon prio=9 os_prio=0 cpu=10.00ms elapsed=7.93s tid=0x00007f9f90216000 nid=0x113 runnable [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"Service Thread" #9 daemon prio=9 os_prio=0 cpu=0.00ms elapsed=7.90s tid=0x00007f9f902d3800 nid=0x114 runnable [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #10 daemon prio=8 os_prio=0 cpu=0.00ms elapsed=7.89s tid=0x00007f9f902df800 nid=0x116 in Object.wait() [0x00007f9f656ef000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(java.base@11.0.1/Native Method)

- waiting on <0x0000000712002df0> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(java.base@11.0.1/ReferenceQueue.java:155)

- waiting to re-lock in wait() <0x0000000712002df0> (a java.lang.ref.ReferenceQueue$Lock)

at jdk.internal.ref.CleanerImpl.run(java.base@11.0.1/CleanerImpl.java:148)

at java.lang.Thread.run(java.base@11.0.1/Thread.java:834)

at jdk.internal.misc.InnocuousThread.run(java.base@11.0.1/InnocuousThread.java:134)

"Attach Listener" #11 daemon prio=9 os_prio=0 cpu=0.00ms elapsed=0.21s tid=0x00007f9f44001000 nid=0x126 waiting on condition [0x0000000000000000]

java.lang.Thread.State: RUNNABLE

"VM Thread" os_prio=0 cpu=0.00ms elapsed=7.95s tid=0x00007f9f901f1000 nid=0x10d runnable

"GC Thread#0" os_prio=0 cpu=0.00ms elapsed=8.01s tid=0x00007f9f90038800 nid=0x108 runnable

"G1 Main Marker" os_prio=0 cpu=0.00ms elapsed=8.00s tid=0x00007f9f90097800 nid=0x109 runnable

"G1 Conc#0" os_prio=0 cpu=0.00ms elapsed=8.00s tid=0x00007f9f90099800 nid=0x10a runnable

"G1 Refine#0" os_prio=0 cpu=0.00ms elapsed=8.00s tid=0x00007f9f9018d000 nid=0x10b runnable

"G1 Young RemSet Sampling" os_prio=0 cpu=0.00ms elapsed=8.00s tid=0x00007f9f9018f000 nid=0x10c runnable

"VM Periodic Task Thread" os_prio=0 cpu=0.00ms elapsed=7.90s tid=0x00007f9f902d6000 nid=0x115 waiting on condition

这nid是操作系统中线程的十六进制ID,您可以将其与的输出匹配pstree。

第一个命名main的线程是执行代码的线程。

Reference Handler线程负责将垃圾收集器发现的弱引用,软引用和幻像引用添加到其注册的ReferenceQueues中。

Finalizerfinalize准备运行的对象的线程运行方法。

Signal Dispatcher等待特定的操作系统信号并处理它们。特别是,它使线程转储上SIGQUIT,还启动对VM关机过程SIGTERM,SIGINT和SIGHUP。

CompilerThreads 执行字节码的JIT编译。

Sweeper thread 清理过时的编译方法。

Service Thread 运行一些后台JVM任务:检测内存不足情况,清理StringTable和SymbolTable,发送延迟的JVMTI事件和GC通知等。

Common-Cleaner运行java.lang.ref.Cleaner实例的清理操作。

Attach Listener线程支持动态附加机制。它侦听传入的动态附加连接并执行VM命令。例如,它是由使用jstack,jmap与jcmd实用程序。

VM Thread运行需要一个内部VM操作还原点。这样的操作的示例是反优化,类重新定义,有偏的锁吊销,线程转储,堆检查等。

G1 线程参与垃圾回收。

VM Periodic Task Thread 用于模拟定时器中断。

2020-10-18

java什么时候新建进程_创建名为“ {java}”的线程(即轻量级进程)是为了什么?...相关推荐

  1. idea 新建的java项目没发run_IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行...

    首先,确保 IDEA 软件正确安装完成,Java 开发工具包 JDK 安装完成. IDEA 的 Java 项目 (Project) 则相当于 Eclipse 的工作空间 (workspace) 的概念 ...

  2. java word批注_创建自己的Java批注

    java word批注 如果您一直在用Java编程并且使用诸如Spring和Hibernate之类的任何流行框架,那么您应该对使用注释非常熟悉. 当使用现有框架时,其注释通常就足够了. 但是,您是否发 ...

  3. 用户进程与内核进程是一一对应的吗_用户线程、内核线程和轻量级进程

    这一篇再继续就线程进行一些更深层次的研究 线程所需的资源 进程中各个线程共享代码.数据和文件等资源,记录线程运行状态的空间(TCB)每个线程单独有一个 每个进程都需要它自己私有的线程控制块(TCB) ...

  4. Linux系统编程35:多线程之如何理解Linux中的线程以及轻量级进程LWP

    文章目录 (1)由"进程"到进程 (2)进程,线程和轻量级进程 A:进程和线程的关系 B:Linux中没有真正意义上的线程 C:轻量级进程-LWP (3)线程的优缺点 A:优点 B ...

  5. potplayer 多个进程_创建守护进程的步骤

    什么是守护进程? 答:守护进程是后台运行的.系统启动是就存在的.不予任何终端关联的,用于处理一些系统级别任务的特殊进程. 实现思路: 实现一个守护进程,其实就是将普通进程按照上述特性改造为守护进程的过 ...

  6. java 管理多个进程_管理多个Java安装

    java 管理多个进程 随着越来越多的Java版本发布,在本地环境中管理多个Java安装将变得更加有趣. 不同的项目可能需要不同的Java版本. jenv项目是管理Java安装的便捷方法. 它可以在全 ...

  7. java编写代码用什么_如何学习用Java编写代码:为什么要学习以及从哪里开始

    java编写代码用什么 by John Selawsky 约翰·塞劳斯基(John Selawsky) 如何学习用Java编写代码:为什么要学习以及从哪里开始 (How to learn to cod ...

  8. java C语言内存占用_使用Cgroup限制Java使用的内存量-思路

    1.      对一个正在运行着的进程来说,在不到达其内存使用量边界的情况下,扩大/缩小其cgroup分配的内存不会对它产生任何影响. 2.      在进程已经使用了一定量的内存的情况下,缩小其cg ...

  9. java 内存溢出的分类_【深入理解Java虚拟机】读后感:JVM内存划分与内存溢出小结...

    扫码关注公众号:Java 技术驿站 发送:vip 将链接复制到本浏览器,永久解锁本站全部文章 [公众号:Java 技术驿站] [加作者微信交流技术,拉技术群] # JVM内存划分与内存溢出小结 # 1 ...

最新文章

  1. ROS控制无人机offboard模式
  2. 用python画图代码比卡丘-Python选修课第二届Turtle绘图大赛 (皮卡丘)
  3. LeetCode Max Points on a Line
  4. markdown 公式_【建议收藏】数学公式如何用Markdown优雅地写出来
  5. 全屏显示的包含webview的页面中弹出的软键盘覆盖输入框的问题
  6. Linux 目录所属组设置,Linux系统用户与组管理命令及配置文件总结
  7. React基础篇(六)React中绑定事件的注意点
  8. 对C语言指针的学习与理解
  9. ASP.NET在Web窗体上输出九九乘法表
  10. 正交设计之正交四原则
  11. 什么是长连接 | 短连接?
  12. WSL2 真香!跟 Sugar 一起搞定 Windows 10 最佳 Linux 伴侣
  13. 2021-02-23 根据RNA-seq测序数据判断文库类型和链特异性
  14. 冬季皮肤暗黄,教你一招变白
  15. poj2528 贴海报
  16. 二进制转化为十进制Java实现
  17. win10录屏有噪音_我的电脑是win10的,用Ev录屏有杂音,之前我调了声卡驱动,就没了,现在重装调了一下又有了...
  18. 详解HTTP协议(二)
  19. 什么是正定矩阵,什么是负定矩阵?判别方法
  20. 用C++生成一个随机数

热门文章

  1. 编码服务正在步入云端
  2. 这才是真正的 Git——分支合并
  3. AI+游戏:高效利用样本的强化学习 | 腾讯AI Lab学术论坛演讲
  4. 开源系统管理资源大合辑
  5. 技术分享:什么是CDN鉴权(by光网烈火)
  6. nginx 源码学习笔记(十)——基本容器——ngx_hash
  7. 俞敏洪:如果创业者缺乏这8种能力,失败可能性很大
  8. javaSE各阶段练习题--数据类型运算符
  9. leetcode 260. Single Number III | 260. 只出现一次的数字 III(位运算:分组异或)
  10. Spring5参考指南:JSR 330标准注解