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

网站开发师培训网络seo推广

网站开发师培训,网络seo推广,网站公司怎么做的,吉林网络优化多少钱文章目录 1、虚拟机2、Java虚拟机3、JVM的整体结构4、Java代码的执行流程5、JVM的三大功能6、JVM的分类7、JVM的生命周期 1、虚拟机 虚拟机,Virtual Machine,一台虚拟的计算机,用来执行虚拟计算机指令。分为: 系统虚拟机&#x…

在这里插入图片描述

文章目录

  • 1、虚拟机
  • 2、Java虚拟机
  • 3、JVM的整体结构
  • 4、Java代码的执行流程
  • 5、JVM的三大功能
  • 6、JVM的分类
  • 7、JVM的生命周期

1、虚拟机

虚拟机,Virtual Machine,一台虚拟的计算机,用来执行虚拟计算机指令。分为:

  • 系统虚拟机:如VMware,是完全对物理计算机的仿真
  • 程序虚拟机:如JVM,专门为执行单个计算机程序而设计,JVM中执行的指令就是Java字节码指令

不论是哪种类型虚拟机,其上面运行的软件或者程序,都被限制于虚拟机所提供的资源之内。

2、Java虚拟机

JVM,Java Virtual Machine ,即Java虚拟机,一台处理Java字节码文件(解释为二进制文件)的虚拟计算机,本质是一个运行在计算机上的程序。

在这里插入图片描述


JVM运行在操作系统之上,并没有与计算机的硬件做直接的交互。(因此,不同的操作系统,对应着不同的JVM)

JVM ⇒ JRE ⇒ JDK三者的关系:

在这里插入图片描述

在这里插入图片描述

3、JVM的整体结构

以HotSpot为例:

在这里插入图片描述

以上架构分三层看:(首先javac编译器将xx.java源文件编译为xx.class字节码文件)

  • 最上层由类装载器将字节码文件加载到内存中,生成一个大的class对象
  • 中间层,其中方法区、堆区是所有线程共享,而栈、程序计数器、寄存器是一个线程一个
  • 最下层,执行引擎里包括解释器、JIT即时编译器、GC垃圾回收器

上面结构图再详细:

在这里插入图片描述

4、Java代码的执行流程

Java做为一种跨平台的语言,一次编译,到处运行。即Java源代码被成功编译为.class字节码后,换平台运行,无需再次编译。

在这里插入图片描述

具体流程为:

  • Java源文件x.java被编译器javac.exe(JDK自带)编译成字节码文件x.class
  • 类装载器加载字节码文件到JVM
  • JVM执行引擎中的解释器将字节码文件处理成二进制文件
  • 操作系统执行二进制文件和硬件进行交互

在这里插入图片描述
在这里插入图片描述

PS:Java虚拟机不关心运行在其内部的程序是用的什么语言,只要是遵循其规范编译的字节码文件,就都能运行。

在这里插入图片描述

换言之,不是牛在Java,而是JVM。Java是跨平台的语言 ⇐ JVM是跨语言的平台

5、JVM的三大功能

1)解释和运行

把字节码解释成二进制机器码

2)内存管理

自动为对象、方法等分配内存空间,以及回收不再使用的对象

3)即时编译JIT(Just-In-Time)

热点代码(热点代码即很短的时间内被多次调用) 进行优化,提升执行效率。Java如果不做任何优化,性能不如C、C++,因为后者编译后得到的就是机器码,少了解释这一步

在这里插入图片描述

Java多字节码解释为机器码这一步,是为例支持跨平台,有失有得:

在这里插入图片描述

即时编译是将热点代码解释完后保存在内存中,下次执行直接调用,省了一步解释操作的时间:

在这里插入图片描述

6、JVM的分类

  • Sun Classic VM , 1996 + Java1.0 + 只有解释器,没有JIT即时编译器(因此性能较差)
  • Exact VM,Java1.2,准确式内存管理,可直到内存中某个位置的数据具体是什么类型
  • HotSpot VM,JDK1.3时,成为默认的虚拟机
  • JRockit VM,专注于服务器端,不包含解释器
  • IBM的J9,与上面的HotSpot、JRockit是三大商用虚拟机,2017年开源,命名为Open J9
  • KVM和CDC/CLDC Hotspot
  • Microsoft JVM
  • Taobao JVM,阿里

在这里插入图片描述

Open JDK版本的HotSpot可以做二次开发,不管是二开还是开发新的虚拟机,都要遵守Oracle制定的JVM开发规范。最后,默认的HotSpot的发展历程:

在这里插入图片描述

7、JVM的生命周期

STEP1:启动

JVM的启动时通过引导类加载器bootstrap class loader创建一个初始类initial class来完成的,不同的虚拟机,这个类也不同

STEP2:执行

开始执行Java程序时,JVM开始运行,程序执行结束,JVM也就停止了(jsp看JVM进程,会发现其随着程序的结束而结束)

STEP3:退出
  • 程序正常执行结束,JVM退出
  • 程序执行中遇到异常或错误,且一值向上throw到了main方法,main再抛,就到JVM,JVM退出
  • 操作系统出现错误也会可知JVM进程终止,JVM退出
  • 某个线程调用Runtime类或System类的exit方法,或者说是Runtime类的halt方法(底层是native halt0方法)

在这里插入图片描述

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

相关文章:

  • 建设网站费用评估软件外包
  • 只做百度移动端网站可以吗廊坊网站建设公司
  • 货源网 wordpress 模板搜索引擎优化的内容有哪些
  • 北京哪家公司做网站好百度小程序对网站seo
  • 网站建设职业发展前景和现状软文推广文案范文
  • 深圳龙岩技术科技有限公司seo是怎么优化的
  • 专业的手机价格网站建设网络广告怎么做
  • 手机怎样设计网站建设百度sem推广具体做什么
  • 什么叫网站备案奉节县关键词seo排名优化
  • 中原建设信息网 网站个人网站制作多少钱
  • 一般网站服务器配置百度浏览器官网在线使用
  • 学校怎么做网站全国疫情今天最新消息
  • 福州网站建设搭建百度q3财报减亏170亿
  • 做装修网站卖钱枸橼酸西地那非片功效效及作用
  • 宁乡电商网站建设价格企业网站注册
  • 自己怎样制作公司网站百度建站云南服务中心
  • 网站布局有哪些武汉seo公司出 名
  • 网站地图做法做推广咨询服务公司
  • 深圳龙岗做网站的网络广告营销案例
  • asp网站怎么做小程序开发公司哪里强
  • 电子商务网站详细设计电商
  • 简单手机网站源码下载搜索引擎的优化方法有哪些
  • 市北区网站建设数据分析师35岁以后怎么办
  • 上海市闵行区人民政府网站网站流量排行
  • 网站制作公司茂名抖音推广合作方式
  • 温岭做鞋子的网站河北优化seo
  • 政务中心网站建设方案百度云群组
  • 网页设计重庆win10优化大师怎么样
  • 网页升级访问站优化网站的意思
  • wordpress缓存网站首页网络营销的三大基础