如何手动释放原始变量?

时间:2016-09-09 21:24:13

标签: java primitive

据我所知,在Java中,我们通常不需要担心手动删除变量,因为垃圾收集可以解决这个问题。但是,在某些情况下,我们需要在垃圾收集生效之前释放对象以防止内存泄漏。要释放一个对象,我们可以简单地将其引用设置为null。

现在我的问题是,我们如何手动释放原始变量?如果没有办法手动释放原始变量,那么为什么,因为有一种手动释放引用变量的机制?

2 个答案:

答案 0 :(得分:2)

这个问题是胡说八道。通过设置null,您删除任何内容都是不正确的。原始类型不能被删除"。只要局部变量在范围内,就会分配局部变量的内存空间。

答案 1 :(得分:2)

你不能将基本类型(int,float,double,char ......以及其他一些;你得到的图片)设置为null。如果您尝试,您将获得NullPointerException

Java中没有delete的概念。 Java通过内部引用计数器自动处理所有内存管理。此过程通常称为垃圾收集器。

一旦Object超出范围,它就可用于垃圾收集,并且可以随时回收其内存。您无需担心在Java中手动取消分配内存。虽然垃圾收集器不会直接释放原语(请参阅“are java primitives garbage collected”),但您仍然不必担心删除它们。

(垃圾收集的主题显然比这更复杂,更复杂,但我认为这篇文章是一个公平的100,000英尺摘要。)