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

网上营销型网站有哪些购车网站设计

网上营销型网站有哪些,购车网站设计,手机营销软件,母婴电子商务网站建设转载自 聊下JVM内存模型 1. JVM内存模型 2. 程序计数器(PC) 每个线程都会有自己私有的程序计数器(PC)。可以看作是当前线程所执行的字节码的行号指示器。 也可以理解为下一条将要执行的指令的地址或者行号。字节码解释器就是通过改变这个计数器的值来选取下一条需要执行的字节码…转载自 聊下JVM内存模型 1. JVM内存模型 2. 程序计数器(PC) 每个线程都会有自己私有的程序计数器(PC)。可以看作是当前线程所执行的字节码的行号指示器。 也可以理解为下一条将要执行的指令的地址或者行号。字节码解释器就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、 循环、 跳转、 异常处理、 线程上下文切换线程恢复时都要依赖PC. 如果线程正在执行的是一个Java方法PC值为正在执行的虚拟机字节码指令的地址 如果线程正在执行的是Native方法PC值为空(未定义) 3.虚拟机栈(VM Stack) VM Stack也是线程私有的区域。他是java方法执行时的字典它里面记录了局部变量表、 操作数栈、 动态链接、 方法出口等信息。 在《java虚拟机规范》一书中对这部分的描述如下 栈帧 Frame是用来存储数据和部分过程结果的数据结构同时也被用来处理动态链接 (Dynamic Linking)、 方法返回值和异常分派 Dispatch Exception。 栈帧随着方法调用而创建随着方法结束而销毁——无论方法是正常完成还是异常完成抛出了在方法内未被捕获的异常都算作方法结束。 栈帧的存储空间分配在 Java 虚拟机栈 §2.5.5之中每一个栈帧都有自己的局部变量表 Local Variables §2.6.1、操作数栈 OperandStack §2.6.2和指向当前方法所属的类的运行时常量池 §2.5.5的引用。 说白了VM Stack是一个栈,也是一块内存区域。 所以他是有大小的。虽然有大小,但是一般而言各种虚拟机的实现都支持动态扩展这部分内存。 如果线程请求的栈深度太大,则抛出StackOverflowError 如果动态扩展时没有足够的大小,则抛出OutOfMemoryError 4. 本地方法栈(Native Method Stack) Java 虚拟机实现可能会使用到传统的栈通常称之为“ C Stacks”来支持 native 方法 指使用 Java 以外的其他语言编写的方法的执行这个栈就是本地方法栈 Native MethodStack。 VM Stack是为执行java方法服务的此处的Native Method Stack是为执行本地方法服务的。 此处的本地方法指定是和具体的底层操作系统层面相关的接口调用了(这部分太高高级了不想深究……)。 《java虚拟机规范》中没有对这部分做具体的规定。所以就由VM的实现者自由发挥了。 有的虚拟机(比如HotSpot)将VM Stack和Native Method Stack合二为一所以VM的另一种内存区域图就如下面所示了 5.Java堆(Heap) 在 Java 虚拟机中堆 Heap是可供各条线程共享的运行时内存区域也是供所有类实例和数组对象分配内存的区域。 以下是本人对《java虚拟机规范》一书中对Java堆的介绍的总结: 在虚拟机启动的时候就被创建 是所有线程共享的内存区域 存储了被自动内存管理系统所管理的各种对象 这些受管理的对象无需也无法显式地被销毁 自动内存管理系统:Automatic StorageManagement System也即是常说的”Garbage Collector(垃圾收集器)” 并未指明用什么具体的技术去实现自动内存管理系统 Java 堆的容量可以是固定大小的也可以随着程序执行的需求动态扩展并在不需要过多空间时自动收缩 Java 堆所使用的内存不需要保证是连续的 如果实际所需的堆超过了自动内存管理系统能提供的最大容量那 Java 虚拟机将会抛出一个OutOfMemoryError 异常 实现者应当提供给程序员或者最终用户调节 Java 堆初始容量的手段 对于可以动态扩展和收缩 Java 堆来说则应当提供调节其最大、最小容量的手段 所有的对象实例以及数组都要在堆上分配 6.方法区(Method Area) 方法区是由所有线程共享的内存区域。 方法区存储的大致内容如下: 每一个类的结构信息 运行时常量池 Runtime Constant Pool 字段和方法数据 构造函数和普通方法的字节码内容 类、实例、接口初始化时用到的特殊方法 每一个运行时常量池都分配在 Java 虚拟机的方法区之中在类和接口被加载到虚拟机后对应的运行时常量池就被创建出来。 当创建类或接口的时候如果构造运行时常量池所需要的内存空间超过了方法区所能提供的最大值那 Java 虚拟机将会抛出一个 OutOfMemoryError 异常。   7.直接内存(Direct Memory) 此处的直接内存并不是由JVM管理的内存。他是利用本地方法库直接在java堆之外申请的内存区域。 比如NIO中的DirectByteBuffer就是操作直接内存的。 直接内存的好处就是避免了在java堆和native堆直接同步数据的步骤。但是他并不是由JVM来管理的。 1. JVM内存模型 2. 程序计数器(PC) 每个线程都会有自己私有的程序计数器(PC)。可以看作是当前线程所执行的字节码的行号指示器。 也可以理解为下一条将要执行的指令的地址或者行号。字节码解释器就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、 循环、 跳转、 异常处理、 线程上下文切换线程恢复时都要依赖PC. 如果线程正在执行的是一个Java方法PC值为正在执行的虚拟机字节码指令的地址 如果线程正在执行的是Native方法PC值为空(未定义) 3.虚拟机栈(VM Stack) VM Stack也是线程私有的区域。他是java方法执行时的字典它里面记录了局部变量表、 操作数栈、 动态链接、 方法出口等信息。 在《java虚拟机规范》一书中对这部分的描述如下 栈帧 Frame是用来存储数据和部分过程结果的数据结构同时也被用来处理动态链接 (Dynamic Linking)、 方法返回值和异常分派 Dispatch Exception。 栈帧随着方法调用而创建随着方法结束而销毁——无论方法是正常完成还是异常完成抛出了在方法内未被捕获的异常都算作方法结束。 栈帧的存储空间分配在 Java 虚拟机栈 §2.5.5之中每一个栈帧都有自己的局部变量表 Local Variables §2.6.1、操作数栈 OperandStack §2.6.2和指向当前方法所属的类的运行时常量池 §2.5.5的引用。 说白了VM Stack是一个栈,也是一块内存区域。 所以他是有大小的。虽然有大小,但是一般而言各种虚拟机的实现都支持动态扩展这部分内存。 如果线程请求的栈深度太大,则抛出StackOverflowError 如果动态扩展时没有足够的大小,则抛出OutOfMemoryError 4. 本地方法栈(Native Method Stack) Java 虚拟机实现可能会使用到传统的栈通常称之为“ C Stacks”来支持 native 方法 指使用 Java 以外的其他语言编写的方法的执行这个栈就是本地方法栈 Native MethodStack。 VM Stack是为执行java方法服务的此处的Native Method Stack是为执行本地方法服务的。 此处的本地方法指定是和具体的底层操作系统层面相关的接口调用了(这部分太高高级了不想深究……)。 《java虚拟机规范》中没有对这部分做具体的规定。所以就由VM的实现者自由发挥了。 有的虚拟机(比如HotSpot)将VM Stack和Native Method Stack合二为一所以VM的另一种内存区域图就如下面所示了 5.Java堆(Heap) 在 Java 虚拟机中堆 Heap是可供各条线程共享的运行时内存区域也是供所有类实例和数组对象分配内存的区域。 以下是本人对《java虚拟机规范》一书中对Java堆的介绍的总结: 在虚拟机启动的时候就被创建 是所有线程共享的内存区域 存储了被自动内存管理系统所管理的各种对象 这些受管理的对象无需也无法显式地被销毁 自动内存管理系统:Automatic StorageManagement System也即是常说的”Garbage Collector(垃圾收集器)” 并未指明用什么具体的技术去实现自动内存管理系统 Java 堆的容量可以是固定大小的也可以随着程序执行的需求动态扩展并在不需要过多空间时自动收缩 Java 堆所使用的内存不需要保证是连续的 如果实际所需的堆超过了自动内存管理系统能提供的最大容量那 Java 虚拟机将会抛出一个OutOfMemoryError 异常 实现者应当提供给程序员或者最终用户调节 Java 堆初始容量的手段 对于可以动态扩展和收缩 Java 堆来说则应当提供调节其最大、最小容量的手段 所有的对象实例以及数组都要在堆上分配 6.方法区(Method Area) 方法区是由所有线程共享的内存区域。 方法区存储的大致内容如下: 每一个类的结构信息 运行时常量池 Runtime Constant Pool 字段和方法数据 构造函数和普通方法的字节码内容 类、实例、接口初始化时用到的特殊方法 每一个运行时常量池都分配在 Java 虚拟机的方法区之中在类和接口被加载到虚拟机后对应的运行时常量池就被创建出来。 当创建类或接口的时候如果构造运行时常量池所需要的内存空间超过了方法区所能提供的最大值那 Java 虚拟机将会抛出一个 OutOfMemoryError 异常。   7.直接内存(Direct Memory) 此处的直接内存并不是由JVM管理的内存。他是利用本地方法库直接在java堆之外申请的内存区域。 比如NIO中的DirectByteBuffer就是操作直接内存的。 直接内存的好处就是避免了在java堆和native堆直接同步数据的步骤。但是他并不是由JVM来管理的。
http://www.zqtcl.cn/news/789348/

相关文章:

  • 呼和浩特网站建设哪家最便宜?携程旅行网网站策划书
  • 网站建设及相关流程北京网站备案域名
  • 汉字叔叔花了多少钱做网站微商城科技
  • 网站代理被抓html网站开发实战
  • 如何建立免费的网站网站copyright写法
  • 官方网站下载12306合肥有没有做网站的单位
  • 甘露园网站建设网站框架图片
  • 做网站怎样赚卖流量石家庄网站建设联系电话
  • wordpress 图片网站本地免费发布信息网站
  • 建设网站和别人公司重名新乡建设招标投标网站
  • 四川省建设厅网站证想开个网站怎样开公司
  • 做机械一般做那个外贸网站电商软件开发费用
  • 网站外链坏处龙岗网站设计信息
  • 郑州网站建设乙汉狮网络搜索优化网络推广
  • Dw做html网站百度推广竞价排名
  • 北京市电力建设公司网站万云网络网站
  • 校园网站开发方案做网站现在用什么语言
  • 网站建设学什么书中联建设集团股份有限公司网站
  • 制作个人业务网站go 做视频网站
  • 域名对网站建设有什么影响吗找人做仿网站
  • 网站建设翻译谁提供爱心代码html简单
  • 上海专业网站建站公司asp.net商务网站 包括哪些文件
  • 网站制作的重要流程营销团队找产品合作
  • 网站治做啊app易居销售系统
  • 定制跟模板网站有什么不一样如何做网站的订阅
  • 黑龙seo网站优化做网站,图片显示不出来
  • aspcms网站无法打开东莞网站推广方案
  • aspcms企业网站模板互联网推广模式有哪些
  • 高端 网站设计公司怎样开通微信公众号平台
  • 陕西省建设监理协会网站证书城乡建设管理局网站