Java虚拟机
爱敲代码的程序媛
爱敲代码的程序媛
展开
-
Java垃圾回收机制
Java垃圾回收机制 一、如何确定一个对象是否可以被回收? 1、引用计数算法:判断对象的引用数量 引用计数算法通过判断对象的引用数量决定对象是否可以被回收;引用计数算法的堆内每个对象实例都有一个引用计数,当一个对象被创建时,且该对象实例分配给一个引用变量,该对象实例的引用计数设置为1,当任何其他变量被赋值为这个对象的引用时,对象实例的引用计数就加1;当一个对象实例的某个引用超过了生命周期或被设置为...原创 2020-02-12 12:35:06 · 121 阅读 · 0 评论 -
类加载过程和对象的创建过程
类加载过程 JVM执行时,遇到新类,会到内存中的方法区域找class信息,如果有,拿来直接使用,如果没有,则将.class文件加载到方法区;类加载时,将静态变量加载到方法区的静态区域,将非静态变量加载到方法区的非静态区域,静态代码块是在类加载期间自动执行的,非静态代码块是在创建对象时执行的代码,不创建对象不执行该类的非静态代码块; 加载过程: 1、JVM在方法区中找有没有相应的.class文件存在...原创 2020-02-11 10:54:49 · 347 阅读 · 0 评论 -
Java内存区域
Java内存区域 Java虚拟机在java程序运行时将虚拟机管理的内存区域划分为线程共享区和线程私有区,分别包含的运行时数据区有java栈、方法区和PC程序计数器、虚拟机栈、本地方法栈;即: 线程共享区:java栈、方法区; 线程私有区:pc程序计数器、虚拟机栈、本地方法栈 注:线程私有区随着线程的创建和消亡,所以无需考虑线程的回收问题 pc程序计数器: pc程序计数器占用较小的内存空间,是当前线...原创 2020-02-10 12:54:26 · 69 阅读 · 0 评论