摘要: 垃圾回收的过程分为两步: 1.判断对象是否死亡 (1)引用计数器法: ①每当有一个对象引用是,计数器加一,当计数器为0是对象死亡 ②缺点:无法解决循环引用的问题,假设A引用B,B引用A,那么这两个对象将不会被回收,造成内存泄漏 (2)可达性算法分析 ①通过一系列可作为GC Roots的节点为起始点, 阅读全文
posted @ 2019-04-22 20:14 神奇海螺。 阅读(3089) 评论(0) 推荐(0) 编辑
摘要: 1.Serial收集器(新生代) (1)单线程收集器 (2)采用复制算法,用于新生代垃圾回收 (3)垃圾回收期间需要STW(Stop The World),STW表示垃圾回收线程不与用户线程并发执行 2.Serial Old收集器(老年代) (1)与Serial相似 (2)采用标记整理算法,用于老年 阅读全文
posted @ 2019-04-22 19:54 神奇海螺。 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1.类的加载过程:加载-验证-准备-解析-初始化 2.加载阶段(加载阶段主要做三件事情): (1).通过类的全限名来获取此类的二进制流。 (2).将这个字节流所代表的的今天存储结构转化为方法区中可运行的数据结构。 (3).在内存中生成一个代表这个类的java.lang.Class对象,作为方法区中这 阅读全文
posted @ 2019-04-22 17:09 神奇海螺。 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1.饿汉模式 饿汉模式是线程安全的,因为 private static Singleton1 singleton1 = new Singleton1(); 语句是在类加载时完成的,具体是在类加载的初始化阶段时的<client>方法中进行的。 2.懒汉模式 这种懒汉模式是线程安全的,在这里只有获取到C 阅读全文
posted @ 2019-04-22 16:16 神奇海螺。 阅读(135) 评论(0) 推荐(0) 编辑