java堆区可以分为年轻代和老年代,其中年轻代又可以划分为Eden空间,survivor0空间和survivor1空间image.png 新生代与老年代在堆结构的占比 默认-...
java堆区可以分为年轻代和老年代,其中年轻代又可以划分为Eden空间,survivor0空间和survivor1空间image.png 新生代与老年代在堆结构的占比 默认-...
java堆用于存储java对象实例,jvm启动时堆的大小就已设定好了 -Xms(memery start)表示设置堆的启始内存-Xmx(mermery max)标识设置最大内...
ICO底层原理 xml解析,工程模式,反射IOC容器底层就是一个对象工厂 ICO接口 BeanFactory:IOC容器基本实现,是Spring内部使用接口,一般不提供给开发...
在jvm中将符号引用转换为调用方法的直接引用与方法的绑定机制相关 静态连接(特点)在编译期间能确定下来的,而且在运行期间保持不变 动态连接(特点)在编译期间无法确定,只能在程...
操作数栈的特点 每一个操作数栈大小在编译期就确定了,运行时无法改变操作数栈大小(与局部变量表特点一样)。 操作数栈主要用于保存计算的中间结果,
定义为一个数字数组,主要用于存储方法参数,方法内的局部变量 局部变量表是栈帧内部结构,因为栈是线程私有的,所以局部变量表不存在线程安全问题 局部变量表所需的容量大小是在编译期...
栈中存储什么每个线程都有自己的栈,栈上的每个方法对应一个栈帧栈帧是栈的基本的单位 栈帧的内部结构: 局部变量表(local variables) 操作数栈(operand s...
虚拟机栈是什么Java虚拟机栈早期也叫Java栈。每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧。生命周期生命周期和线程一致作用管理Java程序的运行,他保存方...
pc寄存器的作用:存储指向下一条指令的地址(将要执行的指令代码),由执行引擎读取下一条指令。 它是一块很小的内存空间,几乎可以忽略不记,也是运行熟读最快的存储区域。 每个线程...
JVM里有多个线程并行执行 JVM中的每个线程都与操作系统的本地线程直接映射 如果JVM中所有的线程都是守护线程,那么JVM就会退出,进而守护线程也会退出。 如果JVM中还存...
方法区(元数据区,永久带,堆:线程共享 虚拟机栈,程序计数器,本地方法栈:线程不共享 GC主要是回收堆和方法区
什么是双亲委派机制 当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。 优...
1.启动类加载器(Bootstrap ClassLoader) 启动类加载器使用c/c++语言实现,是jvm的一部分(jvm也是由c/c++编写) 用来加载java的核心类库...
1.加载(Loading) 1.通过一个类的全限定名,获取该类的字节流 2.将静态的存储结构转化为方法区的运行时数据结构 3.在内存中生产一个代表这个类的Java.lang....
1.类加载子系统负责从文件系统或者网络中加载class文件,class文件在开头有特殊的标志(CA FE BA BE)。 2.classload只负责class的加载, 3....