随笔分类 - JVM学习笔记
摘要:线程的实现原理 0、 概述 操作系统引入线程之后,进程就变成了分配资源的基本单位,线程是独立调度的基本单位。 引入线程的意义: 未引入线程之前,进程是分配资源和独立调度的基本单位,因而在创建、撤销、切换中,系统必须为之付出较大的时空开销。正因如此,在系统中所设置的进程,其数目不宜过多,进程切换的频率
阅读全文
摘要:GC算法(计数/复制/标记清除/标记整理)是内存回收的方法论,垃圾收集器是算法的具体落地实现。垃圾回收发生在堆内存和方法区。 值得注意的是,目前为止还没一完美的垃圾收集器,更加没有万能的收集器,只能针对具体的应用最合适的收集器,进行分代收集。 本篇笔记记录了四种类型的垃圾收集器。 1、Serial:
阅读全文
摘要:1、java.lang.StackOverflowError 报这个错误一般是由于方法深层次的调用,默认的线程栈空间大小一般与具体的硬件平台有关。栈内存为线程私有的空间,每个线程都会创建私有的栈内存。栈空间内存设置过大,创建线程数量较多时会出现栈内存溢出StackOverflowError。同时,栈
阅读全文
摘要:首先,整体的UML架构图如下: 1、强引用(默认支持模式) 当内存不足时,JVM开始进行GC(垃圾回收), 对于强引用对象,就算是出现了OOM也不会对该对象进行回收,死都不会收。 强引用是我们最常见的普通对象引用,只要还要强引用指向一个对象,就表明这个对象还活着,垃圾收集器不会碰这种对象。在java
阅读全文

浙公网安备 33010602011771号