java应用开发之JVM运行时内存分析

 更新时间:2021年09月15日 17:19:00   作者:DrLai  
这篇文章主要介绍了java应用开发之JVM运行时内存,文中附含图文示例内容分析非常简要,有需要的朋友可以借鉴参考下,希望能够有所帮助

1.JVM的运行时内存也叫JVM堆

从GC的角度可以将JVM分为新生代,老年代,永久代。其中新生代默认占1/3的堆内存空间,老年代默认占2/3内存空间,永久代占非常少的堆内存空间方式。

而新生代分为Eden,SurvivorFrom,SurvivorTo区,Eden默认占8/10新生代区域空间,SurviorFrom和SurviorTo则占1/10.

2.JVM新创建的对象

JVM新创建的对象,除了大对象外都会放在新生代中,由于JVM会频繁创建对象,所以新生代会频繁出发MinorGC进行垃圾回收。

3.新生代详解

  • Java新创建的对象先放在Eden区,如是大对象则分配到老年区。
  • Eden区内存空间不足时则触发GC对新生代进行一次垃圾回收
  • SurviorTo保存上一次MinorGC的幸存者
  • SuviorFrom将上一次MinorGC作为这一次的扫描对象

4.老年代详解

老年代则不会频繁出发MajorGC,当MinorGC过后仍然出现老年代空间不足,则会触发MajorGC进行垃圾回收。MajorGC采用的是标记清除算法。因为要扫描老年代所有对象,所以耗时较长。

5.永久代

指的是内存永久保存区域,主要存放Class和Meta(元数据)。

以上就是java应用开发之JVM运行时内存分析的详细内容,更多关于JVM运行时内存的资料请关注脚本之家其它相关文章!

相关文章

  • 解决IDEA中Maven依赖包导入失败报红问题(总结最有效8种解决方案)

    解决IDEA中Maven依赖包导入失败报红问题(总结最有效8种解决方案)

    这篇文章主要介绍了解决IDEA中Maven依赖包导入失败报红问题,本文通过图文详解给大家总结了最有效的8种解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Spring IOC容器的Bean管理基于注解属性注入方式

    Spring IOC容器的Bean管理基于注解属性注入方式

    这篇文章主要为大家介绍了Spring IOC容器的Bean管理基于注解属性注入方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 常用Java排序算法详解

    常用Java排序算法详解

    本文主要介绍了java的七种常见排序算法的实现,对选择排序、插入排序、冒泡排序、归并排序、快速排序、希尔排序、最小堆排序进行原理分析与实例介绍,具有很好的参考价值。下面就跟着小编一起来看下吧
    2016-12-12
  • java音乐播放器编写源码

    java音乐播放器编写源码

    这篇文章主要为大家详细介绍了java音乐播放器的编写源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Spring实战之Bean定义中的SpEL表达式语言支持操作示例

    Spring实战之Bean定义中的SpEL表达式语言支持操作示例

    这篇文章主要介绍了Spring实战之Bean定义中的SpEL表达式语言支持操作,结合实例形式分析了Bean定义中的SpEL表达式语言操作步骤与实现技巧,需要的朋友可以参考下
    2019-12-12
  • 深入浅析Java中的volatile

    深入浅析Java中的volatile

    volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色.这篇文章主要介绍了深入浅析Java中的volatile,需要的朋友可以参考下
    2017-03-03
  • Spring Cache自定义缓存key和过期时间的实现代码

    Spring Cache自定义缓存key和过期时间的实现代码

    使用 Redis的客户端 Spring Cache时,会发现生成 key中会多出一个冒号,而且有一个空节点的存在,查看源码可知,这是因为 Spring Cache默认生成key的策略就是通过两个冒号来拼接,本文给大家介绍了Spring Cache自定义缓存key和过期时间的实现,需要的朋友可以参考下
    2024-05-05
  • SpringBoot中自定义注解实现参数非空校验的示例

    SpringBoot中自定义注解实现参数非空校验的示例

    这篇文章主要介绍了SpringBoot中自定义注解实现参数非空校验,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • Spring Boot获取resources目录下的文件三种方式详解

    Spring Boot获取resources目录下的文件三种方式详解

    在Spring Boot项目中,经常需要获取resources目录下的文件,这些文件可以包括配置文件、模板文件、静态资源等,这篇文章主要介绍了Spring Boot获取resources目录下的文件的三种方式,需要的朋友可以参考下
    2023-06-06
  • @Scheduled 如何读取动态配置文件

    @Scheduled 如何读取动态配置文件

    这篇文章主要介绍了@Scheduled 如何读取动态配置文件的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论