![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java虚拟机
小杨的小胡呀
写博客主要是把忘记的找回来,记忆力太差了,也能锻炼一下语言能力,其乐融融
展开
-
Java虚拟机------垃圾回收(三)
Jvm垃圾回收目前就准备了这三篇博文进行整理,在写博文的过程中我也是边看边记载的,我觉得这种学习方式更容易让人记住,不会轻易忘记。以前的学习模式都是看PDF文档、看书等,但是有个缺点就是当时记住了过段时间就会忘记,因此想把学习过程中重要的部分做个笔记总结,以便于后期复习回顾(学习技巧仅个人观点)同时也希望lz的博客能帮助到广大园友一丢丢。在此立个Flag!以后我会坚持写博客的。哈哈--好了 接下来...原创 2019-11-20 19:02:55 · 105 阅读 · 0 评论 -
Java虚拟机------垃圾回收(二)
在《Jvm垃圾回收器(一)》中我们主要学习了判断对象是否存活还是死亡?两种基础的垃圾回收算法:引用计数法、可达性分析算法。以及Java引用的4种分类:强引用、软引用、弱引用、虚引用。和方法区的回收介绍。 那么接下来我们重点研究下虚拟机的几种常见的垃圾回收算法:标记-清除算法、复制算法、标记-整理算法、分代收集算法。 一:标记-清除算法 最基础的收集算法,总共分为‘ 标记 ’和‘ 清除 ...原创 2019-11-20 19:00:10 · 62 阅读 · 0 评论 -
Java虚拟机------垃圾回收(一)
一:概述 在这篇文章中《Jvm运行时数据区》介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈,3个区域随着线程的生存而生存的。内存分配和回收都是确定的。随着线程的结束内存自然就被回收了,因此不需要考虑垃圾回收的问题。而Java堆和方法区则不一样,各线程共享,内存的分配和回收都是动态的。因此垃圾收集器所关注的都是这部分内存。 接下来我们就讨论Jvm是怎么回收这...原创 2019-11-20 18:58:49 · 129 阅读 · 0 评论 -
Java虚拟机------运行时数据区
一:运行时数据区 Java虚拟机在执行Java程序的过程中会把它管理的内存分为若干个不同的数据区域。这些区域有着各自的用途,一级创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》中规定,jvm所管理的内存大致包括以下几个运行时数据区域,如图所示: 图解: 其中置灰部分是跟随虚拟机启动而存在的,线程共享...原创 2019-11-20 17:20:45 · 85 阅读 · 0 评论 -
Java虚拟机------类加载机制与过程
1.概述 虚拟机加载Class文件(二进制字节流)到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型,这一系列过程就是类的加载机制。 2.类的加载时机 类从被虚拟机加载到内存开始,直到卸载出内存为止,整个生命周期包括:加载——验证——准备——解析——初始化——使用——卸载这7个阶段。其中验证、准备、解析3个部分统称为连接。 生命周期图如下: 其...原创 2019-11-20 17:13:50 · 92 阅读 · 0 评论