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

校园招生网站建设的简报淄博刚刚发布紧急通知

校园招生网站建设的简报,淄博刚刚发布紧急通知,天津做网站找哪家公司,网络培训的心得体会及时编译器 HotSpot虚拟机中含有两个即时编译器#xff0c;分别是编译耗时短但输出代码优化程度较低的客户端编译器#xff08;简称为C1#xff09;以及编译耗时长但输出代码优化质量也更高的服务端编译器#xff08;简称为C2#xff09;#xff0c;通常它们会在分层编译…及时编译器 HotSpot虚拟机中含有两个即时编译器分别是编译耗时短但输出代码优化程度较低的客户端编译器简称为C1以及编译耗时长但输出代码优化质量也更高的服务端编译器简称为C2通常它们会在分层编译机制下与解释器互相配合来共同构成HotSpot虚拟机的执行子系统。 自JDK 10起HotSpot中又加入了一个全新的即时编译器Graal编译器 Graal编译器是以C2编译器替代者的身份登场的。 运行时数据区域 1、程序计数器 程序计数器Program Counter Register是一块较小的内存空间它可以看作是当前线程所执行的字节码的行号指示器存储当前线程执行的字节码的偏移量。在Java虚拟机的概念模型里字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令它是程序控制流的指示器分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 由于Java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的在任何一个确定的时刻一个处理器对于多核处理器来说是一个内核都只会执行一条线程中的指令。因此为了线程切换后能恢复到正确的执行位置每条线程都需要有一个独立的程序计数器各条线程之间计数器互不影响独立存储我们称这类内存区域为“线程私有”的内存。 2、Java虚拟机栈 与程序计数器一样Java虚拟机栈Java Virtual Machine Stack也是线程私有的它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的线程内存模型每个方法被执行的时候Java虚拟机都会同步创建一个栈帧Stack Frame用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法被调用直至执行完毕的过程就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。       经常有人把Java内存区域笼统地划分为堆内存Heap和栈内存Stack这种划分方式直接继承自传统的C、C程序的内存布局结构在Java语言里就显得有些粗糙了实际的内存区域划分要比这更复杂。不过这种划分方式的流行也间接说明了程序员最关注的、与对象内存分配关系最密切的区域是“堆”和“栈”两块。 “栈”通常就是指这里讲的虚拟机栈或者更多的情况下只是指虚拟机栈中局部变量表部分。 局部变量表存放了编译期可知的各种Java虚拟机基本数据类型boolean、byte、char、short、int、float、long、double、对象引用reference类型它并不等同于对象本身可能是一个指向对象起始地址的引用指针也可能是指向一个代表对象的句柄或者其他与此对象相关的位置和returnAddress类型指向了一条字节码指令的地址。 这些数据类型在局部变量表中的存储空间以局部变量槽Slot来表示其中64位长度的long和double类型的数据会占用两个变量槽其余的数据类型只占用一个。局部变量表所需的内存空间在编译期间完成分配当进入一个方法时这个方法需要在栈帧中分配多大的局部变量空间是完全确定的在方法运行期间不会改变局部变量表的大小。请读者注意这里说的“大小”是指变量槽的数量虚拟机真正使用多大的内存空间譬如按照1个变量槽占用32个比特、64个比特或者更多来实现一个变量槽这是完全由具体的虚拟机实现自行决定的事情。 补充--栈帧 栈帧中存储的是方法所需的数据指令、返回地址等信息虚拟机栈的结构如下 1、虚拟机栈是基于线程的哪怕你只有一个 main() 方法也是以线程的方式运行的。在线程的生命周期中参与执行的方法栈帧会频繁地入栈和出栈虚拟机栈的生命周期是和线程一样的。 2、栈大小每个虚拟机栈的大小缺省为 1M 3、堆栈溢出栈帧深度压栈但并不出栈导致栈空间不足抛出java.lang.StackOverflowError 典型的就是递归调用 4、栈帧的组成栈帧大体都包含四个区域(局部变量表、操作数栈、动态连接、返回地址)如下图所示 1、局部变量表存放我们的局部变量的方法内的变量。首先它是一个32位的长度主要存放我们的 Java的八大基础数据类型一般 32 位就可以存放下如果是 64 位的就使用高低位占用两个也可以存放下如果是局部变量是一个对象存放它的一个引用地址即可。 2、操作数栈存放 java 方法执行的操作数的它也是一个栈操作的的元素可以是任意的 java数据类型一个方法刚刚开始的时候操作数栈为空操作数栈本质上是JVM执行引擎的一个工作区方法在执行才会对操作数栈进行操作。 3、动态链接Java 语言特性多态 4、完成出口正常返回调用程序计数器中的地址作为返回、异常的话通过异常处理器表非栈帧中的来确定  3 本地方法栈 本地方法栈Native Method Stacks与虚拟机栈所发挥的作用是非常相似的其区别只是虚拟机栈为虚拟机执行Java方法也就是字节码服务而本地方法栈则是为虚拟机使用到的本地Native方法服务。 《Java虚拟机规范》对本地方法栈中方法使用的语言、使用方式与数据结构并没有任何强制规定因此具体的虚拟机可以根据需要自由实现它甚至有的Java虚拟机譬如Hot-Spot虚拟机直接就把本地方法栈和虚拟机栈合二为一。与虚拟机栈一样本地方法栈也会在栈深度溢出或者栈扩展失败时分别抛出StackOverflowError和OutOfMemoryError异常。 4 Java堆 对于Java应用程序来说Java堆Java Heap是虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例Java世界里“几乎”所有的对象实例都在这里分配内存。    Java堆是垃圾收集器管理的内存区域因此一些资料中它也被称作“GC堆”Garbage Collected Heap幸好没翻译成“垃圾堆”。  1、堆被划分为新生代和老年代 Tenured 2、新生代与老年代的比例的值为 1:2 该值可以通过参数 –XX:NewRatio 来指定 。3、新生代又被进一步划分为 Eden 和 Survivor 区 Survivor 由 From Survivor 和 To Survivor 组成edenfromto的大小比例为811 可通过参数 -XX:SurvivorRatio 来指定。5 方法区 方法区Method Area与Java堆一样是各个线程共享的内存区域它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分但是它却有一个别名叫作“非堆”Non-Heap目的是与Java堆区分开来。 方法区中存储的信息大致可分以下两类 1、类信息主要指类相关的版本、字段、方法、接口描述、引用等 2、运行时常量池编译阶段生成的常量与符号引用、运行时加入的动态变量 5.1 运行时常量池 运行时常量池Runtime Constant Pool是方法区的一部分。Class文件中除了有类的版本、字段、方法、接口等描述信息外还有一项信息是常量池表Constant Pool Table用于存放编译期生成的各种字面量与符号引用这部分内容将在类加载后存放到方法区的运行时常量池中。 常量池可分两类 1、Class常量池静态常量池 2、运行时常量池 3、字符串常量池没有明确的官方定义其目的是为了更好的使用 String 真实的存储位置在堆6 直接内存 直接内存Direct Memory并不是虚拟机运行时数据区的一部分也不是《Java虚拟机规范》中定义的内存区域。但是这部分内存也被频繁地使用而且也可能导致OutOfMemoryError异常出现所以我们放到这里一起讲解。 本机直接内存的分配不会受到Java堆大小的限制但是既然是内存则肯定还是会受到本机总内存包括物理内存、SWAP分区或者分页文件大小以及处理器寻址空间的限制一般服务器管理员配置虚拟机参数时会根据实际内存去设置-Xmx等参数信息但经常忽略掉直接内存使得各个内存区域总和大于物理内存限制包括物理的和操作系统级的限制从而导致动态扩展时出现OutOfMemoryError异常。 参考文章[三] java虚拟机 JVM字节码 指令集 bytecode 操作码 指令分类用法 助记符 - 腾讯云开发者社区-腾讯云
http://www.hkea.cn/news/14554569/

相关文章:

  • 广西茶叶学会 网站建设做网站就上房山华网天下
  • 北京网站建设建站公司北京网站建设公司排行
  • 美容会所网站模板下载品牌设计案例网站
  • 桂林旅游网站网络优化网站 site
  • 政务网站开发理念cnzz wordpress
  • 珠宝网站建设公司什么是网页设计师
  • 一个服务器下怎么做两个网站用jsp做视频网站
  • 闵行建设机械网站wordpress模板底部
  • 必应网站建设网站需要证件
  • 中国建设银行官方网站纪念币北京本地服务信息网
  • 网站扫二维码怎么做小程序开发定制开发
  • 城乡建设网站首页默认缩略图 wordpress
  • 公司网站建设论文网站建设包括哪些内容
  • 北京定制网站国外做伞的品牌网站
  • 建设网站招标centos7.2做网站
  • 网站开发的前台开发工具百度权重排名高的网站
  • 如何做网站推广的方案设计互联网站备案管理工作方案 工信部
  • 阿旗建设局举报网站长沙河东做网站
  • 巴南市政建设网站网站如何与域名绑定
  • 手机制作小程序软件的app天津企业seo
  • 专门做预言的网站win系统更新后 wordpress
  • 一级做a爱网站免费php网站开发都需要什么软件
  • 大连网络备案做网站有口碑的宁波网站建设
  • 做网站包括什么软件个人简历网页制作代码
  • 途途外贸企业网站管理系统上海有什么公司
  • 制作一个自适应网站培训教育机构
  • 网站建设主要业务流程设定怎么做像天猫类似的网站
  • 网站里的横幅怎么做汕头建站模板源码
  • 学做网站后台开发长春做网站建设的公司
  • 宁波外贸公司为什么这么多怎么优化网站关键词的方法