下面的回答来源于知乎大神,我觉得说的挺好,所以拿来作为自己学习Java的一个标准和努力的方向。
初级篇
1 熟悉常用的数据结构,包括数组,链表,树,哈希表等。
2 熟悉结构化编程和面向对象编程。
3 能够阅读UML设计图,根据UML语义进行编码。
4 了解RDBMS和SQL的使用,包括DDL和DML,理解数据库事务(ACID),锁和死锁。
5 熟悉Java语法特性,正确理解多线程,同步,临界区,线程安全,异常,泛型等。
6 了解java常用库,比如:java.lang、java.io、java.util、java.net、java.sql、java.xml。
7 能够看懂中英文javadoc,快速上手新的类库和框架。
8 熟悉Java Web编程,如Servlet,Spring,以及ORM框架。
9 熟练使用Java IDE如eclipse,尤其是能够调试错误。
10 会使用构建工具如Ant,Maven构建项目。
11 会使用JUnit开发单元测试用例,能够使用代码覆盖率工具如EMMA检查测试的覆盖率。
12 如果能够使用代码调优工具提升代码性能更好。
13 如果能够使用静态检查工具如PMD检查代码中的问题会更好。
14 如果能够了解JVM的机制,如垃圾回收,类加载会更好。
中级篇
1 掌握面向对象的需求分析和设计。
2 理解SOLID原则,理解常用设计模式,熟练掌握重构。
3 理解面向服务的架构。
4 理解Linux操作系统的一些概念,比如内核空间,用户空间,系统调用,命名管道,Unix Domain Socket。
5 熟悉Linux下命令行工具。
6 深入理解进程,线程。
7 了解Java内存模型。
8 了解Java的并发包,如锁,读写锁,Barrier,Executer和Future。
9 了解Java 8的Lambda表达式和Streaming API。
10 理解TCP/IP协议族。
11 理解HTTP协议和REST API。
12 理解多路复用和非阻塞IO。
高级篇
希望在未来的某天,自己能补上!O(∩_∩)O~
关于我
那么,我还处于初级的初级(这是最大实际),中级里面的概念几乎全部不懂。但是小菜鸡也不能放弃,也要努力的向前(我还要自己补全高级篇呢...),所以把大神的回答拿过来,希望自己能够常来看看这些标准,不要迷失了自己学习的方向。