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

PSYoungGen是否有初始空间,为什么没有创建实例,而是使用了一些空间?

南门展
2023-03-14
/* jvm:" -XX:+PrintGCDetails -Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8 "*/
 public class testGC {
        private final static int _1MB = 1024*1024;

        public static void main(String args[])
        {
            testAllocation();
              }

        public static void testAllocation()
        {
            byte[] allocation1,allocation2,allocation3,allocation4;

           System.gc();

        }

    }

共有1个答案

丁宏盛
2023-03-14

尽管您的代码没有创建任何对象,但仅在JVM初始化期间就会创建大量对象。

例如,您的类使用System.class,这意味着在您的代码运行完成之前,必须加载和初始化System类。必须运行所有的静态初始化器代码,这样可以轻松地创建对象。

此外,您的类派生object,因此必须对其进行初始化。对于string(用作main方法的参数类型)也是如此。

 类似资料:
  • 我有一个GridLayout(我以编程方式向其中添加子元素)。 结果很糟糕,因为GridLayout没有填满所有可用空间。 这就是结果: 这是我的XML:

  • 本文向大家介绍什么是空元素?常用的空元素有哪些?相关面试题,主要包含被问及什么是空元素?常用的空元素有哪些?时的应答技巧和注意事项,需要的朋友参考一下 没有闭合标签的元素是空元素

  • 假设我有一个名为的类,并且创建了一个新的空对象: 中的构造函数是: 、和是否等于空? 如果不是,有没有办法让我创建对象,使所有三个实例变量都是?

  • 问题内容: 我在Java Web应用程序中有一个线程,它导致 java.lang.OutOfMemoryError:Java堆空间 异常,但是try / catch块无法捕获该错误。 样例代码: 输出: 背景: 我最近接手了这个Java项目,并试图跟上Java和这个项目的发展。我是C#开发人员,所以我还不熟悉这个项目或Java。我知道我可以使用- Xmx设置来修复该错误,但我有兴趣捕获此错误,因此

  • 问题内容: 什么是PHP命名空间? 一般而言,命名空间是什么? 一个有例子的Layman答案会很棒。 问题答案: Namespacing对函数和类起作用,而作用域对变量起作用。它允许您在同一程序的不同部分中使用相同的函数或类名称,而不会引起名称冲突。 简单来说, 将名称空间视为一个人的姓氏 。如果有两个人名为“ John”,则可以使用他们的姓氏来区分他们。 场景 假设您编写了一个使用名为的函数的应