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

搜索引擎网站入口视频工厂网站建设

搜索引擎网站入口,视频工厂网站建设,手机百度引擎搜索入口,宁夏网站建设哪家好Java虚拟机运行时数据区结构如图所示 程序计数器 程序计数器#xff08;Program Counter Register#xff09;是一块较小的内存空间#xff0c;它可以看作是当前线程所执行的字节码的行号指示器。 多线程切换时#xff0c;为了能恢复到正确的执行位置#xff0c;每条线程…Java虚拟机运行时数据区结构如图所示 程序计数器 程序计数器Program Counter Register是一块较小的内存空间它可以看作是当前线程所执行的字节码的行号指示器。 多线程切换时为了能恢复到正确的执行位置每条线程都需要有一个独立的程序计数器各条线程之间计数器互不影响独立存储这类区域称为“线程私有”内存。此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。 Java虚拟机栈 Java虚拟机栈Java Virtual Machine Stacks也是线程私有的它的生命周期与线程相同。 每个方法在执行的同时会创建一个栈帧Stack Frame)用于存储 局部变量表。用于保存方法参数和方法内的局部变量在编译阶段就确定了局部变量表的大小。保存有 基本数据类型。boolean、byte、char、short、int、float、long、double对象引用。可能是对象引用指针也可能是指向引用对象的句柄或者其他相关位置。returnAddress类型。指向一个字节码指令的地址。操作数栈。当方法执行和字节码指令执行时操作数栈从局部变量表复制常量或变量入栈随后出栈返回给局部变量表或者方法调用者。动态链接。相对应的是静态链接。静态链接是指将调用方法的符号引用转换为直接引用的过程称为静态链接。在代码编译阶段可知。动态链接是指被调用的目标方法在编译期无法被确定下来只能够在程序运行期将方法的符号引用转换为直接引用。方法出口。 正常完成出口。方法正常退出时恢复上层方法的局部变量表和操作数栈把返回值(如果有的话)压入调用者的操作数栈中调整PC计数器的值以指向方法调用指令后的下一条指令。异常完成出口。由异常处理器表控制。 StackOverflowError异常。虚拟机栈如果配置固定深度当线程请求深度大于虚拟机允许的深度将抛出StackOverflowError异常。OutOfMemoryError异常。虚拟机栈如果配置动态扩展当扩展时无法申请到足够大的内存将抛出OutOfMemoryError异常。 本地方法栈 本地方法栈Native Method Stack与虚拟机栈所发挥的作用是非常相似的它们之间的区别不过是虚拟机栈为虚拟机执行Java方法也就是字节码服务而本地方法栈则为虚拟机使用到的Native方法服务。 有的虚拟机栈和本地方法栈会合二为一。 本地方法栈区域也会抛出StackOverflowError和OutOfMemoryError异常。 Java堆 Java堆Java Heap是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例几乎所有的对象实例都在这里分配内存。所有的对象实例以及数组都要在堆上分配。 从内存回收角度看java堆可以分为 Eden空间From Survivor空间To Survivor空间 从内存分配的角度看java堆可以分为多个线程私有的分配缓冲区Thread Local Allocation BufferTLAB。 Java堆可以处于物理上不连续的内存空间中只要逻辑上是连续的即可就像我们的磁盘空间一样。 当前主流的虚拟机都是按照可扩展来实现的通过-Xmx和-Xms控制如果堆中没有内存可以完成实例分配并且无法再扩展将会抛出OutOfMemoryError异常。 -Xms堆内存的最小Heap值默认为物理内存的1/64但小于1G。默认当空余堆内存大于指定阈值时JVM会减小heap的大小到-Xms指定的大小。-Xmx堆内存的最大Heap值默认为物理内存的1/4。默认当空余堆内存小于指定阈值时JVM会增大Heap到-Xmx指定的大小。 方法区 方法区Method Area与Java堆一样是各个线程共享的内存区域它用于存储已被虚拟机加载的 类信息常量静态变量即时编译器编译后的代码 方法区还有一个别名叫做Non-Heap非堆目的是与java堆区分开。 由于垃圾回收行为较少出现在方法区所以很多人更愿意称方法区为“永久代”Permanent Generation这是不合适的。在更新版本的HotSpot虚拟机中已经把原本放在永久代的字符串常量池移出。并非数据进入了方法区就如“永久代”的名字一样永远存在了事实上由于低版本的HotSpot虚拟机对方法区未完全回收而产生了很多bug导致内存泄漏的问题。 当方法区无法满足内存分配需求时将抛出OutOfMemoryError异常。 运行时常量池 class文件中的常量池Constant Pool Table用于存放编译期生成的各种字面量和符号引用这部分内容将在类加载后进入方法区的运行时常量池中存放。 Java语言并不要求常量一定只有编译期才能产生也就是并非预置入Class文件中常量池的内容才能进入方法区运行时常量池这种特性被开发人员利用得比较多的便是String类的intern()方法。 当常量池无法再申请到内存时会抛出OutOfMemoryError异常。 直接内存 在JDK 1.4中新加入了NIONew Input/Output类引入了一种基于通道Channel与缓冲区Buffer的I/O方式它可以使用Native函数库直接分配堆外内存然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能因为避免了在Java堆和Native堆中来回复制数据。
http://www.pierceye.com/news/826405/

相关文章:

  • 网站建设 落地页中国石化工程建设有限公司怎么样
  • 网站建设 软文发布wordpress调取列表页
  • php网站服务器架设清远哪里有网页设计培训学费
  • 建站开发搜索引擎排名查询
  • 如何建设自己的网站 知乎怎么做电力设计公司网站
  • 效果图代做网站网站服务体系
  • 成都网站开发团队减肥养生网站建设
  • 个人做网站需要资质吗用php做网站的书籍
  • 开发一个交易网站多少钱做哪类网站比较赚钱
  • 帮人做彩票网站支付接口成都网络推广培训哪家好
  • 电子商务网站建设的教案404 not found wordpress
  • 怎样建设一个购物网站什么网站可以做直播
  • 石家庄网站开发培训灵犀科技网站开发佼佼者
  • 做阿里还是网站三个律师做网站合适吗
  • 梅州做网站设计公司网站 在百度搜索不到
  • 临沂门户网站制作微信附近人推广引流
  • 九龙坡区网站建设外贸是什么工作
  • 贵州省住房和城乡建设厅网站报名网网站开发入职转正申请书
  • 外贸平台哪个网站好做dede网站白屏
  • 可信的手机网站建设服装网站ui设计
  • 江苏网站建设效果好技术支持 英铭网站建设
  • 很多网站开发没有框架如何制作的网站模板制作与安装教程视频教程
  • 小说网站建设目的360如何做网站
  • 永安市住房与城乡建设局网站腾讯邮箱企业邮箱入口登录
  • 手机和wap网站建设wordpress链接 数据库
  • 1688网站简介青岛网站建设系统
  • 优秀网站的特点wordpress 腾讯云oss
  • 深圳专业做网站公司怎么做网站跳转
  • 设计教学网站推荐重庆大渝网
  • 网站建设询价邀请函二级建造师报名的官网