java task 线程_jstack看tomcat线程

java task 线程_jstack看tomcat线程我们经常见到类似的jstack信息”main”#1prio=5os_prio=31tid=0x00007fa63900c800nid=0x1703waitingoncondition[0x00007000002190

我们经常见到类似的jstack信息

“main” #1 prio=5 os_prio=31 tid=0x00007fa63900c800 nid=0x1703 waiting on condition [0x0000700000219000]

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

at java.lang.Thread.sleep(Native Method)

at Test.main(Test.java:5)

nid=0x1703 nid我们都知道是其实就是进程id。

那tid呢,tid=0x00007fa63900c800 还这么大的一个数字

有人说这个就是java自己的线程id啊,Thread.getId()啊

然后我就测试了下,

public static void main(String[] args) throws Exception {

System.out.println(“————-“+Thread.currentThread().getId());

结果是————-1

多创建几个线程看看,线程id是9啊,10啊,规律就是从1开始一直递增的。

和tid=0x00007fa63900c800 这么大的数字完全对不上啊。

同事给我一个提示,这是不是个内存地址啊。

好像是哦,正好是16个16进制,转成2进制就是16*4=64位,内存地址也是64位。

然后就是使用hsdb工具来查看了:

0218e723b2d5?from=timeline&isappinstalled=0

image.png

0218e723b2d5?from=timeline&isappinstalled=0

image.png

确实是个内存地址,但是不是线程栈开始的位置,而是比较靠后的位置。

这个位置具体是什么意思就后面有机会再看了。

今天的文章java task 线程_jstack看tomcat线程分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/62473.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注