JVM
burg_xun
热爱运动
展开
-
HashMap 容量大小的问题-为什么长度都是2的幂?
前言在之前的文章 我分析过HashMap 初始化容量的问题 不清楚的可以看这个。经过这篇文章 我们知道了 HashMap是什么时候 设置容量大小的,容量大小和容量的阀值 是怎么计算的,但是有的小伙伴 包括我 可能对一点比较好奇 为什么默认的容量是16 而且计算是自己容量的时候,最终计算出来的容量也是2的幂次方?可能 有的小伙伴知道 这个是为了 降低哈希碰撞率,那是为什么呢?那我们今天就来聊一聊分析容量计算 /** * Returns a power of two size f原创 2020-07-07 12:03:48 · 358 阅读 · 1 评论 -
一起聊聊 JVM垃圾回收器(三)
JVM垃圾回收器垃圾回收知识点引用计数可达性分析4种引用对象垃圾回收算法标记清除算法标记整理算法复制算法分代垃圾算法JDK 垃圾回收器SerialParNewParallel ScavengeSerial OldParallel OldConcurrent Mark SweepG1G1特点G1的运行步骤G1 的问题G1 提供了2中模式垃圾回收机制对象优先分配到Eden区大对象直接分配到老年代长期存...原创 2020-04-16 12:37:52 · 195 阅读 · 0 评论 -
一起聊聊JVM 运行时数据区(二)
JVM 运行时数据区运行时数据区共享区堆区方法区隔离区虚拟机栈栈帧本地方法栈程序计数器运行时数据区JVM 运行时数据区主要分为5块方法区 JDK1.8以后叫做元数据区(Metaspace)堆区虚拟机栈区本地方法栈区程序计数器方法区和堆都是线程共享的,在JVM启动时创建,在JVM停止时销毁,而Java虚拟机栈、本地方法栈、程序计数器是线程私有的,随线程的创建而创建,随线程的结束而...原创 2020-04-13 22:44:18 · 125 阅读 · 0 评论 -
一起聊聊JVM 虚拟机&&类加载(一)
JVM 虚拟机&&类加载虚拟机虚拟机简介Class 文件常量池虚拟机类加载加载验证准备解析字段的解析类方法解析接口方法解析类加载器加载器类型双亲委派什么是双亲委派如何打断为什么要使用双亲委派虚拟机虚拟机简介Java 虚拟机(JVM)是运行java程序的抽象计算机,它是计算机设备的规范,可以采用不同方式进行实现,java 程序通过运行在JVM中实现跨平台,一次编译到处运行,不同...原创 2020-04-13 02:02:14 · 429 阅读 · 0 评论