- 博客(8)
- 收藏
- 关注
原创 JVM类加载
类的生命周期加载(Loading):找到Class文件验证(Verification):验证格式、依赖准备(Preparation):静态字段、方法表解析(Resoulution):符号解析成引用初始化(Initialization):构造器、静态变量的赋值、静态代码块使用(Using)卸载(Unloading)类的加载时机当虚拟机启动时,初始化主类,即启动执行main方法的类当遇到new指令时,初始化new指令的目标类,即new 一个类的时候进行初始化当遇到调用静态方法的指令时
2023-03-17 15:44:18
89
原创 【多线程】ThreadLocal详解
ThreadLocal是Java语言提供的一种支持线程隔离的类,用它来定义变量可以隔绝其他线程对相同变量的修改。
2022-09-07 00:43:00
760
原创 【多线程】多线程的六种状态
【多线程】java多线程包含六种状态,分别是NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED。
2022-09-02 14:21:57
2401
原创 Java8中新生代eden:s0:s1不是8:1:1问题
在Java8下执行jmap命令,但是实际eden区域的内存和s0,s1不是8:1:1的比例
2022-08-30 15:30:32
637
原创 Java运行时数据区域
根据《java虚拟机规范》,Java运行时管理的内存区域包括下图展示的几个运行时数据区域:运行时数据区主要分为两类,一类是由所有线程共享的数据区域,一类是线程隔离的数据区域。线程共享的数据区域包含方法区和堆内存。线程隔离的区域包含虚拟机栈,本地方法栈,以及程序计数器。...
2022-08-30 14:36:01
371
原创 【源码分析】JDK8中的HashMap
作为一名编程从业人员,我们平时代码中都经常会使用到哈希表这种数据结构,但是大多数人并不了解这个数据结构的实现原理,今天带大家分析下JDK8中HashMap的实现。通过分析三个构造函数我们发现在初始化HashMap的时候,我们并没有初始化数组,只是修改了部分成员变量。真正修改数组大小是在put数据的时候。...
2022-08-29 19:30:49
476
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人