方法区概述《Java虚拟机规范》中明确说明:"尽管所有额方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会去进行垃圾收集或者进行压缩",但是对于HotspotJVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆区分开,所以,方法区看做是一个独立于Jav...
堆的核心概述一个Jvm实例只存在一个堆空间,堆也是Java内存管理的核心区域Java堆区在Jvm启动的时候就被创建,其空间大小也就确定了,是Jvm管理的最大一块内存空间堆内存的大小是可以调节的《Jvm虚拟机规范》规定堆可以处于物理上不连续的空间中,但在逻辑上他应该被视为连续的所有的线程共享Java堆...
每个线程:独立包括程序计数器、栈、本地栈线程间共享:堆、堆外内存(永久代活元空间、代码缓存)寄存器(Program Counter Register)JVM 中的程序计数寄存器中,Register的命名源于CPU寄存器,寄存器存储指令相关的现场信息,CPU只有把数据装载到寄存器中才能运行,JVM中的...
一、加载:通过一个类的全限定类名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化成方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据访问入口加载.class文件的方式从本地系统中直接加载运行时计算生成,最多使用的是动态代理技...
java类加载过程JVM将类的加载过程分为三个步骤:装载(Load)、链接(Link)和初始化(Initialize)1、装载通过一个类的全限定类名获取类的二进制字节流将在这个字节流代表的静态存储结果转化为方法区的运行时内存2、链接:验证:确保被加载类的正确性主要包括四种验证:文件格式验证、元数据...