jvm
文章平均质量分 92
zzsaixuexi
学习
展开
-
JVM常用调优参数
虚拟机参数配置什么是虚拟机参数配置常见虚拟机参数配置一、堆设置二、收集器设置三、垃圾回收统计信息四、并行收集器设置五、并发收集器设置原创 2022-01-14 21:31:02 · 222 阅读 · 0 评论 -
JVM 内存结构
一、 JVM体系结构1.1 JVM系统线程1.2 程序计数器1.3 虚拟机栈1.3.1 局部变量表1.3.2 JVM栈帧1.3.3 操作数栈1.3.4 动态链接1.3.5 方法的返回地址1.3.6 附加信息1.4 本地方法栈 Native栈1.5 堆1.5.1 分代策略1.6 内存管理1.6.1 新生代1.6.2 老年代1.6.3 永久代1.7 非堆内存1.8栈内存溢出1.9 堆内存的溢出1.10 堆内存诊断1.10.1 jps指令1.10.2 jmap指令1.原创 2022-01-13 09:17:37 · 241 阅读 · 0 评论 -
内存屏障(cpu内存屏障 与java内存屏障)
CPU 内存屏障定义读写屏障指令为什么会出现内存屏障java内存屏障java内存屏障存在意义java中内存屏障的主要类型LoadLoad 屏障StoreStore 屏障LoadStore 屏障StoreLoad 屏障Synchronized 锁volatile语义中的内存屏障final语义中的内存屏障原创 2022-01-11 23:42:47 · 1008 阅读 · 0 评论 -
JMM Java内存模型
文章目录四、JMM Java内存模型4.1 硬件层的并发优化的基础知识4.2 缓存行和伪共享4.3 乱序问题4.4 乱序证明4.5 如何保证特定情况下不乱序四、JMM Java内存模型4.1 硬件层的并发优化的基础知识寄存器如何读取硬盘中的内容, 首先将硬盘的数据load到内存中,然后寄存器先到高速缓存中去找,如果找到就直接使用,速度是非常快的,如果没找到,就去下层的高速缓存中去寻找,依次类推。假如 有一个数字在主存中,这个数字会被load到L3缓存中,L2和L1高速缓存是在CPU的内部的,原创 2022-01-11 20:41:37 · 333 阅读 · 0 评论 -
如何实现高并发的原子性 可见性 有序性
一、原子性1、原子性原理2、测试代码3原子操作二、可见性1、可见性原理2、测试代码2.1、synchronized和lock 实现可见性2.2、添加volatile关键字实现可见性三、有序性1、有序性原理2、测试代码原创 2022-01-11 22:05:09 · 177 阅读 · 0 评论 -
jvm 之 类加载和初始化
文章目录三、类加载和初始化3.1 Class Cycle3.2 ClassLoader3.3 双亲委派3.4 父加载器3.5 类加载器范围3.6 自定义加载器3.7 编辑器3.8 懒加载面试题:如何打破classloader的双亲委派模式?三、类加载和初始化面试题:描述一下类加载器的层次?双亲委派为什么要双亲委派Class文件 如何加载到内存中的 并且是如何执行的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8VDRdKSX-16原创 2022-01-10 00:53:18 · 339 阅读 · 0 评论 -
jvm 基础到入门 class文件结构
文章目录一 、Jvm 基础到入门1.1 Jvm 基础到入门1.2 从跨平台的语言到跨语言的平台1.3常见的虚拟机二、 Class文件结构2.1 Class file format2.2 Classfile 文件结构解析无符号数:表2.2.1 魔数2.2.2 class文件版本号2.2.3 常量池2.2.4access_flag2.2.5 this_class2.2.6 super_class2.2.7 ByteCode插件安装2.2.8 常量池详细解析常量类型2.2.8.1 案例解析整个常量池在classf原创 2022-01-10 00:47:21 · 235 阅读 · 0 评论