Java干货的“聚宝盆”!各种细节!!

1、spring和springMVC的区别~


2、serialVersionUID的作用?


3、Servlet的本质是什么?


4、Spring IOC的理解,超到位!


5、十大经典排序算法(动图演示!)


6、深入了解Java中的String!超深


7、int和Integer到底有什么区别?


8、Java的命名规范!


9、null和“”的区别!


10、==和equals()方法的区别?

我补充一下equals的源码,来自jdk1.7,String类中

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String) anObject;
        int n = value.length;
        if (n == anotherString.value.length) {
            char v1[] = value;
            char v2[] = anotherString.value;
            int i = 0;
            while (n-- != 0) {
                if (v1[i] != v2[i])
                        return false;
                i++;
            }
            return true;
        }
    }
    return false;
}

可见equals可以理解为是==的扩展。
简单来说,==比较的是值和地址,equals比较的是值。
重要的是字符串的比较用equals!,用equals!,用equals!

11、到底什么是面向对象!

总结一下:
面对对象就是:
把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。

面向过程就是:
自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。程序流程在写程序时就已决定。

12、自动拆箱和自动装箱细节!

猜你喜欢

转载自blog.csdn.net/song_jiangtao/article/details/80626960