Java笔记——JAVA 面试题经典

JAVA

JAVA8大基本数据类型
Java笔记——JAVA 面试题经典_第1张图片
HashMap和Hashtable的比较
        Hashtable:
            1.Hashtable不允许key或者value为null,线程安全,实现线程安全的方式是在修改数据时锁住整个Hashtable,效率低

            2.Hashtable线程安全的,很多方法都有synchronized修饰,但同时因为加锁导致单线程环境下效率较低。
        Hashmap:
            1.HashMap允许有一个key为null,允许多个value为null,线程不安全

            2.在多线程环境下会容易产生死循环,但是单线程环境下运行效率高;

一般建议用currentHashMap,因为他大量的利用了volatile,final,CAS等lock-free技术来减少锁竞争对于性能的影响,

ArrayList和LinkedList的比较

         共性:ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只是实现的方式有所不同。

         区别:List接口的实现方式不同
                  ArrayList实现了List接口,以数组的方式来实现的,因此对于快速的随机取得对象的需求,使用ArrayList实现执行效率上会比较好。
                  LinkedList是采用链表的方式来实现List接口的,因此在进行insert和remove动作时效率要比ArrayList高。适合用来实现Stack(堆栈)与Queue(队列)。

list和set的区别

        List,Set都是继承自Collection接口

        list:元素有放入顺序,元素可重复

        和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变

        set:元素无放入顺序,元素不可重复,重复元素会覆盖掉

        检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变

Java 重写(Override)与重载(Overload)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

线程

java 线程(中、高级)总结

Spring

Spring是什么
spring是一个容器,用来装javabean(java对象的) 中间层框架

ioc aop 控制反转,面向切面,避免了依赖注入等问题

Aop是什么
将程序中交叉业务逻辑(日志,事务,参数校验)ÿ

你可能感兴趣的:(java,笔记,开发语言)