一,equals和==的区别:
- ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同
- ==是指对内存地址进行比较 , equals()是对字符串的内容进行比较
- ==指引用是否相同, equals()指的是值是否相同
二、String和StringBuffer的区别
String与StringBuffer的区别简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
1.StringBuffer:StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用
时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
2.String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。
三、字符串hashcode相等,equals相等么?反过来呢?
hashcode相同,equals一定是相同的;反过来equals相同,hashcode也应该是相同的
四、Spring的工作原理,控制反转时怎么实现的
Spring核心组成:IOC&DI(工厂设计)、AOP(代理设计、动态代理设计):
|-Spring中针对XML的解析处理采用的是DOM4J的试下
|-Anntation的时候必须要求一个容器
未完待续~