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

核工业南京建设集团网站网页素材免费下载

核工业南京建设集团网站,网页素材免费下载,php做不了大型网站,wordpress sql serverJava内存区域与内存溢出异常 运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存 实例堆溢出栈溢出 运行时数据区域 根据《Java虚拟机规范的规定》#xff0c;Java虚拟机所管理的内存将会包含已下架几个运行时数据区域。 程序计数器 在Java虚… Java内存区域与内存溢出异常 运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存 实例堆溢出栈溢出 运行时数据区域 根据《Java虚拟机规范的规定》Java虚拟机所管理的内存将会包含已下架几个运行时数据区域。 程序计数器 在Java虚拟机的概念模型里字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令它是程序控制流的指示器分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 此内存区域是唯一一个在《Java虚拟机规范》中没有规定任何OutOfMemoryError情况的区域。 Java虚拟机栈 Java虚拟机栈也是线程私有的它的生命周期和线程相同。虚拟机描述的是Java方法执行的线程内存模型每个方法被执行的时候Java虚拟机都会同步一个栈帧用于存储局部变量表、操作书栈、动态连接、方法出口等信息。 在《Java虚拟机规范》中对这个内存区域规定了两类异常情况如果线程请求的栈深度大于虚拟机所运行的深度将抛出StackOverflowError异常如果Java虚拟机栈容量可以动态扩展当栈扩展时无法申请到足够的内存会抛出OutOfMemoryError异常。 本地方法栈 本地方法栈与虚拟机栈所发挥的作用是非常相似的其区别只是虚拟机栈为虚拟机执行Java方法也就是字节码服务而本地方法栈则是为虚拟机使用的本地Native方法服务。 与虚拟机栈一样本地方法栈也会抛出StackOverflowError异常和OutOfMemoryError异常。 Java堆 对于Java应用程序来说Java堆是虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域在虚拟机启动是创建。此内存区域的唯一目的就是存放对象实例。Java堆是垃圾收集器管理的内存区域因此一些资料中它也被称作“GC堆”。 Java堆既可以被实现成固定大小的也可以是可扩展的不过当前主流的Java虚拟机都是按照可扩展来实现的通过参数-Xmx和-Xms设定。如果在Java堆中没有内存完成实例分配并且堆也无法扩展时Java虚拟机会抛出OutOfMemoryError异常。 方法区 方法区和Java堆一样是各个线程共享的内存区域它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编编译后的代码缓存等数据。 根据《Java虚拟机规范》的规定如果方法区无法满足新的内存分配需求时将抛出OutOfMemoryError异常。 运行时常量池 运行时常量池是方法区的一部分。Class文件除了有类的版本、字段、方法、接口等描述信息外还有一项信息是常量池表用于存放编译期生成的各种字面量与符号引用这部分内容将在类加载后存放到方法区的运行时常量池中。 常量池无法满足新的内存分配需求时将抛出OutOfMemoryError异常。 直接内存 直接内存并不是数据区的一部分但是这部分内存也被频繁使用而且可能导致OOM异常。 在JDK1.4中新加入的NIO类引入可基于通道与缓冲区的I/O方式他可以使用Native函数库直接分配堆外内存。 实例 堆溢出 package jvm.dir01;import java.util.ArrayList; import java.util.List;public class HeapOOM {static class OOMObject{}public static void main(String[] args) {ListOOMObject list new ArrayList();while (true) {list.add(new OOMObject());}} }Exception in thread main java.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOf(Arrays.java:3210)at java.util.Arrays.copyOf(Arrays.java:3181)at java.util.ArrayList.grow(ArrayList.java:267)at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:241)at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:233)at java.util.ArrayList.add(ArrayList.java:464)at jvm.dir01.HeapOOM.main(HeapOOM.java:14) 栈溢出 package jvm.dir01;public class JavaVMStackSOF {int count 1;public void stackLeak() {count;stackLeak();}public static void main(String[] args) {JavaVMStackSOF javaVMStackSOF new JavaVMStackSOF();try {javaVMStackSOF.stackLeak();}catch (Exception e){System.out.println(length javaVMStackSOF.count);throw e;}} }Exception in thread main java.lang.StackOverflowErrorat jvm.dir01.JavaVMStackSOF.stackLeak(JavaVMStackSOF.java:9)at jvm.dir01.JavaVMStackSOF.stackLeak(JavaVMStackSOF.java:9)
http://www.w-s-a.com/news/25884/

相关文章:

  • 佛山模板建站宣传片制作公司电话
  • 文字网站居中能自己做网站接业务吗
  • 免备案自助建站网站广州珈瑶公司是哪一年注册的
  • ps做网站界面wordpress为图片添加圆角
  • seo优化推广业务员招聘seo顾问服务福建
  • 成都私人网站建设seo网站推广方案策划书
  • 广州网站建设工作室wordpress log
  • 网站后台添加wordpress h1标签优化
  • 自己做网站都需要什么高密 网站建设
  • 网站语言选择郑州本地做团购的网站
  • dw网页设计模板图片谷歌wordpress优化
  • 网站seo优化要怎么做礼品公司怎么做网站
  • 做网页网站需要钱吗提供常州微信网站建设
  • 网站建设文化效果广东网站建设哪家有
  • 毕业设计做网站怎样做特别一点在线网页制作软件
  • html网站代码上海这边敲墙拆旧做啥网站的比较多
  • 微网站怎么用在线crm管理系统
  • 中国城乡建设部人力网站首页如何利用某个软件做一个网站
  • 个人承接网站建设wordpress editor
  • 建站主机 wordpress专业的菏泽网站建设公司
  • 网站响应时间 标准网站建设色调的
  • 网站开发的合同网站建设 设计
  • 网站开发设置网页端口申请免费个人网站空间
  • 制作广告网站的步骤云服务器做网站
  • ipv6可以做网站吗东莞网站建站推广
  • 注册功能的网站怎么做做网站容易还是编程容易
  • wordpress建立目录seo编辑培训
  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50