摘要:
1. 判断对象存活 回收内存首先需要判断,那些内存需要回收。即需要判断那些对象还存活着,则这些是不需要被回收的。 (1) 引用计数法 原理:对象中添加一个引用计数器。被引用则累计。则计数器中数值大于0,则代表仍然被引用,不能被回收。 缺点:不能解决循环引用的情况。 (2) 可达性分析法 原理:从一些 阅读全文
摘要:
虚拟机整体内存结构如下: 1. 内存区域 内存区域核心包含以下几部分:程序计数器、JAVA虚拟机栈、本地方法栈、方法区和堆。有的是线程级别的【一个线程会单独启动一个内存区域】,比如:程序计数器、JAVA虚拟机栈、本地方法栈。有的是虚拟机启动就存在的,不同线程共享使用。比如:堆和方法区。所有线程加载的 阅读全文
摘要:
1. 类加载过程 JAVA动态类加载功能是由类加载器子系统完成。它是在运行时加载的(而不是编译时-也就是说准备使用类的时候才开始加载)。分为三个结点。加载、链接、初始化该类文件。其中,链接阶段包含验证、准备和解析三个子流程。 (1) 加载 加载主要是将.class文件(并不一定是.class。可以是 阅读全文
摘要:
JAVA 虚拟机整体回顾 阅读全文