05-堆内存分代

2020-10-16
阅读 2 分钟
1.2k
如果没有分代,那么所有的对象都会放在一块内存区域中,GC的时候寻找垃圾对象,就需要对整个内存区域进行扫描,这样会很大程度上影响GC效率,在Java中,很多对象都是 “朝生夕死” 的,如果把内存空间划分区域的话,将新创建的对象放到某个区域中,GC的时候优先回收这部分 “朝生夕死” 的对象,这样就会腾出很大的空间来。

04-垃圾回收算法

2020-10-16
阅读 1 分钟
1.1k
标记清除算法,顾名思义就是先标记,再清除,是最基础的一种垃圾回收算法,先标记就是说先把内存区域里的可回收的对象标记出来,然后把这些垃圾清除掉。就会腾出一片内存区域来,等待再次被使用,但是这样存在一个问题,就是内存碎片。

03-JVM垃圾回收机制

2020-10-16
阅读 3 分钟
1.2k
前面在jvm组成结构一文中,说到了GC和一些算法,那么在这篇文章里,就详细说说GC的常用算法。垃圾回收(Garbage Collection,GC),就是将垃圾回收,避免过于占用内存空间,导致内存泄漏,对内存堆中已经死亡或者长时间没有使用的对象进行清除和回收。既然是垃圾回收,那么如何判断哪些对象是垃圾,需要被回收呢?

02-类加载流程以及双亲委派机制

2020-10-16
阅读 4 分钟
3.8k
每一个Java过程都离不开类的影子,那么类的加载过程是怎么样的呢?在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。 Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们编写的Java源代码被编译器编译成.class的字节码文件。然后由我们的ClassL...

01-初识JVM的组成结构

2020-10-16
阅读 2 分钟
2.1k
JVM是Java Virtual Machine(Java虚拟机)的缩写,是指负责将字节码解释成为特定的机器码进行运行,值得注意的是在运行过程中,Java源程序需要通过编译器编译为.class文件,否则JVM不认识。