![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
jvm学习笔记
梓莘
zero-->hero 理性+理智。记住一句话:越努力,越幸运。犯其至难,图其至远。努力规划,实现自我。↖(^ω^)↗
展开
-
【JVM】内存管理- OutOfMemoryError异常
堆内存溢出异常测试package com.zixin.jvm;import java.util.ArrayList;import java.util.List;/** * @ClassName Test1 * @Description TODO * @Author zishen * @Date 2020/1/9 17:45 * @Version 1.0 **/publ...原创 2020-01-13 18:52:11 · 366 阅读 · 0 评论 -
【JVM】内存管理-HotSpot虚拟机
HotSpot虚拟机在Java堆中对象分配。布局和访问的全过程。对象的创建在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢?当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号...原创 2020-01-13 18:50:05 · 381 阅读 · 0 评论 -
【JVM】内存管理-运行时数据区域
内存管理对于C,C++程序员既拥有每一个对象的所有权,又担负着每一个对象声明从开始到终结的维护。对于Java程序员在虚拟机自动内存管理的帮助下,不需要为每个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,这样也带来了一个新的问题,一旦出现,不好排查。运行时数据区域根据Java虚拟机规范,Java虚拟机锁管理的内存将会包含如下几个运行时数据区方法区...原创 2020-01-13 18:47:59 · 105 阅读 · 0 评论 -
【JVM】类加载器
在Java中,类型的加载、连接与初始化过程是在程序运行期间完成的.提供了更大的灵活性,增加了更多的可能性.加载:查找并加载类的二进制数据,常见的有将已经存在的字节码文件加载到内存。连接:验证:确保被加载的类的正确性准备:为类的静态变量分配内存,并将其初始化为默认值解析:把类中的符号引用转换为直接引用初始化:为类的静态变量赋予正确的初始值使用卸载...原创 2020-01-13 18:43:25 · 600 阅读 · 0 评论