代码改变世界

JVM排查+JMM知识点

2023-05-08 22:57  ly772186472  阅读(78)  评论(0)    收藏  举报
用到的命令:
jps -v

top
top -Hp pid
jstack pid
jstack -l [PID] >/tmp/log.txt
分析堆栈信息

  

 

 

 

 

JMM

https://blog.csdn.net/ChineseSoftware/article/details/119212455

其他点:指令重排的 三种

 https://zhuanlan.zhihu.com/p/455820119

JMMM是
Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的一组规则或者规范。通过这些规则、规范定义了程序中各个变量的访问方式。
jvm运行的程序的实体是线程,而每个线程运行时,都会创建一个工作内存(也叫栈空间),来保存线程所有的私有变量。
而JMM内存模型规范中规定所有的变量都存储在主内存中,而主内存中的变量是所有的线程都可以共享的,
而对主内存中的变量进行操作时,必须在线程的工作内存进行操作,首先将主内存的变量copy到工作内存,进行操作后,再将变量刷回到主内存中。所有线程只有通过主内存来进行通信