jvm
u010125079
这个作者很懒,什么都没留下…
展开
-
2020-11-03
栈:存放线程内部的局部变量;每个线程都会分配一个栈(线程),栈内存放着线程相关的局部变量。栈内包含:局部变量表、操作数栈、动态链接、方法出口。局部变量表:存放变量名操作数栈:操作数的临时存放,对数据进行入栈出栈操作。程序计数器:每个线程都有自己的程序计数器,指向执行的代码的内存地址。为什么要设计一个程序计数器:java多线程中,当前线程执行到某行代码时被高优先级的线程打断,当前线程挂起,高优先级线程执行完后,唤醒当前线程,需要依靠程序计数器定位到上次程序执行的位置。动态链接:原创 2020-11-03 15:35:47 · 124 阅读 · 0 评论 -
java类加载运行
java运行main方法时首先要通过类加载器把类加载到jvm中。加载步骤:加载 --》验证--》准备---》解析---》初始化----》使用---》卸载加载:在磁盘上查找字节码文件,在需要使用类时(new 对象时),在内存中创建这个类的class对象,作为方法区这个类的各种数据的访问入口。 验证:字节码文件的正确性。 准备:给类的静态变量分配内存,并赋默认值。 解析:符号引用替换为直接引用,静态链接的过程。 初始化:类的静态变量初始化为指定值,执行静态代码块。类加载器分类:引导类加原创 2020-10-15 14:43:40 · 215 阅读 · 0 评论