java core

1:  Java7 以后的 NIO.

2:  泛型要掌握,这里重点强调一点,泛型类之间不存在继承关系,所有的泛型对象在编译后都会去泛型化,都是同一个 class 对象,例如 ArrayList<Objcet>不是 ArrayList<String>的父类,在内存中对应同一个 class。还有在 Java7以后,支持新的写法,例如,List<String> names = new ArrayList<>()。   

3:  知道枚举对象,枚举类型可以用在 switch 上了,再是写单例模式的时候,可以考虑使用枚举实现。

4: 一定要掌握JDBC,否则程序就没法玩了,闭着眼睛就能写 CRUD,知道如何调用数据库里的存储过程。一定注意事务的问题。事务的四个特性,一荣俱荣,一损俱损。期间某一个对数据库操作出现问题,数据一定要 rollback。

5: Java 的线程问题,我觉得是 Java 语言里面最难的部分,因为它在运行中不确定,还有导致死锁等各种问题,还好,个人感觉,在实际工作中用得不是很多,但是面试时重点考察的地方。简单的说要知道 Thread 和 Runnable 的区别,线程的状态和生命周期,什么是并行,什么是并发。知道wait,sleep,join 等方法的用法。最重要的是 synchronized 的线程同步。更高级点的 Callable 和 Future接口,Lock 和 Condition 的使用。如果涉及到多线程开发的话,优先使用 Executors 线程池对线程进行管理。        

6: 再是比较高级点的技术就是反射。反射开始看起来比较抽象和难以理解。个人理解,每个 class 其实也是一个对象,可以用实例的 getClass(),或类名.class 方式来获取,Java 可以通过反射的这些 API 取得一个动态的 class 里面所有的属性和方法,并能修改其行为。这块也要知道一个类的加载过程,类加载器是什么东西,有几种类型。反射可以用来实现动态代理。在以后的 spring 等框架中,大量使用了反射的技术。     

7: 要掌握一些常用的数据查找和排序算法,设计模式,在面试和笔试会用到。        

8:  Java8/9/10

猜你喜欢

转载自www.cnblogs.com/liufei1983/p/9031182.html