关于对JVM的相关知识总结

以下的内容是自己看书和平时总结得来的,记录下,以便以后好复习
jvm的内存结构:jvm是按照运行时的存储结构来划分内存结构的。可以分为如下六种:
1.PC寄存器数据:用于保存当前正在执行的程序的内存地址。也就是记录着当前线程执行到了哪里。
2.Java栈:创建一个线程的时候就会创建一个对应的Java栈,一个栈中会含有多个栈帧,其中每创建一个方法就会创建一个栈帧,栈帧当中含有一些内部变量(方法内定义的变量),操作栈和方法返回值等信息。
3.堆:存储Java对象的地方,堆时被所有Java现成共享的,由此引出Java同步行问题。
4.方法区:存储类结构信息的地方,也就是我们通常说的Java堆的永久区。
5.运行时常量池:存储着运行时每个class文件中的常量表。主要包含:编译期的数字常量、方法或者域的引用
6.本地方法栈:jvm为运行native方法准备的空间。
二、 jvm体系结构
jvm的全称是Java虚拟机,它通过模拟一个计算机来达到一个计算机所具有的计算功能,jvm和实体机一样有一套适合它自己的指令集,这个指令集,我们成为jvm字节码指令集,符合class文件规范的字节码都可以被jvm执行。
jvm的基本结构:
1.类加载器:jvm启动时或类加载时将需要的class加载到jvm中。
2.执行引擎:负责执行class文件中包含的字节码指令。
3.内存区:将内存划分为若干区模拟实际机器上的存储、记录和调度功能模块。
4.本地方法调用,调用c或者c++实现的本地方法的代码返回结果。
jvm体系结构:
类加载器:在jvm启动时或者在类运行时将需要的class加载到jvm。
执行引擎:执行class文件中的包含的字节码指令,相当于机器上的cpu。
内存区:将内存区划分若干个区模拟实际机器上的存储、记录和调度功能模块。
本地方法调用:调用C或C++实现的本地方法的代码返回结果。
jvm工作机制:
jvm执行字节码指令时基于栈的架构, 执行Java部件的过程中:一般时,PC寄存器记录当前运行到代码的地址,操作栈通过弹入弹出元素进行处理,然后将结果压入栈顶, 运算结束后,pc寄存器销毁,方法对应的栈帧也对应消失。
三、JVM对代码的优化
JVM对代码的优化分为运行时优化(runtime)和 即时编译器优化(JIT)
运行时优化:主要是解释执行和动态编译通用的一些机制,如锁机制(偏斜锁)
即时编译器优化:将热点代码以方法为单位转换成机器码,直接运行在硬件之上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java核心面试知识整理(架构师)是一份非常有价值的Java面试指南,此指南对于那些准备进行Java工作面试的候选者来说非常重要。该指南详细介绍了Java技术的基本概念,包括多线程、面向对象编程、JVM以及其他与Java语言相关的技术。除此之外,该指南还列出了一系列与Java技术相关的最新面试题目,并通过详细的解题思路和示例代码展示了如何解决这些问题。这对于那些想要通过Java面试的候选者来说非常有帮助。 此外,该指南还介绍了Java SE、Java EE、Spring、Hibernate等重要的框架和技术的概要以及相应的面试题目。候选人可以通过这些问题详细了解这些技术的实际应用,并为面试做好充分的准备。 总之,Java核心面试知识整理(架构师)是一份非常有用的指南,对于那些想在Java领域取得成功并通过技术面试的人来说非常有帮助。无论现在你是一个初学Java的新手,还是一位有经验的开发者或工程师,这份指南都值得一读。 ### 回答2: 《Java核心面试知识整理(架构师)》是一份重要的面试资料,涵盖了Java开发中的核心知识点和面试考察的难点,可以帮助应聘者更好地准备面试。 该资料主要分为八个章节,分别是Java基础知识、集合框架、多线程、JVM、网络编程、数据库、分布式系统和框架技术。在每个章节中,都涵盖了该领域中的重要概念、常见的面试题和优秀的回答方法,可以帮助应聘者在面试中更加从容自信地回答问题。 其中,Java基础知识和集合框架是面试中最常考察的部分,主要考察应聘者的基础扎实度和掌握程度。多线程和JVMJava开发中的难点,需要求职者深入理解并掌握其原理,才能在面试中获得高分。网络编程和数据库相关问题则是针对应聘者的项目经验和实践经验,需要应聘者结合自己的经验和项目实践,进行深入的思考和总结。分布式系统和框架技术则是考察应聘者对当前技术潮流和趋势的了解程度,需要应聘者关注行业动态和进行充分的技术积累。 总的来说,《Java核心面试知识整理(架构师)》是一份全面、权威且实用的Java面试资料,对于想要深入了解Java开发技术和成功求职的人来说,具有非常重要的参考价值。 ### 回答3: 这份《Java核心面试知识整理(架构师版)》的文档总结Java领域中架构师的核心面试知识。文档涵盖了Java基础、集合、多线程、JVM、设计模式、分布式微服务等方面的知识点。 在Java基础方面,文档详细介绍了Java语言的基础类型、运算符、循环结构、流程控制语句以及面向对象的特性和原则。而在集合方面,文档涵盖了Java中的各种集合类型及其特点,如List、Map、Set等。此外,文档还详细讲解了多线程的基本概念和Java中的线程安全问题,包括锁机制、线程池等。 在JVM方面,文档深入讲解了Java程序的运行原理和内存管理机制,详细分析了垃圾回收算法和优化策略,并解释了如何进行JVM性能调优。 文档还涉及了常用的设计模式及其应用场景,如单例模式、工厂模式、观察者模式等。此外,分布式、微服务等一系列架构方面的知识也被全方位地介绍和讲解。 总之,这份文档是Java架构师在面试时必备的知识点整理手册,对于正在准备面试的Java架构师和Java程序员来说具有非常重要的参考价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值