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

临沂罗庄做网站公司中国林业工程建设协会网站

临沂罗庄做网站公司,中国林业工程建设协会网站,net建站系统,农业网站模板在学习 Java 虚拟机(后面简称#xff1a; JVM )中的垃圾回收机制(GC)之前#xff0c;先需要了解 在 JVM 中的 Java 程序(class 文件)加载到内存之后到底是怎么存的。在阅读了 JVM规范 和周志明的 《深入理解Java虚拟机(第2版)》 之后#xff0c;总结一下JVM中的内存划分以及…在学习 Java 虚拟机(后面简称 JVM )中的垃圾回收机制(GC)之前先需要了解 在 JVM 中的 Java 程序(class 文件)加载到内存之后到底是怎么存的。在阅读了 JVM规范 和周志明的 《深入理解Java虚拟机(第2版)》 之后总结一下JVM中的内存划分以及各个区域的作用。在JVM规范中定义了5种运行时的数据区域程序计数器(Program Counter Register)、Java虚拟机栈(JVM Stacks)、堆(Heap)、方法区(Method Area)、运行时常量池(Runtime Constant Pool)、本地方法栈(Native Method Stack)。在周志明的书中还提到了直接内存(Direct Memory)它并不是JVM运行时数据区域的一部分在JVM的规范中也没有相关的定义。下面分别来说明各自的用途。程序计数器程序计数器也叫PC Register。它的用途很单一但是却是很多功能的基础。如果线程当前执行的是Native方法那么寄存器里的值就是Undefined如果线程当前执行的是非Native方法那么寄存器里的值就是当前执行的JVM字节码指令的地址。像我们常用的分支、循环、跳转、异常处理、线程恢复等都依赖于它。由于JVM支持多个线程同时执行所以每个线程都有一个独立的程序计数器各个线程互不影响这类内存区域也称之为 线程私有 的。Java虚拟机栈虚拟机栈也是 线程私有 的随着一个线程的创建而创建主要用来存储栈帧(Stack Frame)。什么是栈帧呢在Java中每个方法在执行时就会先创建一个栈帧并放入虚拟机栈中在方法执行完毕时再从虚拟机栈中移除该栈帧。它主要用来存储局部变量表、操作数栈、动态链接、方法出口等信息。我们常说的堆(Heap)和栈(Stack)中的栈指的就是虚拟机栈。在JVM规范中并没有对虚拟机栈空间的大小做限制可以设置为固定大小的也可以设置为可扩展的。但是在规范中定义了两种异常情况StackOverflowErrorOutOfMemoryError堆相比而言堆在JVM管理的内存区域中属于最大的一块随着虚拟机的启动而创建用来存储所有的class实例和数组所有 线程共享 这一区域该区域也是垃圾回收的主要区域。虽然JVM规范中说所有的对象实例都在该区域分配空间但是随着JIT技术的逐步发展这一说法也不严谨了。堆空间的大小也可以设置为固定大小或者可扩展的。但不管是何种方式规范中还是定义了一种异常场景如果计算需要更多的堆空间而无法满足时则会抛出 OutOfMemoryError 异常。方法区方法区和堆一样也是随着虚拟机启动而创建所有 线程共享 主要用来存储被JVM加载的类信息、常量、静态变量等信息。JVM规范中并未严格要求要对该区域进行垃圾回收但是HotSpot虚拟机在垃圾回收的时候还是会考虑该区域在分代垃圾回收中所说的“ 永久代 ”指的就是方法区。方法区的大小也可以设置为固定大小或者可扩展的。但不管是何种方式规范中还是定义了一种异常场景如果计算需要更多的方法区空间而无法满足时则会抛出 OutOfMemoryError 异常。运行时常量池运行时常量池是方法区的一部分用于存储编译期生成的各种字面量和符号引用。在Java中并不要求常量一定只有编译期才能产生运行期间也可能将新的常量放入池中例如 String 类的 intern() 方法。每个运行时常量池都是随着一个类或者接口的创建而创建的。在规范中定义了一种异常场景在创建一个类或者接口时如果运行时的常量池无法分配到足够的空间时则会抛出 OutOfMemoryError 异常。本地方法栈本地方法栈和虚拟机栈类似也是 线程私有 的随着一个线程的创建而创建只不过虚拟机栈是用来服务Java方法调用而本地方法栈是用来服务本地方法调用的。在JVM规范中并没有对本地方法栈空间的大小做限制可以设置为固定大小的也可以设置为可扩展的。在规范中也定义了两种异常情况StackOverflowErrorOutOfMemoryError直接内存 *直接内存不受虚拟机参数的控制在NIO中有一种基于通道(Channel)与缓冲区(Buffer)的I/O方式它可以通过Native方法在堆外分配内存然后通过DirectByteBuffer对象来引用这块内存。因为避免了在Java堆和Native堆之间来回复制数据从而在某些场景中能够得到性能的提升。一旦使用的直接内存超过了物理内存的总和则会抛出 OutOfMemoryError 异常。end如果你觉得本文对你有帮助的话记得关注点赞转发你的支持就是我更新动力。
http://www.zqtcl.cn/news/941377/

相关文章:

  • 网站建设毕业设计综述centos 安装wordpress lnmp
  • 济宁专业做网站网站建设中 html
  • 中国排名高的购物网站最新发布的手机2022
  • 备案的网站名与公司名称出国用哪个地图app好
  • 网站建设工作室图片文章资讯类网站
  • 深圳自助建站系统网站题目有哪些
  • 郑州做网站kuihuakeji软文发布的平台与板块
  • 一那个网站可以做一建题安全文化企业示范企业评价标准
  • 网站没有关键词收录phpstudy配置网站
  • 返利网站怎么做的做网站推广见客户的话术
  • 两个人看的视频在线观看成都网站seo厂家
  • 做汽车配件出口用什么网站好些微信朋友圈营销技巧
  • 怎样建设传奇网站空间什么做电子书下载网站
  • 自己怎么做dj 视频网站网站模板制作教程视频
  • 苏州瑞熙网站建设签名图片在线制作
  • 重庆建站模板大全给公司创建网站
  • king cms网站建设上海传媒公司有哪些
  • 优时代网站建设网站建设哪家公司最好
  • 做网站有多难平面设计学徒要学多久
  • 包装网站模板做西式快餐店网站
  • 泉州制作网站软件九歌人工智能诗歌写作网站
  • wordpress安装时失败网站后台seo设置
  • 顺企网吉安网站建设网站设计师岗位职责
  • 佛山市品牌网站建设价格网站设计模板免费
  • 澧县网站建设常用的oa系统办公软件
  • 江门网站推广哪里专业网站显示百度地图
  • 上海微网站网站的营销推广方案及预算
  • 灌南住房建设局网站南京网站开发南京乐识好
  • 万网网站建设步骤公司建设网站能提升什么竞争力
  • 门户网站 页面集成防内涵吧网站源码