![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 77
风吹落叶余花香
这个作者很懒,什么都没留下…
展开
-
JVM(java虚拟机)内存结构
jvm的内存结构是jvm在执行字节码的时候所需要的内存区域。图不想插了,手动画个图:--------------------------------------堆 | java栈 |方法区 | 本地方法栈 | | 程序计数器 |---------...原创 2019-08-29 10:40:09 · 201 阅读 · 0 评论 -
对象的结构及整个运行过程
类的整个生命周期:加载-链接(验证-准备-解析)-初始化-使用-结束下图表示的是从new开始,类jvm操作的步骤。大体思路就是,先去常量池中找有没有被编译过,如果发现已经编译过了。直接复制一份,将类的各种变量,常量都初始化一遍。然后调用<init>方法。注意:这个方法是合成的,会在类编译中讲解这里不详细说明。如果没有,就开始进行类编译过程。类编译省略,会写详细的编译文档...原创 2019-08-29 13:15:52 · 195 阅读 · 0 评论 -
垃圾回收(GC)流程
摘要: 垃圾回收这一步对于jvm十分重要,内存管理虽然不用手动管理,但是对于查错确实,排错确是十分重要哦!大致流程:允许GC之后(注意,发动GC也是需要一定的要求步骤,不详细展开,会另写博客进行说明)-> 开始查找那些允许被回收的(两个算法)-> 开始回收(四个算法)上述是简单的流程,根据不同的垃圾回收器,用到的思想大致如此,具体实现步骤不同。有请提示:垃圾回...原创 2019-08-30 13:11:02 · 6090 阅读 · 3 评论 -
java对象的创建、内存分布(结构)、访问定位
一、对象的创建对象的实例是分配在堆内存当中,主要说创建。创建有两种方法,一个是指针碰撞,一个是空闲列表。指针碰撞:有一段连续的区间,边界是两个指针(假设左右指针),分配一个对象,分配的地方就移动一定的字节数。如果发现左指针移动一定量的字节数后已经跟边界的右指针接触越过了,就会分配失败。(左右是相对的)一边分配,一边垃圾回收,肯定会产生空间碎片,空间碎片的大小可能有足够大的空间在里面...原创 2019-09-16 17:41:20 · 408 阅读 · 0 评论