在类加载期间的内存分配

可能重复:
在Java中的静态分配 - 堆,堆栈和永久生成

希望了解当JVM加载类时,究竟发生了什么(就内存管理而言)。 特别:

  • 哪部分内存是实际的类字节代码加载/放置?
  • 哪部分内存是加载/放置的静态变量?
  • 哪部分内存是其他变量和方法的加载/放置?

  • 首先将包含该类的字节数组加载到PermGen中。

    然后解析类字节数组,并将一些解析的信息放入PermGen中。

    然后,班级中的字符串被内化(并放入PermGen中)。

    当类初始化时,所有静态变量实例都放在堆上。

    当函数被调用的次数超过给定的阈值时,JIT编译函数的代码也被放入PermGen中。

    这应该是全部,AFAIK,但我不是JVM开发者。

    链接地址: http://www.djcxy.com/p/82851.html

    上一篇: Memory allocation during class loading

    下一篇: where the memory allocated when we declare static?