java虚拟机实战(Java虚拟机基础知识都有哪些)java基础 / Java虚拟机基础...

wufei123 发布于 2024-06-29 阅读(4)

Java虚拟机是程序员在学习java编程开发技术的时候需要重点掌握的一项编程知识,而今天我们就通过案例分析来了解一下,Java虚拟机基础知识都有哪些一、JVM概述Java虚拟机有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统。

Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令Java语言的可移植性正是建立在Java虚拟机的基础上任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。

java虚拟机实战(Java虚拟机基础知识都有哪些)java基础 / Java虚拟机基础...

这就是“一次编译,多次运行”Java虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等Java技术使同一种应用可以运行在不同的平台上。

Java平台可分为两部分,即Java虚拟机(JavaVirtualMachine)和JavaAPI类库目前JVM已经支持多语言字节码文件,如Kotlin、Groovy、JRuby、Jython、Scala等

二、JVM在计算机所处的位置JVM是运行在操作系统之上,没有直接和硬件进行交互三、JVM的不同实现SUNClassicExactVM:开始具备现代JVM特性HotSpotVM:具备热点代码探测技术,目前在大规模使用的JVM

BEAJRockit:(BEA已被Oracle收购)专注于服务端应用TaobaoJVM:目前阿里淘宝、天猫均使用TaobaoJVM替换Oracle官方JVM四、JVM体系结构1.Java代码运行流程:Java程序-->字节码文件-->类装载子系统化身为反射类Class-->运行时数据区-->执行引擎-->操作系统

2.方法区和堆区是所有线程共享内存的区域而Java栈、本地方法栈和程序计数器是运行是线程私有的内存区域五、JVM采用的架构由于跨平台的特性,JVM采用基于栈的指令集架构,无需硬件支持,更好实现跨平台特性

与JVM采用架构相对的另一指令集架构:基于寄存器的指令集架构六、JVM声明周期1.启动通过引导类加载器(bootstrapclassloader)创建一个初始类(initialclass)来完成的,这个类是由虚拟机的具体实现指定的

2.执行一个运行中的java虚拟机有着一个清晰的任务:执行Java程序程序开始执行的时候他才运行,程序结束时他就停止执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程3.结束

程序正常执行结束程序异常或错误而异常终止操作系统错误导致终止某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次exit或halt操作

除此之外,JNI规范描述了用JNIInvocationAPI来加载或卸载Java虚拟机时,Java虚拟机的退出情况

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻240