![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
小小核桃
这个作者很懒,什么都没留下…
展开
-
StackOverFlowEoro和OutOfMemoryError的区别
1、stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。 如果方法的嵌套调用层次太多(如递归调用),随着java栈中的帧的增多,最终导致这个线程的栈中的所有栈帧的大小的总和大于-Xss设置的值,而产生生Stack...转载 2019-04-21 15:37:11 · 293 阅读 · 0 评论 -
JVM总结
一、运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二、垃圾收集 判断一个对象是否可被回收 引用类型 垃圾收集算法 垃圾收集器 三、内存分配与回收策略 Minor GC 和 Full GC 内存分配策略 Full GC 的触发条件 四、类加载机制 类的生命周期 类加载过程 类初始化时机 类与类加载器 类加载器分类 双亲委派模型 自定义类加...转载 2019-04-25 10:49:44 · 113 阅读 · 0 评论 -
jvm
第3章 垃圾收集器与内存分配策略 1.判断对象是否存活? 通过可达性分析来判断对象是否存活。 基本思想:通过一系列的称为"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots不可达时,则证明此对象是不可用的。 2.引用的分类: 强引用: 类似“Object obj = new Object(),只要强引用还存在,垃圾收集器永远不会回...原创 2019-03-29 21:48:11 · 74 阅读 · 0 评论