02 2018 档案

摘要:以下配置主要针对分代垃圾回收算法而言。 一、堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows 阅读全文
posted @ 2018-02-28 14:47 夕阳醉了 编辑
摘要:一、垃圾回收日志说明 [GC[DefNew: 7307K->494K(9216K), 0.0043710 secs] 7307K->6638K(19456K), 0.0044894 secs] [Times: user=0.02 sys=0.00, real=0.01 secs] 1、日志开发的“[ 阅读全文
posted @ 2018-02-24 11:03 夕阳醉了 阅读(266) 评论(0) 推荐(0) 编辑
摘要:一、标记-清除算法 算法:分为标记和清除两个阶段,首先标记出所有需要回收的对象,再对标记对象进行回收。 不足之处:效率不高,会产生大量不连续内存碎片,导致下次分配较大内存时,若内存不足不得不触发垃圾回收操作。 此算法为最基础算法,其他算法都是在此算法基础上改进而得到的。 二、复制算法 算法:将可用内 阅读全文
posted @ 2018-02-23 10:58 夕阳醉了 阅读(178) 评论(0) 推荐(0) 编辑
摘要:一、垃圾回收器回收的对象 虚拟机内存区域中程序计数器、虚拟机栈、本地方法栈随线程而生,随线程而灭。这3个区域内存分配和回收都具备确定性。因此不需要过多考虑回收问题。 而Java堆和方法区不一样,这部分内存的分配和回收都是动态的,垃圾回收器所关注的就是这两部分区域。 二、如何判断对象需要回收 1、引用 阅读全文
posted @ 2018-02-14 14:30 夕阳醉了 阅读(140) 评论(0) 推荐(0) 编辑
摘要:一、Java堆溢出 测试代码: 执行结果: 针对这类异常,可通过分析工具(如Eclipse Memory Analyzer)对异常快照进行分析,找到具体发生异常代码。 二、虚拟机栈和本地方法栈的溢出 由于HotSpot虚拟机不区分虚拟机栈和本地方法栈,因此不需要设置-Xoss参数,栈容量只由-Xss 阅读全文
posted @ 2018-02-13 16:58 夕阳醉了 阅读(338) 评论(0) 推荐(0) 编辑
摘要:一、对象的创建 1、类加载: 虚拟机在遇到一条new指令时候,检查类是否已被加载、解析、初始化过,如果没有,则执行类加载过程。 2、分配内存:类加载完成后,则为新对象从java堆上分配内存,分配内存有两种方式:指针碰撞和空闲列表 指针碰撞 Java堆中内存是绝对完整的,用过和空闲的内存分别放在一边, 阅读全文
posted @ 2018-02-13 11:21 夕阳醉了 阅读(223) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示