JVM
文章平均质量分 82
朝山行
这个作者很懒,什么都没留下…
展开
-
获取String中的byte数组,使用反射的方式(JDK8)
正常new对象的方式,是由类到对象的形式,类加载-链接-初始化后,对象根据类的模板进行创建。而反射是由对象到模板类的形式,通过对象反向获取Class类信息,然后通过Class模板类获取类中的信息(属性,方法,父类等等Class类信息)。原创 2023-05-24 20:20:17 · 409 阅读 · 0 评论 -
HotSpot8源码-类加载器的实现
JVM进行LoadClass的类加载器分三种:BootStrapClassLoader,ExtClassLoader,AppClassLoader。在不同的场景下使用相应的ClassLoader将.class字节码文件转换成JavaClass类对象,转换源码如下所示:Klass对象为C++实现的对象,在JVM读取转化.class类文件中的数据后得到的结构体,即.class类文件的元数据对象。原创 2023-02-15 14:09:34 · 408 阅读 · 0 评论 -
JVM初始化Main线程创建的流程(从OpenJDK8源码到Linux源码的线程创建)
JVM本质是动态链接库(Windows下为.dll文件,Linux下为.so文件),作为Java的虚拟机运行在操作系统的进程空间中,为Java语言提供类加载机制,热点编译,GC回收机制等,同时也为JDK函数的封装提供了JNI支持,即调用C/C++函数接口。此文将从JVM的启动流程开始向底层分析Main线程的创建(Linux平台下)。原创 2022-11-15 17:00:04 · 634 阅读 · 2 评论