我从来没有见过这样的说法,但它在java世界中存在吗?
发布于 2010-12-10 09:36:55
malloc的Java版本是new --它创建一个指定类型的新对象。
在Java语言中,内存是为您管理的,因此您不能显式地delete或free对象。
发布于 2010-12-10 09:43:49
Java有一个垃圾收集器。这就是为什么你从来没有在你的代码中看到这样的语句(如果你问我,这很好)
在计算机科学中,垃圾收集(GC)是自动内存管理的一种形式。这是资源管理的一个特例,其中被管理的有限资源是内存。垃圾收集器,或只是收集器,试图回收垃圾,或程序不再使用的对象占用的内存。垃圾收集是由John McCarthy在1959年左右发明的,用来解决Lisp语言中的问题。
发布于 2010-12-10 10:05:37
Java中没有直接的等价物:
C malloc创建一个非类型化的堆节点,并返回一个指向该节点的指针,允许您随心所欲地访问内存。
Java没有无类型对象的概念,也不允许您直接访问内存。在Java语言中,最接近malloc的是new byte[size],但这将返回一个只能用作字节数组的强类型对象。
C free释放一个堆节点。
Java不允许您显式释放对象。Java中的对象释放完全掌握在垃圾收集器手中。在某些情况下,您可以影响GC的行为;例如,通过将null分配给引用变量并调用System.gc()。然而,这并不会强制对象被释放...这是一种非常昂贵的处理方式。
https://stackoverflow.com/questions/4404872
复制相似问题