课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java虚拟机是大多数程序员在学习Java编程开发语言的时候都需要重点掌握的一个编程知识点,下面我们就通过案例分析来了解一下,Java编程虚拟机的架构模型
Java编译器输入的指令流基本上上是一种基于栈的指令集架构。另外一种指令集架构则是基于寄存器的指令集架构。
两种架构的区别:
基于栈的架构
设计实现简单,适用于资源受限的系统
避开了寄存器分配的难题:使用零地址指令方式分配
指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈,指令集更小,编译器容易实现。
栈是内存的一部分,不需要其他硬件的支持,可移植性好,跨平台性好
栈和寄存器
内存是CPU和硬盘之间的通道
内存如同一个仓库,堆,栈是仓库中开辟的一个规则有序的仓库区,而寄存器就是生产线上的一个容器
堆,栈是属于内存区的一部分,堆,栈是内存中的一种数据结构
而寄存器则是CPU中的一部分。寄存器是CPU的存储器.速度快
JVM的生命周期
启动
Java虚拟机的启动是通过引导类加载器(bootstrapclassloader)创建一个初始的类(initialclass)来完成的。
虚拟机的执行
一个运行中的Java虚拟机有一个清晰的任务:执行Java程序
程序开始JVM开始运行,程序结束,JVM也随之结束
执行一个所谓的Java程序的时候,真真正正执行的是一个Java虚拟机的进程
退出
程序正常退出
程序在执行过程中遇到异常或错误
操作系统错误,导致java虚拟机进程终止
某线程调用System.exit()方法退出
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。