摘要: 本文主要内容: GC的概念 GC算法 引用计数法(无法解决循环引用的问题,不被Java采纳) 根搜索算法 现代虚拟机中的垃圾搜集算法: 标记-清除 复制算法(新生代) 标记-压缩(老年代) 分代收集 Stop-The-World 一、GC的概念: GC:Garbage Collection 垃圾收集 阅读全文
posted @ 2017-06-09 02:10 不会就问咯 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 本文主要内容: Trace跟踪参数 堆的分配参数 栈的分配参数 零、在IDE的后台打印GC日志: 既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。 既然如此,那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。 (1) 阅读全文
posted @ 2017-06-09 02:09 不会就问咯 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 主要内容如下: JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一、JVM启动流程: JVM启动时,是由Java命令/javaw命令来启动的。 二、JVM基本结构: JVM基本结构图: 《深入理解Java虚拟机(第二版)》中的描述是下面这个样子的: Java中的内存分配: Java程 阅读全文
posted @ 2017-06-09 02:08 不会就问咯 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 主要内容如下: JVM的概念 JVM发展历史 JVM种类 Java语言规范 JVM规范 一、JVM的概念: JVM: Java Virtual Machine,意为Java虚拟机。 虚拟机: 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统 有哪些虚拟机: VMWar 阅读全文
posted @ 2017-06-09 02:07 不会就问咯 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 先把本文的目录画一个思维导图:(图的源文件在本文末尾) 一、Java引用的四种状态: 强引用: 用的最广。我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它,这就是强引用。 如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMe 阅读全文
posted @ 2017-06-09 01:58 不会就问咯 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 内存管理是计算机编程中的一个重要问题,一般来说,内存管理主要包括内存分配和内存回收两个部分。不同的编程语言有不同的内存管理机制,本文在对比C++和Java语言内存管理机制的不同的基础上,浅析java中的内存分配和内存回收机制,包括java对象初始化及其内存分配,内存回收方法及其注意事项等…… jav 阅读全文
posted @ 2017-06-09 01:56 不会就问咯 阅读(18259) 评论(0) 推荐(1) 编辑
摘要: 本篇文章主要介绍了"JAVA GC垃圾收集器的分析",主要涉及到JAVA GC垃圾收集器的分析方面的内容,对于JAVA GC垃圾收集器的分析感兴趣的同学可以参考一下。 在 很多人看来,java中内存的动态分配与内存回收已经不用用户担心了,因为它给我们提供了GC自动回收 ,感觉一切都进入了自动化了,但 阅读全文
posted @ 2017-06-09 01:53 不会就问咯 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 对象死亡历程 1.基本的mark&sweep是必须的,后续的都是对他的改进, 2.young代理的survivor就是使用了复制算法,避免碎片 3.还有标记整理算法(压缩),就是将存活的对象移动到一块,空出连续的空间; 4.当然还有分代算法 “引用的定义” JDK1.2之前,引用很纯粹,也很狭隘,对 阅读全文
posted @ 2017-06-09 01:42 不会就问咯 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 《JAVA编程思想》: Java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。 (1).对象不一定会被回收。 (2).垃圾回收不是析构函数。 (3).垃圾回收只与内存有关。 (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的 阅读全文
posted @ 2017-06-09 01:27 不会就问咯 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 总结:强引用:普通new对象的引用User user = new User();jvm宁愿抛出OutOfMemory异常也不会去回收该对象软引用:SoftReference引用的装饰的对象,该对象的强引用应该赋值空这里配合ReferenceQueue使用(也可以不配合),因为SoftReferenc 阅读全文
posted @ 2017-06-09 00:59 不会就问咯 阅读(203) 评论(0) 推荐(0) 编辑