1.熟悉IO相关接口和类,知道字符流和字节流的区别。
2.理解Java反射,并熟练使用反射解决问题。
3.理解泛型,并能熟练使用。知道的区别。
4.了解Collection、List、Map、Set之间的关系,以及知道它们绝大部分实现类和子类。Vector、LinkedList、ArrayList的区别。HashMap、TreeMap、LinkedHashMap、HashTable的区别。
5.了解几中常见的算法(冒泡算法,二分查找,二叉树遍历)最好能回写代码实现。
6.知道数组的常见定义方法,如何遍历数组。
7.理解String类,知道为何要有字符串池。知道String、StringBulider、StringBuffer的区别。
8.了解Object类,最好能说出它的大部分方法。最好能理解equals、finalize、getClass、hashCode、notify。
9.熟记访问控制符的使用(public、protected、private、默认)。
10.灵活使用static、final等关键字,在定义类、常量、变量、方法时的使用以及需要注意的。
11.会使用流程控制语句,break、continue在for循环中能够做到熟练使用。
12.理解Java中方法传递参数是按值传递(pass by value),java中没有按引用传递一说。
13.理解重载(overload)和重写(overwrite),知道它们的区别。
14.理解Java的三大特性:封装,多态和继承。
15.知道this、super关键字的使用,特别实在继承体系下(比如super是在构造方法的第一行)。
16.理解多态,父类的引用可以指向子类的实例,接口的引用指向实现了接口的实现类对象。
17.知道java中抽象类和接口的区别。
18.知道java中重写equals方法为什么要重写hashcode方法。
19.知道java中可变参数、枚举,能够在项目中灵活使用。
20.理解java异常机制,知道checked异常和unchecked异常区别,以及知道如何正确处理它们。
![403c463605b175c9c9e8239048fed4d0.png](https://i-blog.csdnimg.cn/blog_migrate/835223d1874d20472a38a8e525b28b7c.jpeg)
21.理解线程Thread,知道创建线程的两种方法,知道线程的生命周期,知道synchronized关键字在线程中的使用,知道如何睡眠以及唤醒一个线程。知道线程死锁以及线程池的相关知识。
22.理解递归,能够用递归的思维解决问题,例如裴波那契数列。
23.能够熟练使用相关API操作ftp、sftp上传下载服务器的文件。
24.知道如何解析和生成properties文件。
25.知道如何使用相关API对Json字符串和Java对象之间进行互转。
26.知道sax和dom方式读取xml文件的区别,能够根据实际需要读取和生成xml文件。
27.知道如何对日期进行处理,Date和Sring之间的转换,以及如何获取相关日期,熟悉Calendar类和SimpleDateFormate类。
28.理解jvm虚拟机对类的加载机制,知道类加载器classloader的作用。
29.理解jdbc,熟悉常见的jdbc相关接口和类,如Connection、Statement、PrepareStatement、ResultSet。
30.能够说出23中设计模式的绝大部分,并能理解几种常见设计模式,说出自己的理解和应用。
31.了解jxl、poi的API,能够通过它们对execel文件导入和导出。
32.能够熟练使用相关API对文件和文件夹进行压缩和解压缩。
小编是一个有着5年工作经验的程序员,关于Java,自己有做材料的整合,一个完整学习Java的路线,学习材料和工具。需要的伙伴可以私信我,发送“交流”后就可免费获取。对于学习Java有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!
![711c84e274913db80f6d3dcd52bd2789.png](https://i-blog.csdnimg.cn/blog_migrate/d9b26e7da43baee0c0ad084866e7808b.jpeg)