如果我初始化一个已经在JAVA中初始化的类对象,会发生什么?
我想知道如果我在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的第一个对象将不再在线程上处于活动状态,垃圾收集器将
........
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很乐意帮忙。欢迎:)