面试经常问到的问题

创建对象:1.在堆中分配内存,2.执行初始化。

执行构造器时候:已经分配了内存,并执行了初始化。

{    ///    }这是动态代码块。

动态代码块先于无参构造器执行。

Object object = new Object(); object这里没有成员变量,null也占8个字节。

一个没有成员变量的对象在堆中占8个字节,有成员变量( private int a = 5)则占8+4=12个字节。

int 占4个字节。。

引用型变量占多少字节不确定。和你使用机器的位数有关系,一般为4个和8个

成员变量 在堆中存放

方法里面的局部变量在方法栈帧中放的。

静态变量在方法区域中放着的。

1.beanFactory 和applicationContext的区别:

创建的时机不同

1)applicationContext容器在进行初始化时候,会将其中的所有Bean(对象)进行创建。

优点:

缺点:占用系统资源(内存、cpu)等

优点:响应速度快

2)beanFactory容器中的对象,在容器初始化时候并不会被创建,而是在真正获取该对象时候才会被创建。

缺点:相对来说,响应速度慢

优点:不多占用系统资源

  

原文地址:https://www.cnblogs.com/xiaohouzai/p/6792506.html