内存的问题有时看似简单却不容易想明白,都知道new出来的实体对象都存放在堆内存中,但不是直接new出来的而是通过方法返回的对象在内存中存放在什么位置呢?比如说Byte[] bytes = abcdef".getBytes();中bytes所引用的对象实体也是存放在堆内存中吗?Date d = new Calendar().getTime();这句代码产生Date对象的原理是不是相当于在getTime()方法中封装了new 的动作,类似于return new Date()吗?如果是,那么代码Console con = System.console();通过系统类调用静态方法返回的对象的所属类Console是没有构造函数的,这个被返回的对象在内存中又是怎样的呢? |
|