1.java的内存划分
JVM执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁
两者区别:元空间取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。
2.类加载的过程
类的加载指的是将类的.class 文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class 对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class 对象,Class 对象封装了类在方法区内的数据结构,并且向Java 程序员提供了访问方法区内的数据结构的接口。