
JVM+JMM
Java虚拟机系列
风暴计划
一枚代码小菜鸟
展开
-
2020-12-28
为了(1)总线加锁的方式。(2)缓存一致性协议的方式(CPU中数据的最小存储单元是缓存行。MESI:是指缓存行中的数据的四种不同状态。M-修改,E-互斥,S-共享,I-无效)。总线嗅探机制:CPU1在从主内存中读取完X之后,会把该数据存在CPU1的缓存行中,CPU Cache概述随着CPU的频率不断提升,而内存的...原创 2020-12-28 09:42:00 · 172 阅读 · 0 评论 -
常用的JVM命令
jpsjstat -gcutil PID 1000jinfo -flag UseTLAB PIDps -ef|grep java|tr ' ' '\n'|grep '\-X' --color// 远程机器sudo -iu sankuaitar -czf heap_trace.txt.tar.gz heap_trace.txtsftp chenmengmeng@jumper.sankuai.comsftp> put heap_trace.txt.tar.gzls...原创 2020-11-17 15:43:28 · 1159 阅读 · 0 评论 -
深入理解java虚拟机课程的截图-7-中篇-宋红康老师
【来自B站视频:https://www.bilibili.com/video/BV1PJ411n7xZ?p=204】原创 2020-10-31 18:31:44 · 215 阅读 · 1 评论 -
JVM性能诊断基础篇-JDK8
参考:(1)Java对象头详解:https://www.jianshu.com/p/3d38cba67f8b(2)GC分代年龄为什么是15:https://blog.youkuaiyun.com/qq_32099833/article/details/103721326原创 2020-10-30 20:00:20 · 219 阅读 · 0 评论 -
深入理解java虚拟机截图汇总
平常看文章时遇到的一些不错的图示,保存下来留作纪念。原创 2020-10-30 17:10:51 · 233 阅读 · 0 评论 -
深入理解java虚拟机课程的截图-6-宋红康老师
【来自B站视频:https://www.bilibili.com/video/BV1BJ41177cp?p=169】【JDK逐渐演进时,不同版本的变化点在哪里:http://openjdk.java.net/jeps/0】【垃圾收集器官方文档:https://www.oracle.com/technetwork/java/javase/tech/memorymanagement-whitepape..原创 2020-10-03 19:45:37 · 468 阅读 · 1 评论 -
深入理解java虚拟机课程的截图-5-宋红康老师
【来自B站视频:https://www.bilibili.com/video/BV1BJ41177cp?p=154】//测试不同情况下的GC。结果很妙,可以亲自测试下。public class LocalVarGC { public void localvarGC1() { byte[] buffer = new byte[10 * 1024 * 1024];//10MB System.gc(); } public原创 2020-10-03 12:06:25 · 311 阅读 · 0 评论 -
深入理解java虚拟机课程的截图-4-宋红康老师
【来自B站宋红康老师的视频:https://www.bilibili.com/video/BV1BJ41177cp?p=134】...原创 2020-10-02 20:04:17 · 354 阅读 · 0 评论 -
深入理解java虚拟机课程的截图-3-宋红康老师
【B站视频:https://www.bilibili.com/video/BV1BJ41177cp?p=118】原创 2020-10-01 23:43:17 · 321 阅读 · 0 评论 -
深入理解java虚拟机课程的截图-2-宋红康老师
B站视频:https://www.bilibili.com/video/BV1BJ41177cp?p=66(谁空谁是SurvivorTo区。与之对应的是SurvivorFrom区。)【JVM参数官网:https://docs.oracle.com/javase/8/docs/technote...原创 2020-09-30 21:13:41 · 357 阅读 · 0 评论 -
深入理解java虚拟机课程的截图-1-宋红康老师
JMM:java内存模型。原创 2020-07-18 22:02:57 · 399 阅读 · 0 评论 -
JVM快速入门
JVM快速入门-内容来自视频:https://www.bilibili.com/video/BV1iJ411d7jS?from=search&seid=13827348551626757529(1)dump内存文件分析工具:JProfile下载:https://www.ej-technologies.com/products/jprofiler/overview.html(2)Idea中安装JProfile插件:...原创 2020-09-26 17:38:46 · 185 阅读 · 0 评论 -
双亲委派机制
1、什么是双亲委派机制当某个类加载器需要加载某个.class文件时,它首先把这个请求任务委托给它的上级类加载器,递归这个操作,如果上级类加载器都没有加载,自己才会去加载这个类。2、类加载器的类别(1)启动类加载器:BootStrapClassLoaderc++编写,加载java的核心库 java.*,构造ExtClassLoader和AppClassLoader。由于启动类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。(2)...原创 2020-09-26 10:19:32 · 744 阅读 · 0 评论 -
volatile关键字及其原理+并发编程的三大特性:原子性/可见性/有序性
转载自:https://blog.youkuaiyun.com/emmmsuperdan/article/details/81564412目录1、介绍线程之间读取数据的流程2、原子性3、可见性:4、有序性:5、开始介绍volatile关键字的作用:6、 volatile(应用场景)和synchronized关键字的区别:(volatile修饰变量,synchronize修饰方法或者一个代码块)7、上面三点的缩写8、 原理首先了解一下并发编程的一些内容:1、介绍线程之间读取数据原创 2020-09-21 22:32:54 · 280 阅读 · 0 评论 -
JVM底层原理+四大垃圾回收算法详解-周阳老师
转载自,感谢原作者:https://www.jianshu.com/p/9e6841a895b4注意:垃圾回收算法周阳老师讲的有错误,具体在p19,四大垃圾回收算法为复制算法、标记-整理算法、标记-清除算法、分代收集算法(不是引用计数算法)。这里感谢@9c0bd0ceebfa指出。下文已经更正正确,请放心食用。============================================================================================转载 2020-07-16 21:15:59 · 709 阅读 · 0 评论 -
JVM内存区域划分详解2017年
为防止忘记,摘抄自:https://blog.youkuaiyun.com/JackCaptain1015/article/details/71195010本文吸取《深入理解java虚拟机》与多篇博客精华详细解说了JVM中内存划分的情况。大多数 JVM 将内存区域划分:(1)Method Area(Non-Heap)(方法区) ——线程共享(2)Heap(堆) ——线程共享(3)Program Counter Register(程序计数器) ——非线程共享(4)VM Stack(虚拟...转载 2020-07-13 18:02:18 · 256 阅读 · 0 评论