对于Java开发程序员来说,在面试过程中避免不了各种笔试、面试,如何去准备这些面试显得尤为重要。Java开发作为专业性很强的工种,一些知识点在面试中必然会被问到,下面,千锋武汉IT培训小编就给大家分享在Java面试中的高频考题,Java方法区存储了哪些数据?
Java虚拟机内存的划分,主要包括5个部分:方法区、堆、虚拟机栈、本地方法栈以及程序计数器,其中方法区和堆是各线程共享的存储区域。我们还是以HotSpot VM来介绍方法区(Method Area)是如何实现的,内存又是如何管理的。
对于HotSpot VM而言,方法区还有一个别名叫做Non-Heap(非堆),意思就是要和堆(Heap)分开。方法区可以看作是一块独立于Java堆的内存空间。方法区的内存结构方法区保存的信息包括:
1、类型信息:包括了JVM加载类型(类class、接口interface、枚举enum、注解annotation)的完整有效名称(包名+类名)、其直接父类的完整有效名称、类型的修饰符、其直接继承的接口列表。
2、域(成员变量)信息:类型的所有成员变量的相关信息以及成员变量的声明顺序。
3、方法信息:包括了类型的成员方法的名称、返回类型、参数列表、修饰符、字节码、操作数栈、局部变量表、异常表等。
4、静态变量:non-final的静态类变量和全局常量。区别在于全局常量在编译器给指定值,静态类变量在加载时准备阶段赋初值,初始化阶段再给指定值。
5、JIT代码缓存:即时编译产生的代码缓存,将热点代码编译成与本地平台相关的机器码,并保存到内存。
6、运行时常量池:各种字面量和对类型、域和方法的符号引用。
除了以上给大家分享的Java面试中高频考题,在面试中更重要的是要有扎实的理论基础和丰富的实战经验,才能受到企业青睐。千锋武汉Java培训采用全新升级“六维全息课程体系”,覆盖微服务架构+大中台战略,不仅如此,你还能接触热门行业项目,多学科联合项目,职业素养及职后发展能力,让学员毕业之后可以无缝对接真实工作需求,学员毕业后自然更受企业青睐。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱