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

python网站开发实战网站优化 推广

python网站开发实战,网站优化 推广,中国女排赛程时间最新消息,网站建设步骤pptJava内存区域与内存溢出异常 运行时数据区域程序计数器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.dnsts.com.cn/news/243934.html

相关文章:

  • 网站开发 专有名词如何免费开自己的网站
  • 自己网站做优化的有权利卖么dw做网站 怎么做背景图片
  • 精品网站制作世界500强企业logo图片
  • 怎么电话销售网站建设网站制作 需要什么网络技术
  • 网站建设软件开发工作室整站模板南京网站建设服务公司
  • admin登录网站网页设计师培训学院
  • 网站服务器模式微信网站建设方案
  • 网站开发中文摘要泰安网页建设
  • 韶关市住房和城乡建设部网站秦皇岛网站制作微商城建设
  • 建设网站要求网站开发付款方式
  • 店铺设计网站推荐游戏官网
  • 网站建设一条成都大型网站建设公司
  • 免费注册建网站wordpress模板怎么改成织梦模板
  • 蛇口网站建设网站建设 中企动力 东莞
  • 小型网站开发开题报告范文小网站推广
  • ftp 修改网站临沂网站设计
  • 自己如何搭建网站如何制作自己的公司网站
  • 做网站开发的商标注册多少类wordpress 去掉w
  • 松岗做网站联系电话温州做网站哪家公司好
  • 免费的黄冈网站有哪些平台?做爰片的网站
  • 网站会员后台南昌大学作风建设网站
  • 济南哪里有网站公司衡水移动网站建设价格
  • 个人动漫网站怎么做页面动易网站安装子目录中
  • 网站建设的开发方式济宁网站运营
  • 东城企业网站建设网站制作需要学什么
  • 广州正规的免费建站佛山软件开发培训
  • 网上做调查问卷的网站网站logo怎么做的
  • vue 做电商网站网站备案域名购买
  • 广州手机网站建设公司哪家好网站开发 荣誉资质
  • 租服务器的网站建筑工程网站免费