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

廊坊网站关键词排名抖音代运营网

廊坊网站关键词排名,抖音代运营网,注册公司步骤和所需材料,广东石油化工建设集团网站目录 1. 栈 2. 堆 3. 方法区 4. 本地方法栈 5. 程序计数器 首先来看一下JVM运行时数据区有哪些。 1. 栈 在介绍JVM栈之前#xff0c;先了解一下 栈帧 概念。 栈帧#xff1a;一个栈帧随着一个方法的调用开始而创建#xff0c;这个方法调用完成而销毁。栈帧内存放者方…目录 1. 栈 2. 堆 3. 方法区 4. 本地方法栈 5. 程序计数器 首先来看一下JVM运行时数据区有哪些。 1. 栈 在介绍JVM栈之前先了解一下 栈帧 概念。 栈帧一个栈帧随着一个方法的调用开始而创建这个方法调用完成而销毁。栈帧内存放者方法中的局部变量操作数栈等数据。 Java栈也称作虚拟机栈Java Vitual Machine StackJVM栈只对栈帧进行存储压栈和出栈操作。 Java栈是Java方法执行的内存模型。下面我们来看一个Java栈图。 Java栈中存放的是一个个的栈帧每个栈帧对应一个被调用的方法在栈帧中包括局部变量表(Local Variables)、操作数栈(Operand Stack)、指向当前方法所属的类的运行时常量池运行时常量池的概念在方法区部分会谈到的引用(Reference to runtime constant pool)、方法返回地址(Return Address)和一些额外的附加信息。 当线程执行一个方法时就会随之创建一个对应的栈帧并将建立的栈帧压栈。当方法执行完毕之后便会将栈帧出栈。 因此可知线程当前执行的方法所对应的栈帧必定位于Java栈的顶部。 对于所有的程序设计语言来说栈这部分空间对程序员来说是不透明的。  栈内存的大小可以有两种设置固定值和根据线程需要动态增长。 在JVM栈这个数据区可能会发生抛出两种错误。 StackOverflowError 出现在栈内存设置成固定值的时候当程序执行需要的栈内存超过设定的固定值会抛出这个错误。OutOfMemoryError 出现在栈内存设置成动态增长的时候当JVM尝试申请的内存大小超过了其可用内存时会抛出这个错误。 总结 每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象)。对象都存放在堆区中。每个栈中的数据(基础数据类型和对象引用)都是私有的其他栈不能访问。栈分为3个部分基本类型变量执行环境上下文操作指令区(存放操作指令).在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时Java就在栈中为这个变量分配内存空间当该变量退出该作用域后Java会自动释放掉为该变量所分配的内存空间该内存空间可以立即被另作他用。 2. 堆 堆数据区是用来存放对象和数组特殊的对象。堆内存由多个线程共享。堆内存随着JVM启动而创建。 众所周知Java中有一个很好的特性就是自动垃圾回收。垃圾回收就操作这个数据区来回收对象进而释放内存。 如果堆内存剩余的内存不足以满足于对象创建JVM会抛出OutOfMemoryError错误。 总结 存储的全部是对象每个对象包含一个与之对应的class信息–class的目的是得到操作指令。jvm只有一个堆区heap被所有线程共享堆区中不存放基本类型和对象引用只存放对象本身。堆的优势是可以动态地分配内存大小生存期也不必事先告诉编译器因为它是在运行时动态分配内存的Java的垃圾收集器会自动收走这些不再使用的数据。缺点是由于要在运行时动态分配内存存取速度较慢。 3. 方法区 方法区在JVM中也是一个非常重要的区域它与堆一样是被线程共享的区域。 在方法区中存储了每个类的信息包括类的名称、方法信息、字段信息、静态变量、常量以及编译器编译后的代码等。 在Class文件中除了类的字段、方法、接口等描述信息外还有一项信息是常量池用来存储编译期间生成的字面量和符号引用。 在方法区中有一个非常重要的部分就是运行时常量池它是每一个类或接口的常量池的运行时表示形式在类和接口被加载到JVM后对应的运行时常量池就被创建出来。 当然并非Class文件常量池中的内容才能进入运行时常量池在运行期间也可将新的常量放入运行时常量池中比如String的intern方法。 4. 本地方法栈 一个支持native方法调用的JVM实现需要有这样一个数据区就是本地方法栈。 Java官方对于本地方法的定义为methods written in a language other than the Java programming language就是使用非Java语言实现的方法但是通常我们指的一般为C或者C因此这个栈也有着C栈这一称号。 一个不支持本地方法执行的JVM没有必要实现这个数据区域。 本地方法栈基本和JVM栈一样其大小也是可以设置为固定值或者动态增加因此也会对应抛出StackOverflowError和OutOfMemoryError错误。 在HotSopt虚拟机中直接就把本地方法栈和Java栈合二为一。 5. 程序计数器 在通用的计算机体系中程序计数器用来记录当前正在执行的指令在JVM中也是如此。 程序计数器是线程私有所以当一个新的线程创建时程序计数器也会创建。 由于Java是支持多线程Java中的程序计数器用来记录当前线程中正在执行的指令。 如果当前正在执行的方法是本地方法那么此刻程序计数器的值为undefined。 注意这个区域是唯一一个不抛出OutOfMemoryError的运行时数据区。 参考自https://blog.csdn.net/zhangqilugrubby/article/details/59110906
http://www.tj-hxxt.cn/news/226153.html

相关文章:

  • jsp网站开发总结马云做中国最大的网站
  • 想制作一个网站要多少钱四川网站建设seo
  • 龙岩网站建设方案优化个人电脑搭建云服务器
  • 网站首页图片轮转怎么建设在线视频网站
  • 企业做网站的流程用表格做的网站
  • 九龙坡建站公司沈阳免费seo关键词优化排名
  • 成都网站建设思乐科技公司太原网站制作网页
  • 网站备案查询网址网站开发系统设计怎么写
  • 购买的网站平台建设服务计入微信链接的微网站怎么做
  • 建设分销网站百度关键词推广价格查询
  • 东莞企业网站推广技巧可以做围棋习题的网站
  • 做外贸进大公司网站设计一套网页要多少钱
  • 中英文网站建设燕郊的大型网站建设
  • 搜索引擎营销的方式苏州百度 seo
  • 网站封面制作网站加地图标记
  • 汕头教育的网站建设中天建设第四网站
  • 临沂酒店建设信息网站小型办公室网络组建
  • 网站制作优质公司网站安全建设 需求分析
  • 专业网站设计学校企业营销型网站建设厂家
  • 网站位置导航wordpress wpml 下载
  • 模特公司网站模板重庆点优建设网站公司
  • 简单个人网站网页设计色彩搭配
  • asp做的静态网站卡不卡网站做了301重定向域名会自动跳转吗
  • 太原有网站工程公司吗shop商城系统
  • 私人定制平台网站WordPress显示加载时间
  • 网站 配色百度竞价排名魏则西
  • 网站做兼容需要多少钱短网址生成防红
  • 最新网站开发建设教材网站登录界面模板html
  • 电子商务网站运营方案vp代理商网站管理系统
  • 个人网站建立内容网站建设佰首选金手指十六