如果不是用new创建,则一定是内建类型的对象,并且一定是栈对象,那么就没有收集的必要,它会在离开作用域的时候自动销毁。
请问各位高手,是不是这样?

解决方案 »

  1.   

    class.newInstance也是一种构造的方式
    除去java中的9中基本类型,其他都是以对象的实例存在的,当某个实例不再被任何对象引用时
    就会回收.
    9种为:
    byte,char,short,int,long,double,float,boolean,void
      

  2.   

    同意楼上观点,一般来说栈级reference type(local field)的实例都可以在出栈时
    强制回收(这类似于GC,但不是GC),而类级(static/instance field)则可以被GCed。
    另外,Java没有”文件级(全局?)“变量。所以这个问题变成:要想生成一个reference type的实例,除了用new之外,
    别的方法是什么?下列都可以:- 用reflection创建的对象
    - 通过“反序列化”从ObjectStream中“取"出来的对象,这个Stream可以来自
      文件/数据库/网络套解字
    - 通过某种特殊语法构造的对象,如 String xxx ="aaaaa";