
JVM
文章平均质量分 77
鲸落ж
出社会2年,呜呜呜呜
展开
-
深入理解并发内存模型
深入理解并发内存模型cpu多核并发与缓存架构早期cpu和主内存是直接打交道的,cpu越来越快,主内存几乎不变,所以加了缓存,JMM内存模型Java多线程内存模型跟cpu缓存模型类似,是基于cpu缓存模型来建立的,Java线程内存模型是标准化的,屏蔽掉了底层不同计算机的区别[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-itwDZja1-1634785473089)(深入理解JVM虚拟机.assets/1634729695571.png)]有一个主内存,有多个线程原创 2021-10-21 11:10:16 · 203 阅读 · 0 评论 -
Java虚拟机性能调优学习
Java虚拟机性能调优java虚拟机真正调优的目的:减少full gc的次数,以及它的执行时间减少STW(StopWorld):停止整个事件垃圾收集线程都是后台线程。用户在操作的过程中可能突然卡顿了一下,然后又回归正常了,可能就是gc了一下。影响系统网站性能,影响用户体验。为什么Java虚拟机要有STW?如果我们没有STW,gc会一直顺着局部变量一直找下去,因为现在没有STW,所以在gc的过程中,这个线程可能就执行结束了,意味着都会出栈,但是math对应的局部变量对应的在堆中还没有销毁,对象是原创 2021-10-14 15:23:11 · 445 阅读 · 0 评论 -
Java虚拟机性能调优工具的使用
Java虚拟机性能调优工具的安装和基础使用1、Visual GC虚拟机自带的Visual GCjvisualvm是JDK提供给我们的一个功能强大的jvm(java虚拟机)监控客户端,默认其并不包含对垃圾回收的监控,我们可以通过其插件扩展的机制为 jvisualvm 增加 Visual GC 的功能,本篇经验就分享一下如何进行相关操作。1、 查看并运行 jvisualvm进入 JDK 的bin目录,找到 jvisualvm 程序运行 jvisualvm,从界面上可以看出,并没有垃圾回收的相关原创 2021-10-14 11:54:21 · 854 阅读 · 0 评论 -
Java虚拟机
Java虚拟机每个线程都会从内存模型的栈中挖一小块去使用。线程运行分配一块自己的线程栈,只要线程开始执行方法,不同的方法有自己不同的局部变量,这些局部变量只在方法作用域内有效,就是因为这样,java虚拟机当执行到方法的时候,就会给自己的方法分配一个专属的内存区域(在它的线程栈上去分配),用来放自己方法内的局部变量。栈帧:给方法的局部变量分配的这一小块空间就叫栈帧。一个方法对应一个栈帧内存空间,放自己方法的局部变量。数据结构栈:先进后出javap -c xxx.class:反编译反编译–原创 2021-10-14 00:49:21 · 117 阅读 · 0 评论 -
arthas报错:Can not find java process. Try to pass in command line
执行java -jar arthas-boot.jar,报了上面的错误解决方法:开两个Xshell端口,先运行一个jar,再在另一个端口运行java -jar arthas-boot.jar进行监控,他会让你选择进程号:最后就成功了原创 2021-10-14 11:26:46 · 1693 阅读 · 1 评论