JLS / JVMS是否要求垃圾回收?据推测,任何理智的实现都会有垃圾收集,但是疯狂的实现可以作为符合规范的JVM吗?
答案 0 :(得分:1)
JLS的确切引用是:
Java编程语言是一种相对高级的语言,因为通过该语言无法获得机器表示的详细信息。 它包括自动存储管理,通常使用垃圾收集器,以避免显式释放的安全问题
答案 1 :(得分:1)
规范要求垃圾收集。
引用JVM规范," Heap":
Java虚拟机有一个堆,它在所有Java虚拟机线程之间共享。堆是运行时数据区,从中分配所有类实例和数组的内存。
在虚拟机启动时创建堆。对象的堆存储由自动存储管理系统(称为垃圾收集器)回收;对象永远不会被显式释放。 Java虚拟机假定没有特定类型的自动存储管理系统,并且可以根据实现者的系统要求来选择存储管理技术。堆可以具有固定大小,或者可以根据计算的需要进行扩展,并且如果不需要更大的堆,则可以收缩。堆的内存不需要是连续的。