开发者社区 问答 正文

[@徐雷frank][¥20]解释 Java 堆空间及 GC?

问题来自Java技术沙龙的李博
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796

展开
收起
李博 bluemind 2018-12-13 14:41:08 2362 分享 版权
2 条回答
写回答
取消 提交回答
  • 宇宙虽有其起源,却没有终结。无限。 星球虽也有起源,却因其自身之力走向毁灭。有限。

    Java堆:虚拟机运行时数据区中的一块内存,主要用来存放对象
    GC:虚拟机自动的通过一定的算法(比如mark-sweep,mark-compact等)来分析哪些对象已经可以被回收了,从而进行回收。进而可以提高开发效率,因为这样一定程度上开发者不需要自己手动去管理内存了。

    2019-07-17 23:20:42
    赞同 展开评论
  • 1.阿里云大学荣誉讲师, 2.MongoDB中文社区专家

    1、Java的内存分配和释放是托管进行的,Heap的区域主要存储的对象。
    2、详细划分的话可以在分为青年带、老年代、
    3、青年带内存又被分成三部分,Eden、From Survivor存活区1、To Survivor存活区2,默认年轻带按照8:1:1比例分配;
    4、这些参数我们都可以自定义设置

    2019-07-17 23:20:42
    赞同 展开评论