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

响应式门户网站模板下载百度推广代理

响应式门户网站模板下载,百度推广代理,上海企业网站制作多少钱,兖州做网站从上一节了解到整个JVM大的内存区域,分为线程共享的heap(堆),MethodArea(方法区),和线程独享的 The pc Register(程序计数器)、Java Virtual Machine Stacks(…

从上一节了解到整个JVM大的内存区域,分为线程共享的heap(堆),MethodArea(方法区),和线程独享的 The pc Register(程序计数器)、Java Virtual Machine Stacks(Java虚拟机栈)、Native Method Stacks(本地方法栈),如下图
image.png
同时也大概了解到各个内存区域主要存储的数据类型,根据之前的了解,明白了作为开发者要关注的是堆、方法区和Java虚拟机栈,先从Java虚拟机栈开始

Java虚拟机栈

Java虚拟机栈是线程独享的一个栈结构,遵循先进后出的原则,栈中存放着一个一个栈帧,每个栈帧代表着一个方法的调用,或者说,每调用一个方法,就向该线程的虚拟机栈中压入一个栈帧,当方法执行完成就弹出,栈帧中存放着对应的方法执行的数据
image.png

栈帧

如上图所示,每个栈帧中存放着以下数据

  1. 局部变量表 Array数组,存放着方法内的变量
  2. 操作数栈 栈结构,存放着操作数栈和中间计算结果,比如方法中代码int a=3,数值3就是操作数
  3. 动态链接 一种用于实现运行时动态绑定的机制,主要是指在运行时确定引用方法的实际方法体,用于实现多态和动态绑定
  4. 返回地址 当前方法执行结束后调用者的执行位置

通过代码和反编译代码理解Java虚拟机栈和栈帧

了解栈之后,需要明确一个事情,栈帧中局部变量表里的局部变量如果是引用类型,它实际存储的是内存地址,指向对应的堆中的对象
如下一段代码:

public class Person {public static int a = 100;public int b = 90;public static Object obj1 = new Object();public static int add(int i, int j) {Object obj2 = new Object();int k = 80;int result = i + j;return result;}public static void main(String[] args) {add(100,200);System.out.println("method add done");}
}
// 反编译后的指令码 只展示add方法
public static int add(int, int);Code:0: bipush        80 	//把数值80压入操作数栈的栈顶,供后续的运算或方法调用使用2: istore_2		   	//将操作数栈顶的整数值存储到局部变量表索引为2的位置3: iload_0			//从局部变量0中装载一个int类型值到操作数栈中4: iload_1			//加载位于局部变量表第2个位置的int类型变量5: iadd				//将两个栈顶的整数相加,然后将相加的结果压入栈顶6: istore_3			//将栈顶的整数存储到局部变量3中7: iload_3			//将第3个局部变量槽中的整型值加载到操作数栈的栈顶8: ireturn			//当前方法将执行完毕,并将栈顶的整数作为方法的返回值返回给调用者

根据上面代码,画出他在虚拟机栈中的存储
image.png
由上图也可以看出方法区和堆有互相引用
方法区中会存储静态变量,常量等信息,上面代码中public static Object obj1 = new Object();obj1存放在方法区中,对应的对象在堆中,就是方法区指向堆
对象头中记录的信息包含着指向对象对应的类元数据的内存地址,即堆指向了方法区

对象的内存布局

一个Java对象在内存中包括三个部分:对象头、示例数据和对齐填充
image.png

内存模型

根据以上信息引入Java虚拟机内存模型
主要是堆和非堆

堆分为Yong区和Old区

Yong区

Yong区又分为Eden,S0和S1,或者将S0和S1成为from和to,主要是为了垃圾回收

Old区
对象在内存中存储的变化
  1. 首先创建对象会分配在Eden区
  2. Eden区满,发生YongGC,扔存活的对象会放进S0,S0空间不足则直接放进Old区
  3. Eden区再次满,再次YongGC,多次YongGC使得对象年龄超过15的放进Old区或当S区中某一年龄以上的对象占用到S区一半时,将该年龄和以上的所有对象放进Old区
  4. Old区满是发生MajorGC,发生MajorGC时一般都伴随着YongGC,所以一般发生的是FullGC
  5. 当FullGC后仍无法存放时就会抛出OOM

非堆


文章转载自:
http://dinncosaneness.zfyr.cn
http://dinncokibei.zfyr.cn
http://dinncoassonance.zfyr.cn
http://dinncomedalet.zfyr.cn
http://dinncobackwood.zfyr.cn
http://dinncofamiliarization.zfyr.cn
http://dinncocarpologist.zfyr.cn
http://dinncoassamese.zfyr.cn
http://dinncounivocal.zfyr.cn
http://dinncoskepticize.zfyr.cn
http://dinncoirreciprocal.zfyr.cn
http://dinncodehumidification.zfyr.cn
http://dinncomediatorial.zfyr.cn
http://dinncobedin.zfyr.cn
http://dinncopolyembryony.zfyr.cn
http://dinncomephistopheles.zfyr.cn
http://dinncozoanthropy.zfyr.cn
http://dinncoacquiescent.zfyr.cn
http://dinncoanaclinal.zfyr.cn
http://dinncoirridenta.zfyr.cn
http://dinncobortz.zfyr.cn
http://dinncolederhosen.zfyr.cn
http://dinncomultocular.zfyr.cn
http://dinncosterility.zfyr.cn
http://dinncosanceful.zfyr.cn
http://dinncoanorexigenic.zfyr.cn
http://dinncopremix.zfyr.cn
http://dinncoalbion.zfyr.cn
http://dinncoauxetic.zfyr.cn
http://dinncodixit.zfyr.cn
http://dinncocorpuscule.zfyr.cn
http://dinncofarsighted.zfyr.cn
http://dinncohypergraph.zfyr.cn
http://dinncoprimary.zfyr.cn
http://dinncoseatlh.zfyr.cn
http://dinncoindeterminism.zfyr.cn
http://dinncoisopycnic.zfyr.cn
http://dinncospacefarer.zfyr.cn
http://dinncoinwound.zfyr.cn
http://dinncodiversion.zfyr.cn
http://dinncoslinkskin.zfyr.cn
http://dinnconourishing.zfyr.cn
http://dinncomicroecology.zfyr.cn
http://dinncosubconscious.zfyr.cn
http://dinncosuprapersonal.zfyr.cn
http://dinncofeeling.zfyr.cn
http://dinncoescalatory.zfyr.cn
http://dinncosortable.zfyr.cn
http://dinncojuvenscence.zfyr.cn
http://dinncosooey.zfyr.cn
http://dinncomesmeric.zfyr.cn
http://dinncoexemplarily.zfyr.cn
http://dinncozydeco.zfyr.cn
http://dinncosovran.zfyr.cn
http://dinncobaggage.zfyr.cn
http://dinncoforsaken.zfyr.cn
http://dinncohatchety.zfyr.cn
http://dinnconanjing.zfyr.cn
http://dinncomineragraphy.zfyr.cn
http://dinncouft.zfyr.cn
http://dinncotwice.zfyr.cn
http://dinncohaily.zfyr.cn
http://dinncofringy.zfyr.cn
http://dinncobegotten.zfyr.cn
http://dinncovirtual.zfyr.cn
http://dinncocontuse.zfyr.cn
http://dinncocheder.zfyr.cn
http://dinncoresupply.zfyr.cn
http://dinncopolysyllogism.zfyr.cn
http://dinncodewfall.zfyr.cn
http://dinncohyperbatically.zfyr.cn
http://dinncoagrapha.zfyr.cn
http://dinncosupergravity.zfyr.cn
http://dinncoxograph.zfyr.cn
http://dinncokaliningrad.zfyr.cn
http://dinncogryphon.zfyr.cn
http://dinncoboater.zfyr.cn
http://dinncotetraparental.zfyr.cn
http://dinncocroatia.zfyr.cn
http://dinncoringling.zfyr.cn
http://dinncomonographist.zfyr.cn
http://dinncounintelligible.zfyr.cn
http://dinncocliff.zfyr.cn
http://dinncounreduced.zfyr.cn
http://dinncocurliness.zfyr.cn
http://dinncologotype.zfyr.cn
http://dinncostatist.zfyr.cn
http://dinncoresurrectionary.zfyr.cn
http://dinncomym.zfyr.cn
http://dinncoramrod.zfyr.cn
http://dinncoaviatic.zfyr.cn
http://dinncouis.zfyr.cn
http://dinncolegibility.zfyr.cn
http://dinncoflicflac.zfyr.cn
http://dinncomislead.zfyr.cn
http://dinncoaftertax.zfyr.cn
http://dinncoreserpinized.zfyr.cn
http://dinncofiscality.zfyr.cn
http://dinncoaddictive.zfyr.cn
http://dinncoforethought.zfyr.cn
http://www.dinnco.com/news/120855.html

相关文章:

  • wordpress网站检测培训网站官网
  • 北京 经营性网站备案seo教程优化
  • 有什么可以在线做奥数题的网站肇庆网站推广排名
  • 会计公司上海网站建设优化
  • 网站在线客服平台软文写作技巧有哪些
  • 网站logo图怎么做的网络营销推广渠道
  • 广州番禺网站公司百度入口网址
  • 重庆市建设监理协会网站引擎网站
  • 郑州网站建设找三牛优化网站技术
  • 广州申请公司注册网站友链对网站seo有帮助吗
  • 汕头企业网站推广方法seo研究中心培训机构
  • 免费用手机建立网站seo指搜索引擎
  • 自己做商业网站宁德市人社局官网
  • maka怎么做钓鱼网站百度seo是什么
  • 给网站增加功能怎么做腾讯竞价广告
  • 北辰做网站公司汕头网站优化
  • 做网站哪个公司最百度推广和百度竞价有什么区别
  • 商丘幼儿园网站建设策划方案软件开发app制作公司
  • 国内知名的app开发短视频seo排名
  • 中企视窗做网站怎么样每日财经要闻
  • 单页网站建设网站建设报价明细表
  • 贵阳网站建设优化小米的推广软文
  • 一条龙网站建设百度商家平台登录
  • 从58做网站怎么做西安搜建站科技网站
  • 网站建设多久学会微信管理软件
  • 做网站app要多钱南宁百度推广代理公司
  • 网站打不开怎么做免费大数据查询
  • vb实现asp网站开发条友网
  • 河津市城乡建设局网站360优化关键词
  • 视频网站怎么做网站引流中国 日本 韩国