JAVA VM
liujun_wangyi
这个作者很懒,什么都没留下…
展开
-
堆和栈的异同点
相同点 都是线性结构 插入操作都限定到表尾 都可以通过顺序结构和链式结构实现 插入和删除的时间复杂度都是O(1),在空间复杂度上两者也一样 多链栈和多链队列的管理模式相同 不同点 删除数据元素的位置不同 栈的删除是从表尾进行 队列的删除是从表头进行 应用场景不同 常见栈的应用场景: 括号求解 表达式转换和求值 ...原创 2019-01-15 10:51:15 · 917 阅读 · 0 评论 -
GC 算法(概要,名称介绍)
术语解释 Mark:标记,记录所有存活对象。 Sweep:清除 Compact:整理,有时译成压缩 Copy:复制 Gambage collection Roots(GC根元素) 正在执行方法里的局部变量和输入参数 活动线程(Active threads) 内存中所有类的静态字段(static field) JNI引用 安全点(safe point...原创 2019-01-15 10:55:36 · 303 阅读 · 0 评论 -
java GC参考
碎片整理 java每次执行清除(sweeping)的时候都必须保证每个不可到达的对象被回收,这就产生了碎片。 碎片的危害: 写入操作耗时 有可能发生内存分配错误 说明:JVM 的引用是一个抽象概念,如果GC移动某个对象,就会修改(栈和堆)中指向的引用,移动/提升/压缩 是一个stw的过程,是一个安全的行为。 新生代(Eden,伊甸园)...原创 2019-01-15 10:56:23 · 100 阅读 · 0 评论 -
Java 常见的垃圾收集器有Serial GC、ParNew GC、CMS GC、Parallel GC、G1 GC
Java 常见的垃圾收集器有Serial GC、ParNew GC、CMS GC、Parallel GC、G1 GC:Serial GC: 优点:单线程精简的GC实现,无需维护复杂的数据结构,初始化简单,是client模式下JVM默认选项。最古老的GC。 缺点:会进入"Stop-The World"状态。ParNew GC: 新生代GC实现,是SerialGC的多线程版本,最常见的应...原创 2019-01-15 10:57:07 · 5937 阅读 · 1 评论