JVM
821770300
这个作者很懒,什么都没留下…
展开
-
JMV-GC
何为垃圾,怎么被回收,如何选择。 1.垃圾定义 JVM 2种定位垃圾方法: 引用计数 以上对象都有引用, 2.根可达: X1 X2 X3 是根可达对象,不是垃圾对象;但是因为X4 X5为相互引用 但是根不可达所以定为垃圾 2.如何回收 肯定是通过垃圾回收器!!! 常用的垃圾回收器组合(一般根据内存或者业务划分): 假如内存比较小 1G一下 使用单线程的Serial+SerialOld 内存1-8G 使用PS(Par...原创 2020-08-06 11:29:36 · 180 阅读 · 0 评论 -
JMM
一、了解CPU内存工作模式 1.CPU 有高速缓存 网上帖子一堆 大概有L1 L2 L3 CPU多核 所以存在数据一致性 CPU数据一致性为 MESI+总线锁(也有其他算法) 2.CPU 的缓存存储单元 cacheline 64byte CPU读取都是读取一块64字节 不是单独读取某个字节 所以当多个线程 读取同一个内存块 因为数据一致性所以会频繁刷新内存 如图: 代码示例: ...原创 2020-07-16 20:46:50 · 224 阅读 · 0 评论 -
JVM-类加载
加载过程:loading->linking(Verification,Preparation,Resolution)->initializing loading:双亲委派加载,为了安全性(自定义类加载器 然后加载jdk自带的类 比如String 具有破坏性) 加载流程如图1-1 1-1 源码如图1-2 图1-2 ...原创 2020-06-30 22:10:13 · 973 阅读 · 0 评论 -
JVM-class文件
1. 创建项目 编译成class文件 通过javap 命令 查看 编译后的文件。 命令:javap -v xx.class 如图 1-1 或者安装插件 jclacclib 查看 如图1-2 图1-1 图1-2原创 2020-06-29 13:48:13 · 91 阅读 · 0 评论