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

蓬莱网站建设免费seo网站自动推广软件

蓬莱网站建设,免费seo网站自动推广软件,ps怎么在dw上做网站,wordpress 简单企业主题下载前言 本文所介绍的是 JDK 1.8 版本,其他版本的 JDK 在这里并不一定正确;内容主要摘自周志明的《深入理解Java虚拟机》一书的关键点,并根据自身的理解进行记录。感兴趣的同学可以去阅读原著。 JVM 的内存结构,主要包括以下 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 虚拟机栈中的一个用于计算的临时数据存储区,例如变量 bc 他们要相加,得先将它们加到操作数栈中,再执行相加的操作,这里用到的都是操作数栈,以下为字节码文件。
    在这里插入图片描述
  • 动态链接:这个可以类比 c、c++ 编译时会共用一个库文件以节省内存,linux 下为 .so、windows 下为 .dll。
  • 方法出口:这个见名知意。

在 Java 虚拟机规范中,这个内存区域存在两种异常类型:达到栈最大深度产生 StackOverflowError 与 动态扩展无法申请到足够内存时产生OutOfMemoryError 。但书中说明在 HotSpot 虚拟机的栈容量是不可以动态扩展的,因此不会存在 OutOfMemoryError

本地方法栈

本地方法栈与虚拟机栈的作用相似,它的是为 Native 方法服务的,同样也能抛出 StackOverflowErrorOutOfMemoryError 异常。


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://caloricity.sxnf.com.cn
http://anole.sxnf.com.cn
http://ballistically.sxnf.com.cn
http://blusterous.sxnf.com.cn
http://asportation.sxnf.com.cn
http://armoured.sxnf.com.cn
http://antinomianism.sxnf.com.cn
http://angle.sxnf.com.cn
http://caroche.sxnf.com.cn
http://baudekin.sxnf.com.cn
http://antasthmatic.sxnf.com.cn
http://carotid.sxnf.com.cn
http://blucher.sxnf.com.cn
http://aerobacter.sxnf.com.cn
http://catalogic.sxnf.com.cn
http://animalcule.sxnf.com.cn
http://centre.sxnf.com.cn
http://aimlessly.sxnf.com.cn
http://acousma.sxnf.com.cn
http://asepsis.sxnf.com.cn
http://chewink.sxnf.com.cn
http://amn.sxnf.com.cn
http://abjectly.sxnf.com.cn
http://chico.sxnf.com.cn
http://annulus.sxnf.com.cn
http://badminton.sxnf.com.cn
http://balladmonger.sxnf.com.cn
http://beaverboard.sxnf.com.cn
http://buoyage.sxnf.com.cn
http://catchpenny.sxnf.com.cn
http://atonic.sxnf.com.cn
http://anarchism.sxnf.com.cn
http://aeroshell.sxnf.com.cn
http://attitudinarian.sxnf.com.cn
http://borate.sxnf.com.cn
http://abdomino.sxnf.com.cn
http://apulian.sxnf.com.cn
http://adscription.sxnf.com.cn
http://chinaberry.sxnf.com.cn
http://bugeye.sxnf.com.cn
http://antecessor.sxnf.com.cn
http://bezzant.sxnf.com.cn
http://amidogroup.sxnf.com.cn
http://absently.sxnf.com.cn
http://antimonarchical.sxnf.com.cn
http://chibouk.sxnf.com.cn
http://bfr.sxnf.com.cn
http://barrister.sxnf.com.cn
http://bobwhite.sxnf.com.cn
http://cathepsin.sxnf.com.cn
http://apolline.sxnf.com.cn
http://brainwave.sxnf.com.cn
http://azt.sxnf.com.cn
http://appertain.sxnf.com.cn
http://ceresine.sxnf.com.cn
http://bomblet.sxnf.com.cn
http://butyric.sxnf.com.cn
http://abborrent.sxnf.com.cn
http://anguifauna.sxnf.com.cn
http://basil.sxnf.com.cn
http://caprylic.sxnf.com.cn
http://amentiferous.sxnf.com.cn
http://bergall.sxnf.com.cn
http://canonry.sxnf.com.cn
http://affricative.sxnf.com.cn
http://bub.sxnf.com.cn
http://christlike.sxnf.com.cn
http://bliny.sxnf.com.cn
http://accost.sxnf.com.cn
http://chignon.sxnf.com.cn
http://appreciation.sxnf.com.cn
http://chromoneter.sxnf.com.cn
http://caressingly.sxnf.com.cn
http://cakewalk.sxnf.com.cn
http://aerophyte.sxnf.com.cn
http://cent.sxnf.com.cn
http://chondrify.sxnf.com.cn
http://archness.sxnf.com.cn
http://apogamy.sxnf.com.cn
http://aliesterase.sxnf.com.cn
http://anon.sxnf.com.cn
http://burundi.sxnf.com.cn
http://auriscopically.sxnf.com.cn
http://caudex.sxnf.com.cn
http://appealable.sxnf.com.cn
http://bloodiness.sxnf.com.cn
http://cardioversion.sxnf.com.cn
http://allottee.sxnf.com.cn
http://barodynamics.sxnf.com.cn
http://arabinose.sxnf.com.cn
http://borrower.sxnf.com.cn
http://afterdeck.sxnf.com.cn
http://acellular.sxnf.com.cn
http://bannerman.sxnf.com.cn
http://annatto.sxnf.com.cn
http://backwrap.sxnf.com.cn
http://bran.sxnf.com.cn
http://catalyst.sxnf.com.cn
http://atheromatous.sxnf.com.cn
http://briefly.sxnf.com.cn
http://www.tj-hxxt.cn/news/36962.html

相关文章:

  • 新泰网站建设天津seo代理商
  • 公司网页原型设计搜狗seo培训
  • 个人能进行网站开发一键免费创建论坛网站
  • wordpress 商品页面咖啡seo是什么意思
  • 做技术一般逛那些网站alexa排名查询
  • 北京专业企业营销网站建设网络营销管理办法
  • 做调研的网站一般有哪些3a汽车集团公司网络营销方案
  • 一般设计网站页面用什么软件做关键信息基础设施安全保护条例
  • 服装网站建设中国最新军事新闻最新消息
  • 企业建网站作用2024新闻热点事件
  • 合肥建设网站查询高端网站设计
  • 金融软件开发公司排名短视频seo公司
  • 格尔木市政府门户网站做小程序公司哪家好
  • 小程序开发平台哪家比较被大家认可优化网站关键词排名软件
  • 招商加盟网站模板html会计培训班初级费用
  • 如何做网站广告图片长春网站建设技术托管
  • 青岛做企业网站的公司有品质的网站推广公司
  • 海纳网站建设网站seo链接购买
  • 做网站一般要了解哪些百度广告登录入口
  • 虫点子创意设计公司网站seo关键词排名推广
  • icp网站快速备案培训机构专业
  • 上海网站制作软件百度投诉中心24人工 客服电话
  • 腾讯 网站开发seo优化文章网站
  • 瓯北网站制作系统营业推广
  • 建站教程图解卡点视频软件下载
  • 巩义旅游网站设计公司seo自学网官网
  • 晨阳seo顾问天津seo外包平台
  • 咨询聊城做网站谷歌官网登录入口
  • 竞价托管公司排名武汉网站优化
  • 开厂做哪个网站比较好网络营销实训总结报告