7. ArrayList、LinkedList、Vector的区别。
8. String、StringBuffer与StringBuilder的区别。
9. Map、Set、List、Queue、Stack的特点与用法。
11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
12. TreeMap、HashMap、LindedHashMap的区别。
13. Collection包结构,与Collections的区别。
14. try catch finally,try里有return,finally还执行么?
15. Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。
19. Static class 与non static class的区别。
21. 实现多线程的两种方法:Thread与Runable。
22. 线程同步的方法:sychronized、lock、reentrantLock等。
27. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
29.foreach与正常for循环效率对比。 总体foreach效率会高一些,但for比较灵活。
- 泛型常用特点,List能否转为List。
弱类型语言无类型,高级语言有类型,每个类型有自己的方法,这里就说java,java基本数据类型有8中,对应的包装类也是有方法的,比如int对应的Integer,按你说的统一就Object类型,那么每个类型都有自己的方法,你都用Object方法要怎么用?你可以如果我要用String,那么我就把Object转换为String,可是往往写代码的时候,你还不知道未来那个数据是什么类型,这种情况也是有的,再说泛型,泛型这个东西简单来说就是在编译期间确定类型,这样IDE可以帮你检查类型,举例一个集合List,这里以前是可以装任何Object的,有了泛型以后,我们可以这样List意思说这里的集合我只能装字符串类型,否则编译时就过不去,这样的好处是你内心知道这里只是字符串,未来在从集合中获取一个对象时,直接就可以用字符串的方法,而不是拿出Object在转换,并且如果只是单纯的List集合,你如何确定代码装入集合中的对象就一定是字符串,倘若很复杂的代码,里面不小心装入的Integer对象,也很难检测,恐怕只有运行报错的时候你才知道,最后要说泛型只存在于编译期间,编译过后泛型擦除!
33. 解析XML的几种方式的原理与特点:DOM、SAX、PULL。