![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 83
轻描淡写灬
No news is good news!!!
展开
-
JVM学习之对象访问模式
Java对象访问模式一、引用数据类型Java的引用数据类型是最为重要的数据处理模型,而整个的引用数据类型处理数据的时候会牵扯到:堆内存、栈内存、方法区。以一个最简单的程序为主:实例化一个Object类对象Object obj = new Object();“Object obj”:描述的是在栈内存之中,保存的有堆内存的引用。严格来说,这个数据会保存在本地变量表中。 表中会描...原创 2018-07-11 13:59:53 · 164 阅读 · 0 评论 -
JVM学习之Java类加载
Java类加载我们知道,java源代码(*.java)不能直接执行,我们需要通过java编译器javac.exe将源代码编译为java字解码文件(*.class),然后再通过java.exe在JVM中解释此程序。一、Java程序执行流程 二、类加载器(ClassLoader) 类加载器有以下几种类型:1、启动类加载器(Bootstrap ClassLoader):该Cla...原创 2018-07-11 16:25:26 · 167 阅读 · 0 评论 -
JVM学习之内存模型
JVM学习之内存管理一、运行时数据区分为以下几块空间:1、堆(Heap):保存所有引用类型的真实数据2、栈(VM Stack):基本类型、运算、指向堆内存的指针3、方法区(Method Data Area):所有定义的方法的信息都保存在方法区之中,此区为共享区。4、程序计数器:是一个非常小的内存空间。5、本地方法栈:每次执行递归方法处理的时候实际上都会将上一个方法入栈二、J...原创 2018-07-12 18:18:53 · 156 阅读 · 0 评论 -
JVM学习之GC流程和GC策略
新生代可用GC策略串行GC并行回收GCSTW:在年轻代使用并行GC处理的时候,会产生一个“STW”暂停,在进行对象 回收的时候所有其他线程将被暂时性挂起。并行GC老年代可用GC策略串行GC并行GC并发GCGC策略参数调整:观察GC策略一、默认策略java String str = "showGCStrategy"; while (tr...原创 2018-07-12 23:28:29 · 8308 阅读 · 1 评论 -
JVM学习之G1回收器
G1 收集器不区分年轻代或老年代,所有的堆内存就是一块。但是会划分出不同的子区域。虽然在G1收集器里面将整个内存区域都混合在了一起,但是其本身在小范围内依然进行了年轻代和老年代的区分,就是说依然会采用不同的GC策略来处理不同的内存域。 G1 回收流程:年轻代的处理流程 1、先对内存空间进行子区域划分。2、对子区域中需要清理(包括一些满的,未满的子区域)的年轻代内存空...原创 2018-07-13 22:36:24 · 973 阅读 · 0 评论 -
JVM学习之引用类型
Java引入类型强引用:当内存不足的时候,JVM宁可出现OutOfMemoryError,也不会将内存回收。强引用是JVM默认的支持模式,即:在引用期间,如果该堆内存被栈内存所指向,那么该对象无法被GC回收,如果出现内存空间不足,就会抛出 “OutOfMemoryError”。public static void main(String[] args) { Object o ...原创 2018-07-14 16:13:03 · 165 阅读 · 0 评论