![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 93
JVM的详细介绍
張義帥
喜欢交朋友大家一起交流一下呢~
展开
-
玩转 JVM 中的对象及引用
玩转 JVM 中的对象及引用前言一、JVM 中对象的创建过程2、对象的内存分配1).检查加载2).分配内存3、指针碰撞4、空闲列表5、并发安全6、CAS 机制7、分配缓冲二、对象的内存布局1、句柄2、直接指针3、判断对象的存活4、引用计数法5、可达性分析三、各种引用1、强引用2、软引用 SoftReference3、弱引用 WeakReference4、虚引用 PhantomReference四、对象的分配策略1、栈上分配2、逃逸分析3、对象优先在 Eden 区分配4、大对象直接进入老年代五、长期存活对象.翻译 2021-08-16 15:23:59 · 681 阅读 · 0 评论 -
深入理解JVM的内存区域
JVM知识点二前言一、深入理解 JVM 的内存区域1、深入理解运行时数据区2、总结一下 JVM 运行内存的整体流程二、从底层深入理解运行时数据区1、堆空间分代划分2、GC 概念3、JHSDB 工具三、从底层深入理解运行时数据区1、深入辨析堆和栈(1)、功能(2)、线程独享还是共享(3)、空间大小2、虚拟机内存优化技术(1)、栈的优化技术——栈帧之间数据的共享3、内存溢出(1)、栈溢出(2)、堆溢出(3)、本机直接内存溢出四、常量池(1)、Class 常量池(静态常量池)1)、字面量2)、符号引用(2)、运.原创 2021-08-08 21:13:39 · 879 阅读 · 0 评论 -
虚拟机的前世今生和JVM内存区域
JVM知识一前言一、JVM 基础知识1. Java 程序的执行过程2. JVM、JRE、JDK 的关系二、JVM 的内存区域1.运行时数据区域2.JAVA 方法的运行与虚拟机栈3.虚拟机栈(1).局部变量表:(2).操作数据栈:(3).动态连接:(4).返回地址:4.程序计数器三、运行时数据区及 JVM 的整体内存结构1.本地方法栈2.方法区3.符号引用四.常量池与运行时常量池五.元空间六.堆七.直接内存(堆外内存)总结前言JVM从基础到精通,玩转JVM一、JVM 基础知识1. Java 程序.翻译 2021-08-02 18:08:58 · 316 阅读 · 0 评论 -
JVM性能优化下
JVM性能优化下:jvm调优的本质:并不是显著提高系统的性能,不是说你调了,性能能提升几倍或者上百倍,jvm调优主要调的是稳定GC调优原则:1.大多数java应用不需要调优2.大部分需要GC调优的,不是参数的问题,是代码的问题3.在实际使用中,分析GC情况优化代码比优化GC参数多的多4.GC调优是最后的手段目的:GC的时间够少GC的次数够少发生Full GC的周期足够长,时间...原创 2020-04-27 15:49:53 · 116 阅读 · 0 评论 -
JVM性能优化
JVM性能优化:内存溢出:程序在申请内存时,没有足够的空间栈溢出:方法死循环调用,不断建立线程堆溢出:不断创建对象,分配对象大于最大堆的大小方法区溢出:在经常动态生产大量Class的应用中内存泄漏:程序在申请内存后,无法释放已申请的内存空间长声明周期的对象持有短生命周期对象的引用链接未关闭变量作用域不合理内部类持有外部类Hash值改变内存泄漏与内存溢出的区别内存溢...原创 2020-04-27 15:49:11 · 85 阅读 · 0 评论 -
JVM垃圾回收算法和回收器
JVM垃圾回收算法和垃圾回收器判断对象的存活:引用计数法,优点,快方便,简单,缺点对象互相引用,很难判断该对象是否回收可达性分析(java中使用):通过GCRoots,当一个对象到GCRoots没有任何引用链相连,则证明此对象不可用finalize,使对象不被jvm回收,但是jvm不能保证各种引用强引用:=赋值的软引用SoftReference:垃圾回收器在内存充足的情况下不去回...原创 2020-04-22 14:26:52 · 140 阅读 · 0 评论 -
JVM中的对象
JVM中的对象对象的分配检查加载:先执行相应类的加载过程分配内存:根据方法区的信息确定为该类分配的内存空间大小指针碰撞(java堆内存空间规整的情况下使用)空闲列表(java堆空间不规整的情况下使用)上面两点存在的问题:并发安全解决:cas操作,分配缓存内存空间初始化:虚拟机需要把分配到的内存空间都初始化为零值(int 为0 boolean 为false)设置:虚拟机要对对象进...原创 2020-04-21 18:20:20 · 92 阅读 · 0 评论 -
JVM内存结构
JVM内存结构运行时数据区域:线程私有:程序计数器:指明当前线程执行的字节码行数,如果是native方法这个计数器是null栈:是一种数据结构,先进后出虚拟机栈:一个线程中如果有多个方法时,一个有一个栈帧局部变量表:用于存放局部变量操作数栈:就是一个栈动态链接:java语言多态性返回地址:正常返回本地方法栈:本地方法栈native方法调用JNI到了底层线程共享:堆/方法区...原创 2020-04-21 11:15:07 · 88 阅读 · 0 评论