![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
叫我小范同学
这个作者很懒,什么都没留下…
展开
-
jvm的运行时数据区相关
一. 按照线程共享和线程私对JVM各区域进行划分 首先JVM的运行时数据区被分为五个部分:方法区,堆,虚拟机栈,本地方法栈, 程序计数器。 线程共享的区域:方法区,堆 线程私有的区域:虚拟机栈,本地方法栈,程序计数器 线程私有和共享的区别:当JVM初始运行时都会在方法区和堆中分配好空间,线程可以共享使用;而每次遇到一个线程都会为新线程分配一个虚拟机栈,本地方法栈和程序计数器,这些会随着该线程的销毁而销毁。也就是说线程私有的生命周期和所属线程是一样的;而线程共享的部分和原创 2021-11-05 21:49:06 · 104 阅读 · 0 评论 -
总结JVM运行宏观流程
jvm宏观运行流程:1.当程序启动之前,他的class (Java3yTest.class)会被类加载器装入到方法区,方法区里储存着类的相关信息(包括类的名称,方法信息,字段信息等等)2.执行引擎读取方法区的字节码进行解析,找到主函数入口main方法,为main函数创建一个栈帧,(每个方法对应一个栈帧)然后开始执行main函数。3.main函数里的代码被执行引擎映射成本地操作系统里相应的实现,然后会调用本地方法接口,本地方法运行时,操作系统会为本地方法分配本地方法栈,用来储存一些临时变量,然后运...原创 2021-08-06 13:53:40 · 100 阅读 · 0 评论 -
JVM类加载器的双亲委派机制
JVM类加载器的双亲委派机制bootstrap classloader 根/启动类加载器extensions classloader 扩展类加载器application classloader 应用程序类加载器user defined classloader 用户自定义类加载器双亲委派原理:在某个特定的类加载器在接到类加载请求时,会首先将加载任务委托给父类加载器,依次递归。如果父类加载器可以完成加载则成功返回,如果父类加载器不能完成则自己去加载。双亲委派的优点:1.使java类随着它的类加原创 2021-08-05 15:56:44 · 99 阅读 · 0 评论