网站做飘浮怎么做南沙区做网站公司
网站做飘浮怎么做,南沙区做网站公司,抱歉管理员关闭了注册wordpress,浙江省住房城乡建设厅官方网站JVM 的架构模型
Java 编译器输入的指令流基本上是一种基于栈的指令集架构#xff0c;另外一种指令集架构则是基于寄存器的指令集架构。
具体来说#xff0c;这两种架构之间的区别#xff1a;
基于栈式架构的特点#xff1a; 设计和实现更简单#xff0c;适用于资源受限…JVM 的架构模型
Java 编译器输入的指令流基本上是一种基于栈的指令集架构另外一种指令集架构则是基于寄存器的指令集架构。
具体来说这两种架构之间的区别
基于栈式架构的特点 设计和实现更简单适用于资源受限的系统避开了寄存器的分配难题使用零地址指令方式分配指令流中的指令大部分是零地址指令其执行过程依赖于操作栈。指令集更小编译器实现更容易不需要硬件支持可移植性更好更好实现跨平台 基于寄存器架构的特点 典型的应用是 X86 的二进制指令集比如传统的 PC 以及 Android 的 Davlik 虚拟机指令集架构则完全依赖硬件可移植性差性能优秀和执行更高效花费更少的指令去完成一项操作在大部分情况下基于寄存器架构的指令集往往都以一地址指令、二地址指令、三地址指令为主而基于栈式架构的指令集却是以零地址指令为主
由于跨平台的设计Java 的指令都是根据栈来设计的。不同平台的 CPU 架构不同所以不能设计为基于寄存器的。优点是跨平台指令集小编译器容易实现缺点是性能下降实现同样的功能需要更多的指令。
JVM 的生命周期
虚拟机的启动
Java 虚拟机的启动是通过引导类加载器bootstrap class loader创建一个初始类initial class来完成的这个类是由虚拟机的具体实现指定的。
虚拟机的执行
一个运行中的 Java 虚拟机有着一个清晰的任务执行 Java 程序程序开始执行时它才运行程序结束的时候它就停止执行一个所谓的 Java 程序的时候真正在执行的是一个叫做 Java 虚拟机的进程
虚拟机的退出
虚拟机的退出有如下几种情况
程序正常执行结束程序在执行过程中遇到了异常或错误而异常终止由于操作系统出现错误而导致 Java 虚拟机进程终止某线程调用 Runtime 类或 System 类的 exit 方法或 Runtime 类的 halt 方法并且 Java 安全管理器也允许这次 exit 或 halt 操作除此之外JNIJava Native Interface规范描述了用 JNI Invocation API 来加载或卸载 Java 虚拟机时Java 虚拟机的退出情况
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90245.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!