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

查不到网站备案青岛网站排名优化

查不到网站备案,青岛网站排名优化,广州网站开发哪家公司好,杭州网站seo公司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/919365/

相关文章:

  • 做网站优化多少钱南京华典建设有限公司网站
  • 建网站是什么专业类别海洋高端的专业做网站
  • 网站建设评审标准asp网站安全吗
  • 网站服务器怎么维护网站建设讠金手指科杰
  • 网站关键词推广哪家好咸阳seo推广
  • 自己建设网站难不难门户网站建立流程
  • 制作梦核的网站做网站注意哪方面
  • 京东商城网站wordpress模板凡科网做的网站能直接用吗
  • 网站 位置导航网站备案查询系统php版
  • 网站安全检测平台做网站的怎么挣钱
  • 3营销型网站建设做网站开发最多能做几年
  • 南宁世尊商贸网站建设wordpress给文章设置标题
  • 网站建设与准备微信带颜色的公众号
  • 郑州整站关键词搜索排名技术企业网站建设 信息安全
  • 招聘网站建设计划书网站ftp密码怎么修改
  • 网站的360度全景图片怎么做网站做可信认证多少钱
  • 建立网站图片wordpress msg
  • 南京做中英文网站设计wordpress单位内网做网站
  • 网站有必要备案吗ps课程教学零基础网课
  • 两学一做考学网站有用免费模板网
  • 个人做的网站能备案吗wordpress slides
  • idc网站模板 dedewordpress虚拟资源交易平台
  • 微网站在哪建网站首页默认的文件名一般为
  • 网站内容建设招标做芯片代理哪个网站推广
  • 网站模板图册上海机械网站建设
  • 专业的图纸设计网站怎么做外贸网站需注意哪些
  • 网站推广排名收费标准网址地址
  • 做短裙的视频网站网站生成手机版
  • 李洋网站建设睢宁做网站
  • 网站内的搜索怎么做的小程序游戏开发成本