-
java类的加载时机
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制
一个Class类在虚拟机的完整生命周期分为加载、连接、初始化、使用、卸载。
-
加载阶段:查找并加载class的二进制数据
-
通过类的全限定名(即com.csdn.test.HelloWorld)获取类的二进制字节流
请注意在此可以引出 类加载器和双亲委派模型
-
将二进制字节流转化为方法区的运行时数据结构
-
在堆上创建一个Class对象
-
-
连接阶段:将已经读入内存的类的二进制数据合并到jvm的运行时环境中
-
初始化阶段:为类的静态变量赋初值
请注意有且只有6种情况必须立即对类进行初始化
-
-
-
collection容器
名称 存储结构 顺序 唯一性 查询效率 添加/删除效率 线程安全 hashtable Entry 无序 key唯一,value可为null 安全 hashmap 哈希表 无序 key唯一 o(1) linkedhashmap 链表+哈希表 有序 不唯一 o(k) treemap 二叉树 有序(升序) 唯一性 o(logn) currentHashMap 安全 linkedhashset 链表+哈希表 有序 key唯一 hashset treeset 二叉树 有序 唯一 linkedlist 链表 有序 不唯一 arraylist 顺序表 有序 不唯一 deque -
jvm对类的垃圾回收
请阅读下面的文章,比我写的好多了
第 14 章 垃圾回收相关算法、标记-清除、复制、标记压缩、分代收集(重要)、增量收集、分区算法; 可达性分析_Guizy-CSDN博
-
- tomcat开发的请求流程
-
多线程中网络编程怎么应对多请求
-
rabbitq消息队列
-
spring配置的分类
-
sql调优
-
快速排序的思想
全部评论
(7) 回帖