带着游戏账号流浪

墨陌之

首页 >> 带着游戏账号流浪 >> 带着游戏账号流浪最新章节(目录)
大家在看疯批小师叔她五行缺德 逼我下乡?科研军嫂搬空你全家 极品老师 东北爷们穿成o,carry全场 寂寞少妇的欲望 先婚后爱之军婚锁爱 废柴光明圣女的异世界求生指南 海贼之绝巅霸气 乖一点,再跑弄哭你 祁教授,借个婚 
带着游戏账号流浪 墨陌之 - 带着游戏账号流浪全文阅读 - 带着游戏账号流浪txt下载 - 带着游戏账号流浪最新章节 - 好看的其他类型小说

第15章 周末放假,又开始补小说了

上一章书 页下一章阅读记录

5、堆和栈的区别

栈是运行时单位,代表着逻辑,内含基本数据类型和堆中对象引用,所在区域连续,没有碎片;堆是存 储单位,代表着数据,可被多个栈共享(包括成员中基本数据类型、引用和引用对象),所在区域不连 续,会有碎片。

1、功能不同

栈内存用来存储局部变量和方法调用,而堆内存用来存储Java中的对象。无论是成员变量,局部变量, 还是类变量,它们指向的对象都存储在堆内存中。

2、共享性不同

栈内存是线程私有的。

堆内存是所有线程共有的。

3、异常错误不同

如果栈内存或者堆内存不足都会抛出异常。

栈空间不足:java.lang.StackoverFlowError。堆空间不足:java.lang.outofmemoryError。

4、空间大小

栈的空间大小远远小于堆的。

6、什么时候会触发FullGc

除直接调用System.gc外,触发Full Gc执行的情况有如下四种。

旧生代空间不足

旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full Gc后空间仍然不足,则抛出如下错误:

java.lang.outofmemoryError: Java heap space

为避免以上两种状况引起的FullGc,调优时应尽量做到让对象在minor Gc阶段被回收、让对象在新生代多存活一段时间及不要创建过大的对象及数组。

permanet Generation空间满

permanetGeneration中存放的为一些class的信息等,当系统中要加载的类、反射的类和调用的方法较 多时,permanet Generation可能会被占满,在未配置为采用cmS Gc的情况下会执行Full Gc。如果经过Full Gc仍然回收不了,那么JVm会抛出如下错误信息:

java.lang.outofmemoryError: permGen space

为避免perm Gen占满造成Full Gc现象,可采用的方法为增大perm Gen空间或转为使用cmS Gc。

cmS Gc时出现promotion failed和concurrent mode failure

对于采用cmS进行旧生代Gc的程序而言,尤其要注意Gc日志中是否有promotion failed和concurrent mode failure两种状况,当这两种状况出现时可能会触发Full Gc。

promotionfailed是在进行minor Gc时,survivor space放不下、对象只能放入旧生代,而此时旧生代也放不下造成的;concurrent mode failure是在执行cmS Gc的过程中同时有对象要放入旧生代,而此时旧生代空间不足造成的。

应对措施为:增大survivorspace、旧生代空间或调低触发并发Gc的比率,但在JdK 5.0+、6.0+的版本中有可能会由于JdK的bug29导致cmS在remark完毕后很久才触发sweeping动作。对于这种状况,可通过设置-xx:cmSmaxAbortableprecleantime=5(单位为ms)来避免。

统计得到的minor Gc晋升到旧生代的平均大小大于旧生代的剩余空间

这是一个较为复杂的触发情况,hotspot为了避免由于新生代对象晋升到旧生代导致旧生代空间不足的 现象,在进行minor Gc时,做了一个判断,如果之前统计所得到的minor Gc晋升到旧生代的平均大小大于旧生代的剩余空间,那么就直接触发Full Gc。

例如程序第一次触发minorGc后,有6mb的对象晋升到旧生代,那么当下一次minor Gc发生时,首先检查旧生代的剩余空间是否大于6mb,如果小于6mb,则执行Full Gc。

当新生代采用pSGc时,方式稍有不同,pS Gc是在minor Gc后也会检查,例如上面的例子中第一次minor Gc后,pS Gc会检查此时旧生代的剩余空间是否大于6mb,如小于,则触发对旧生代的回收。除了以上4种状况外,对于使用RmI来进行Rpc或管理的Sun JdK应用而言,默认情况下会一小时执行一次Full Gc。可通过在启动时通过- java-dsun.rmi.dgc.client.gcInterval=来设置Full Gc执行的间隔时间或通过-xx:+ disableExplicitGc来禁止RmI调用System.gc。

7、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节 码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

上一章目 录下一章存书签
站内强推【快穿】欢迎来到手撕白莲炼狱 我的钢铁萌心:以德皇之名 女帝痛哭,她杀死了自己最爱的人 综影视穿越 穿成假千金,真千金对我嘎嘎狂宠 快穿:病美人仙君又拿白月光剧本 废柴光明圣女的异世界求生指南 港综:开局死靓仔南,邻居马小玲 小师妹别浪,师尊盯上你了 忘羡的孩子们从天而降 你师兄都无敌了,你们拼什么命啊 我跟极品娘把缺德奶奶嫁出去了 仙府:资质平平的我只好苟出长生 背剑之人 大航海时代:中华美食横扫欧洲 古医圣手 女富婆的第一神医 穿越异界:我的魔兽争霸系统 天崩开局,我和系统玩儿命求生 喜羊羊与灰太狼之伴你 
经典收藏疯批小师叔她五行缺德 和表姐同居的日子 让你契约鬼,你契约钟馗? 快穿:她不碰男人只碰钱 逼我下乡?科研军嫂搬空你全家 小塔仙缘 我同人作者,从斗罗开始掠夺诸天 猎艳北宋之阅尽群芳 我在遮天修道炼丹 全能系统上交后,我直接摆烂 我真的是卧底啊! 我在尊多贵世界赚钱养夫郎 从成龙历险记开始世界冒险 直播,宿主切身扮演美强惨 洪荒:最强祖巫 被禁欲系Enigma强势偏宠 乖一点,再跑弄哭你 掠夺诸天,从猪猪侠开始称王 重生后的安陵容 手拿普通剧本,在各个世界装神明 
最近更新云霭苍穹 荣耀之途 综漫:瑞露 火纹名军师 逆天:诛神 洛迪天域 和闺蜜一起攻略男人,拯救世界 重生古代之纨绔逆袭 安翊卿 震惊!死对头原来暗恋我 灵钓风云录 婢子太绝色,高冷世子又装又撩 早上离婚成富婆,晚上点一屋男模 灵霄逆世:战神崛起 特种兵王强 新还珠格格之人儿归家 八零小寡妇孕肚回归后,禁欲顾少心慌了 江山为聘之开局差点没了命 一眉道师 禀告鬼王,你家天师在地府杀疯了 
带着游戏账号流浪 墨陌之 - 带着游戏账号流浪txt下载 - 带着游戏账号流浪最新章节 - 带着游戏账号流浪全文阅读 - 好看的其他类型小说