Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我初始化一个已经在JAVA中初始化的类对象,会发生什么?_Java_Memory Management_Java Memory Leaks - Fatal编程技术网

如果我初始化一个已经在JAVA中初始化的类对象,会发生什么?

如果我初始化一个已经在JAVA中初始化的类对象,会发生什么?,java,memory-management,java-memory-leaks,Java,Memory Management,Java Memory Leaks,我想知道如果我在Java中初始化一个已经初始化的类对象会发生什么。垃圾收集器是否销毁对象并释放内存 示例代码: ........ Object target = new MyClass();//First intialization ........ target = new MyClass();//Re-intialization //I want to know what will happen here ........ MyClass的第一个对象将不再在线程上处于活动状态,垃圾收集器将

我想知道如果我在Java中初始化一个已经初始化的类对象会发生什么。垃圾收集器是否销毁对象并释放内存

示例代码:

........
Object target = new MyClass();//First intialization
........
target = new MyClass();//Re-intialization //I want to know what will happen here
........

MyClass的第一个对象将不再在线程上处于活动状态,垃圾收集器将在堆上需要更多内存时激活并释放空间,堆是Java虚拟机使用的一大块内存

Object target = new MyClass();
这将创建MyClass()的新对象,
target
变量将引用此对象

在第二次发言之后:

target = new MyClass();

将创建另一个新对象,
target
现在将引用这个新创建的对象。前一个对象将没有引用,GC将释放该内存。

这并不构成“初始化类对象”。这里的任何东西也不构成“你在意大利化”任何东西。@BharathAsl很乐意帮忙。欢迎:)