![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 93
helloworld_kb
这个作者很懒,什么都没留下…
展开
-
java类加载机制
1.类的生命周期1.1类加载过程Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢?系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析1.1.1加载类加载过程的第一步,主要完成下面3件事情:通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转换为方法区的运行时数据结构 在内存中生成一个代表该类的 Class 对象,作为方法区这些数据转载 2021-01-13 08:27:48 · 214 阅读 · 0 评论 -
JVM垃圾回收
1.JVM内存分配Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是堆内存中对象的分配与回收。Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于现在收集器基本都采用分代垃圾收集算法,所以 Java 堆还可以细分为:新生代和老年代:再细致一点有:Eden 空间、From Survivor、To Survivor 空间等。进一步划分的目的是更好地回收内存,或者更快地转载 2021-01-13 08:24:21 · 522 阅读 · 0 评论 -
java内存区域
1.运行时的数据区1.1程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器就是通过改变这个计数器的值来选取下一个需要执行的字节码指令,分支,循环,跳转,异常处理,线程回复等都需要依赖这个计数器来完成。由于Java的多线程是通过线程轮流切换完成的,一个线程没有执行完时就需要一个东西记录它执行到哪了,下次抢占到了CPU资源时再从这开始,这个东西就是程序计数器,正是因为这样,所以它也是“线程私有”的内存。如果一个线程执行一个JAVA方法,这个原创 2021-01-09 21:21:30 · 193 阅读 · 1 评论