JVM知识点
来源:互联网 发布:师洋淘宝店截图 编辑:程序博客网 时间:2024/05/17 00:58
类的生命周期
类的加载过程包括 加载、验证、准备、解析、初始化 五个阶段
类加载阶段
1、通过一个类的全限定名来获取其定义的二进制字节流
2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构
3、在java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口
JVM初始化步骤
1、假如这个类还没有被加载和连接,则程序先加载并连接该类
2、假如该类的父类还没有被初始化,则先初始化其直接父类
3、假如类中有初始化语句,则系统依次执行这些初始化语句
JVM结束生命周期
执行System.exit() 方法
程序正常执行结束
程序在执行过程中遇到异常或错误而异常终止
由于操作系统出现错误而导致java虚拟机进程终止
类加载三种方式
命令行启动应用时候由JVM初始化加载
通过Class.forName()方法动态加载
通过ClassLoader.loadClass()方法动态加载
注意:Class.forName()将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块。ClassLoader.loadClass()只会把.class文件加载到jvm中。
GC算法
标记-清除算法 效率较低,存在不连续空间
复制算法 内存容量只能用一般
标记-压缩算法 将存活的对象向一端移动
分代收集算法
JVM内存
堆内存:最大的一块内存,由年轻代和老年代组成
方法区:存储类信息,常量,静态变量等数据
栈 :虚拟机栈和本地栈,主要用于方法的执行
程序计数器:当前线程所执行的字节码的信号指示器
- JVM知识点
- jvm知识点
- JVM(七) JVM知识点
- jvm系列:jvm知识点总览
- 【转载】JVM知识点题目
- JVM虚拟机知识点
- 转:JVM知识点题目
- JVM知识点梳理
- JVM相关知识点
- jvm知识点介绍
- jvm知识点总览
- jvm知识点整理
- JVM常见知识点
- jvm知识点简单梳理
- JVM知识点总结
- JVM知识点总结
- JVM加载类知识点
- jvm的相关知识点
- golang实现简单文件服务器
- 基于Netty5.0中级案例一之Netty与Web
- 08Servlet
- 凤凰网实习生面试
- C++函数指针
- JVM知识点
- Codeforces Round #403 (Div. 2) B. The Meeting Place Cannot Be Changed 三分
- Java程序员必须知道的两个有关Eclipse设置
- (转)Eclipse快捷键
- 09Spring
- Java编程思想-第一章 1.1-1.4 读书笔记
- 求不带头结点的单链表的节点的个数
- 第七届蓝桥杯java B组试题题解(仅代表个人观点)
- Spring Cloud微服务断路由Hystrix与服务网关学习笔记