JVM
文章平均质量分 87
代码生成工具
这个作者很懒,什么都没留下…
展开
-
JVM 内存划分与垃圾回收机制
1.JVM内存布局: 一.方法区:所有线程共享的,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,运行时常量池(Runtime Constant Pool)是方法区的一部分。 二.虚拟机栈:线程私有的,每个方法在被调用时就会创建一个栈帧,每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程 三Java堆:是Java虚拟机所管理的内存...原创 2018-11-02 11:34:24 · 195 阅读 · 0 评论 -
JVM类加载与双亲委派模型
1.类的加载过程 2.类加载器 类加载器名称 加载的范围 启动类加载器 Bootstrap ClassLoader 存放在<JAVA_HOME>\lib目录中的,并且是虚拟机识别的类库加载到虚拟机内存中 扩展类加载器 Extension ClassLoader ...原创 2018-11-02 11:41:05 · 146 阅读 · 0 评论 -
java.util.concurrent.ConcurrentHashMap实现原理
HashMap并发先会出现什么问题那? JDK中有了HashTable为何还要有个ConcurrentHashMap? 首先我们都知道HashMap不是线程安全的,但在什么情况下出会出现并发问题那? HashMap: HashMap的数据结构:数组、链表、红黑树(jdk1.8), HashMap的原理: 1.自动扩容 数组默认大小:...原创 2018-11-02 15:10:06 · 454 阅读 · 0 评论 -
JVM 整理
一:java内存分配策略 站在线程的角度来看分为: 线程私有:栈,本地方法栈,程序计算器 线程共有:堆,方法区 栈: 是以栈帧的方式来存储方法调用的过程,并存储方法调用过程中的基本变量,以及对象引用。 栈上分配: 对于线程私有的对象,基于逃逸分析,会将他分配到栈中,逃逸分析:判断对象的作用域是否逃出方法体。server模式才能进行逃逸分析 -Xmx10m和-Xms10m:堆的大小 ...原创 2018-11-19 13:00:47 · 125 阅读 · 0 评论