当前位置: 首页 > 知识库问答 >
问题:

JVM问题中的主要GC

淳于凯
2023-03-14

JVM堆分为两个空间,旧一代的空间和年轻一代的空间。在主要GC之后,经过压缩/扫描过程,旧一代会有空闲空间,我想知道我们在主要GC期间获得的空闲空间是否仍然属于旧一代空间,或者旧一代的空闲空间可以移动到年轻一代的空间?

换言之,我想问的是,老一代的空间和年轻一代的空间是否有固定的大小/边界。

提前谢谢你,林

共有2个答案

广晔
2023-03-14

我认为这是每一代人之间的界限,但由于-Xmx-Xms不一样,一些代人的规模可能会变化。

当收集对象时,垃圾回收机制将空间标记为可用whick对象使用。

它看起来像删除磁盘上的文件。操作系统只是标记文件路径不可访问并为下一个存储提供空间。

几代人喜欢磁盘分区,但几代人可以减少或增加他们的磁盘空间。

拓拔欣嘉
2023-03-14

在热点,有选择

-XX:+UseAdaptiveSizePolicy
-XX:+UseAdaptiveGCBoundary

然而,虚拟机仍然可以忽略这一点。这是黑暗自动调谐魔法的一部分。为了简单起见,只要假设老人和年轻人之间的界限是固定的。伊甸园和幸存者也是如此。

 类似资料:
  • 本文向大家介绍数据库设计的主要问题,包括了数据库设计的主要问题的使用技巧和注意事项,需要的朋友参考一下 数据库设计可能是一项艰巨的任务,您需要遵循以下方法并应对挑战,才能获得设计良好的数据库。 数据库设计的关注点和挑战如下: 遵循设计标准 在设计数据库时考虑设计标准非常重要。它为您提供了定义明确的组件。这样,您还可以轻松评估现有设计。 如果您无法遵循设计标准方法,那么不要指望设计是正确的,并且您将

  • 所以我才开始使用jvm-pact。 我正在尝试将这个JSON装箱

  • 我有一些关于Pact JVM(Java)的问题; > 如果提供者的json结构响应已知(例如通过使用Postman查询api),是否可以将Postman json主体自动转换为pact契约文件,而不需要运行(java)使用者片段创建方法,或者例如将其转换为java PactDslJsonBody()结构? 在创建pact文件时,是否需要启动并运行提供程序(spring-boot)(即使json响应

  • 当将Spring boot 1.4与cucumber一起使用时,不会注入@Autowired bean。 但是当我使用普通的JUnit测试时,它们被正确地注入了!我看了这里,但是它并没有解决我的问题。 编辑:为了澄清,我确实查看了Cucumber with Spring Boot 1.4:在使用@SpringBootTest和@RunWith(SpringRunner.class)时未注入依赖项,

  • 尝试使用包含TailwindCSS的webpack设置Vuejs项目。我一直在遵循Jerrie的博客文章(https://www.jerriepelser.com/blog/using-tailwindcss-with-vuejs/)以及Adam在github(https://github.com/adamwathan/vue-cli-tailwind-example)上的例子的说明。但是在构建我

  • 本文向大家介绍java中jvm逃逸问题分析,包括了java中jvm逃逸问题分析的使用技巧和注意事项,需要的朋友参考一下 引言: 逃逸分析(Escape Analysis)是众多JVM技术中的一个使用不多的技术点,本文将通过一个实例来分析其使用场景。 概念 逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够