当前位置: 首页 > news >正文

货到付款网站怎么做自己做网站

货到付款网站怎么做,自己做网站,厚街网站仿做,app研发费用目录 虚拟机 java虚拟机 简介 特点 作用 位置 整体结构 类装载子系统 运行时数据区 java执行引擎 Java代码执行流程 jvm架构模型 基于栈式架构 基于寄存器架构 总结 jvm的生命周期 1.启动 2.执行 3.退出 JVM的发展历程 虚拟机 所谓虚拟机,指的…

目录

虚拟机

java虚拟机

简介

特点

作用

位置

整体结构

类装载子系统

运行时数据区

java执行引擎

Java代码执行流程

jvm架构模型

基于栈式架构

基于寄存器架构

总结

jvm的生命周期

1.启动

2.执行

3.退出

JVM的发展历程


虚拟机

所谓虚拟机,指的是一台虚拟的计算机。它是一款软件,用来执行一系列的虚拟计算机命令。虚拟机可以分为系统虚拟机和程序虚拟机。

系统虚拟机:对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台

程序虚拟机:专门为了执行单个计算机程序而设计,在Java虚拟机中执行指令

java虚拟机

Java是目前最广泛的软件开发平台之一,拥有完善且不断壮大的社区,作为一个平台Java虚拟机扮演者举足轻重的作用

每个语言都需要转换成字节码文件,最后转换的字节码文件能通过Java虚拟机进行运行和处理

简介

        Java虚拟机是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成

        JVM平台的各种语言可以共享Java虚拟机带来的跨平台性、优秀的垃圾回器,以及可靠的即时编译器

        Java技术的核心就是Java虚拟机,因为所有的Java程序都运行在Java虚拟机内部

特点

        1.一次编译,到处运行

        2.自动内存管理

        3.自动垃圾回收机制

作用

        Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令。

位置

JVM是运行在操作系统之上的,它与硬件没有直接的交互

整体结构

JVM由类装载子系统、运行时数据区、java执行引擎三部分组成;三部分相辅相成共同工作,不能单纯的说只有执行完某一个部分才由下一个部分来工作,从JVM运行开始,三个类加载器就要开始创建,并且类加载器的一些信息也要放在运行时数据区

类装载子系统

        .class文件通过类装载系统进行加载,验证等一系列操作,在这个过程中将需要存储到内存的数据放到运行时数据区

运行时数据区

        java栈:线程独享;每个线程栈存放执行的方法,每个方法为一个栈帧

        本地方法栈:线程独享;类似于虚拟机栈,这里调用的是native的方法

        程序计数器:线程独享;存放每个线程中指令执行到哪一个

        方法区:线程独享;类信息,常量,静态变量等

        堆:线程独享;对象存放位置

java执行引擎

用于执行栈中指令,一条一条的指令读取,类似一个cpu,我们的虚拟机栈中操作数栈弹栈进行运算的运算就是由执行引擎进一步完成的
 

Java代码执行流程

1.Java代码通过编译器,转化生成为字节码文件

2.字节码文件在虚拟机上进行解析

3.操作系统执行

jvm架构模型

Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构

基于栈式架构

        1.设计和实现更简单,适用于资源受限的系统

        2.避开了寄存器的分配难题,使用零地址指令方式分配

        3.指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。

        4.不需要硬件支持,可移植性更好,更好的实现跨平台

零地址指令:是机器指令的一种,是指令系统中的一种不设地址字段的指令,只有操作码,没有操作数。这种指令有两种情况:一是无需操作数,另一种是操作数为默认的(隐含的),默认为操作数在寄存器中,指令可直接访问寄存器。

机器指令:机器语言的语句称为机器指令。又将全部机器指令的集合称为机器的指令系统

基于寄存器架构

        1.指令集架构则完全依赖硬件,可移植性差

        2.性能优秀和执行力更高效

        3.花费更少的指令去完成一项操作

        4.在大部分情况下,基于寄存器架构的指令集往往都以一地址指令、二地址指令和三地址指令为主

总结

由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。

jvm的生命周期

分为:启动、执行、退出,三个阶段

1.启动

        通过引导类加载器创建一个初始类来完成,这个类是由虚拟机的具体实现指定的

2.执行

        一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序

        程序开始执行时他才运行,程序结束时他就停止

        执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程

3.退出

退出的情况:

       1.程序正常结束

       2.程序在执行过程中遇到了异常或者错误而终止

       3.操作系统出现错误而导致jvm进程终止

       4.某线程调用 Runtime 类或System 类 的exit 方法, 或 Runtime 类的 halt 方法,并且 Java 安全管理器也允许这次 exit 或 half 操作

       5.卸载虚拟机

JVM的发展历程

1.Sun Classic VM:世界上第一款商用Java虚拟机

2.Exact VM:具备现代高性能虚拟机的雏形

3.HotSpot VM:目前Hotspot占有绝对的市场地位,称霸武林

4.JRockit:专注于服务器端应用,是世界上最快的JVM

5.IBM的J9:市场定位与HotSpot接近,服务器端、桌面应用、嵌入式等多用途VM

6.CLDC Hotspot:简单、轻量、高度可移植,面向更低端的设备上还维持自己的一片市场

7.Azul VM:与特定硬件平台绑定、软硬件配合的专有虚拟机

8.Liquid VM:不需要操作系统的支持,或者说它自己本身实现了一个专用操作系统的必要功能,如线程调度、文件系统、网络支持等

9.Apache Harmony:IBM和Intel联合开发的开源JVM,受到同样开源的OpenJDK的压制,Sun坚决不让Harmony获得JCP认证,最终于2011年退役

10.Micorsoft JVM:只能在Windows平台下运行。但确是当时Windows下性能最好的Java VM

11.Taobao JVM:基于OpenJDK 开发了自己的定制版本AlibabaJDK,简称AJDK。是整个阿里Java体系的基石。国内第一个优化、深度定制且开源的高性能服务器版Java虚拟机

12.Dalvik VM:只能称作虚拟机,而不能称作“Java虚拟机”,它没有遵循 Java虚拟机规范,不能直接执行Java的Class文件

13.Graal VM:在HotSpot VM基础上增强而成的跨语言全栈虚拟机,可以作为“任何语言” 的运行平台使用

具体JVM的内存结构,其实取决于其实现,不同厂商的JVM,或者同一厂商发布的不同版本,都有可能存在一定差异。主要以Oracle HotSpot VM为默认虚拟机。

http://www.dt0577.cn/news/38180.html

相关文章:

  • 备案ip 查询网站百度软件中心官网
  • 网站制作公司电话百度教育官网登录入口
  • c语言做项目网站csdn晋江怎么交换友情链接
  • 网站排版尺寸关键词优化包年推广
  • 其他公司盗用公司名做网站百度统计登录
  • 做外贸找产品上哪个网站好新型网络营销模式
  • 无网站做百度推广优化设计七年级上册语文答案
  • 呼和浩特企业网站建设宁波核心关键词seo收费
  • wordpress 文章分类id网站排名优化公司哪家好
  • 个人网页模板网站seo网站优化论文
  • 高端网站设计报价微博推广方法有哪些
  • 做网站一般的尺寸青岛网站运营
  • 雄安企业网站建设seo管理系统创作
  • b2c电子商务有哪些seo网站关键词
  • 手机网站生成百度的营销中心上班怎么样
  • 哪个网站能下载gif南宁网站seo优化公司
  • 做网站的 视频小说网站排名
  • 2018网站建设搜索引擎主要包括三个部分
  • 云南旅行社网站建设销售渠道
  • 软件网站建设基本流程页优化软件
  • 一个网站开发项目小组成员星巴克网络营销案例分析
  • 企业做一个网站多少钱营销托管全网营销推广
  • 郑州中扬科技网站建设公司怎么样中文网站排行榜
  • 沧州网站建设 3tseo网络营销项目策划
  • 政府网站建设 便捷长春网站seo哪家好
  • dw做的网站链接seo都用在哪些网站
  • 乌鲁木齐做网站的公司长沙seo招聘
  • 做招商加盟网站怎么做怎么自己开发网站
  • 网站开发提高加载速度做网站建设公司
  • 河南新闻频道网站关键词怎样优化