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

老山网站建设怎样做商城手机网站

老山网站建设,怎样做商城手机网站,网咖活动营销方案,游戏的制作方法前言 本文所介绍的是 JDK 1.8 版本#xff0c;其他版本的 JDK 在这里并不一定正确#xff1b;内容主要摘自周志明的《深入理解Java虚拟机》一书的关键点#xff0c;并根据自身的理解进行记录。感兴趣的同学可以去阅读原著。 JVM 的内存结构#xff0c;主要包括以下 5 个区…前言 本文所介绍的是 JDK 1.8 版本其他版本的 JDK 在这里并不一定正确内容主要摘自周志明的《深入理解Java虚拟机》一书的关键点并根据自身的理解进行记录。感兴趣的同学可以去阅读原著。 JVM 的内存结构主要包括以下 5 个区域 线程私有 程序计数器、虚拟机栈、本地方法栈 线程共享 方法区、堆 程序计数器 上面讲到程序计数器是线程私有的它指示的是当前线程所执行的字节码行号控制跳转、循环当线程过了 CPU 的时间片就需要用它记录起来方便后续恢复“执行现场”这也是线程私有的原因。该区域是虚拟机规范中唯一一个不会产生内存溢出OutOfMemoryError的区域。 Java 虚拟机栈 Java 虚拟机栈也是线程私有的在方法执行时会创建一个栈帧该栈帧包括了局部变量表、操作数栈、动态链接、方法出口等信息。可以思考一下以下方法执行时对应的是哪一部分 public boolean method(int methodParam) {int localVariable 1;BigDecimal objReference new BigDecimal(3.1415926);double a 1.1;double b 3.6;double c a b;return true; }局部变量表编译期可知的各种 Java 虚拟机基本数据类型boolean、byte、char、short、int、 float、long、double、对象引用reference类型。操作数栈可理解为 Java 虚拟机栈中的一个用于计算的临时数据存储区例如变量 b 与 c 他们要相加得先将它们加到操作数栈中再执行相加的操作这里用到的都是操作数栈以下为字节码文件。 动态链接这个可以类比 c、c 编译时会共用一个库文件以节省内存linux 下为 .so、windows 下为 .dll。方法出口这个见名知意。 在 Java 虚拟机规范中这个内存区域存在两种异常类型达到栈最大深度产生 StackOverflowError 与 动态扩展无法申请到足够内存时产生OutOfMemoryError 。但书中说明在 HotSpot 虚拟机的栈容量是不可以动态扩展的因此不会存在 OutOfMemoryError。 本地方法栈 本地方法栈与虚拟机栈的作用相似它的是为 Native 方法服务的同样也能抛出 StackOverflowError 与 OutOfMemoryError 异常。 Java 堆 堆可谓是与我们打交道最多的一处了我们进行调优也主要是调这个区域的内存分配与回收机制它是线程共享的主要用来存放对象的实例以及字节数组但事实上并非所有的对象都分配在堆上因为后面新版本的逃逸分析技术允许不在堆上分配对象空间。 一般的堆由新生代、老年代组成新生代里面又细分为 Eden 区、Survivor 1、Survivor 2 区大多数的对象都是朝生熄灭很大可能会在新生代就被“消灭”。 在该区域会发生的异常为 OutOfMemoryError下面代码简单验证是否对象一定在堆上分配 // 以下代码执行如果在堆上分配将会出现 OOM但实际却并没有public static void main(String[] args) {// 配置 -Xmx10m如果在堆上分配会立即 OOMwhile (true) {new Clazz();}}static class Clazz {/*** 5MB*/byte[] bytes new byte[1024 * 1024 * 5];}方法区 该区域与堆一样也是线程共享的主要存储已被虚拟机加载的类信息、常量、静态变量、即时编译后代码的缓存等数据可以将它认为是概念性的区域不同版本有不同的实现如 JDK 8 之前由永久代实现JDK 8 由元空间Meta Space实现并放到了直接内存不受 JVM 的参数限制当物理内存不足也会抛出 OutOfMemoryError。 随着发展实际上在最终元空间主要只剩下了类信息其他都没移出下面是历程 运行时常量池是方法区的一部分class 字节码文件除了有类版本号、字段、接口信息、方法信息外还有一份常量池表常量池表主要存储编译期间生成的字面量int a 1,1就是字面量与符号引用类引用其他对象编译期间无法得知因此给个符号标识这部分内容将在类加载后存放到方法区的运行时常量池中。 总结 本文基于 JDK 8介绍了虚拟机的自动内存管理构成以及每个区域是数据线程私有还是共享会发生哪些异常。 如有不对欢迎指正。
http://www.hkea.cn/news/14584706/

相关文章:

  • 如何更改网站标签logo源码搭建app教程
  • 国外做meta分析的网站wordpress插件使用方法
  • 知名的设计公司网站帮忙做简历的网站
  • eclipse的开发网站开发海宁网站开发
  • 温州网站制作建设做汽车网站开题报告的意义
  • 桂林网站推广西安网站seo服务
  • 个人备案域名做企业网站ui设计的优势与不足
  • 自己做的网站可以发布吗WordPress文章拷贝
  • 沈阳论坛建站模板宣传册排版
  • 重庆网站建设网页设计购物网站建设的必要性
  • 体育网站建设的必要性网站有什么到期
  • 手机网站标准字体大小局域网电脑做网站服务器
  • 租用服务器一般是谁帮助维护网站安全销售管理软件属于
  • 宁波专业seo推广价格购物网站seo关键词定位
  • 电子商务网站开发前景统计网站建设
  • 网站系统建设支出分录灰色调网站
  • 娄底建设公司网站如何用自己电脑做销售网站
  • 县城做网站的多么第一推是谁做的网站
  • 大型网站改版扬州做网站多少钱
  • 印刷网站 源码做海外网站交税吗
  • 北京网站建设亿玛酷适合5手机项目工作室
  • 宁夏建设厅官方网站重庆品牌网站建设
  • 学校网站建设方案及报价高端的镇江网站建设
  • 做网站是互联网开发吗施工企业资质证书封皮
  • 系列图标设计网站推荐自己做团购网站怎么样
  • 聊城开发网站建设如何用服务器做网站
  • 新网站怎么做谷歌推广呢网站建设艾瑞市场分析
  • 苏州网站设计服务合肥建设干部学校网站首页
  • 低价机票网站建设怎么做黑客把网站余额更改
  • 网站域名asia是seo必备软件