带着游戏账号流浪

第15章 周末放假,又开始补小说了(1/1)

天才一秒记住【康妮小说网】地址:https://m.vkni.org

首发:~第15章 周末放假,又开始补小说了

5、堆和栈的区别

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

1、功能不同

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

2、共享性不同

栈内存是线程私有的。

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

3、异常错误不同

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

栈空间不足:javalangstackoverflowerror。堆空间不足:javalangoutofmemoryerror。

4、空间大小

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

6、什么时候会触发fullgc

除直接调用systemgc外,触发full gc执行的情况有如下四种。

旧生代空间不足

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

javalangoutofmemoryerror: java heap space

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

perma generation空间满

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

javalangoutofmemoryerror: 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 50+、60+的版本中有可能会由于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-dsunrmidgcclientgcinterval=来设置full gc执行的间隔时间或通过-xx:+ disableexplicitgc来禁止rmi调用systemgc。

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

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

墨陌之提示您:看后求收藏(康妮小说网https://m.vkni.org),接着再看更方便。

人气小说推荐More+

噩梦轮回法则
噩梦轮回法则
关于噩梦轮回法则:(不后宫,不无敌,不系统,不爽文,介意者慎入。)最开始的一个星期,他被梦里的人影吓到不敢睡觉。干熬了两晚上后,不管看哪里都觉得有鬼。迫于扣工资和还房贷的双重压力,他只能习惯关了灯睡觉。到现在,他对黑暗和恐惧,已经有了那么一点点的习惯和麻木。可惜,一个月的噩梦,只是他故事的开始……
清水太热
三国我为尊刘大耳的春天
三国我为尊刘大耳的春天
关于三国我为尊刘大耳的春天:+++......在21世纪的宅男社畜,刘野因营养不良魂穿到了三国时期,还魂穿到刘备身上。他的脑海里竟然多出了一个“随机奖励系统”。刘野决定代替刘备开始一段全新的争霸之旅。他立志要一统三国,并顺便将那些传说中的三国美女纳入自己的后宫。大乔、小乔、貂蝉,这些历史上鼎鼎有名的美人,一个都不能少。与此同时,他还想积极结交各路英雄豪杰,诸葛亮、关羽、张飞等人纷纷被收入麾下。他
萧洛施
全球降临空岛:开局抽取神级天赋
全球降临空岛:开局抽取神级天赋
蓝星所有人类降临到一个没有陆地的世界,天空中到处都是漂浮的岛屿。每个人都要选择职业,在这里重新开始,并且努力活下去!开局一块小破地,要想生存,就得登陆这些神秘的岛屿,寻找资源,扩充自己 的领地,然后打造属于自己的空岛。刚进入游戏的韩星,意外激活了唯一隐藏SSS级天赋,‘神级工匠’。他制作任何东西都不会失败,每一件经过他手的东西,都能化腐朽为传奇。“已成功制作钝器木棍,品质传说,特性:永不折断,附
白衣风采
大明:如此贪的驸马,朕杀不得?
大明:如此贪的驸马,朕杀不得?
《大明:如此贪的驸马,朕杀不得?》 大明:如此贪的驸马,朕杀不得?《大明:如此贪的驸马,朕杀不得?》情节跌宕起伏、扣人心弦,是一本情节与文笔俱佳的,
今或古
语音厅:哥哥今天官宣了么
语音厅:哥哥今天官宣了么
(才开分不久,不要被评分影响了小宝们~)宋序声郁雾清。是蓄谋已久还是一见倾心?猜一猜谁是上位?双洁,双洁。语音厅,会涉及男主的其他事业,但不会很多,主要还是语音厅。
黎否