据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java初级程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。为了帮助大家少走弯路,我们总结出一个Java程序员的成长路线图。
1、基础知识
1.1、计算机结构
1.2、编程原理
1.3、数据结构与算法
1.4、网络与协议
2、Java基础
2.1、基础语法
- 深入分析Java的静态类型检查
- 深入分析Java的异常处理(Exception Handle)机制
- Java中数组(Array)转ArrayList的最高效方法
- 深入分析java.util.ConcurrentModificationException
- Java的两种最常见排序方式
- 深入详解Java的访问修饰符:private、protected、public
- 深入分析Java中枚举(enum)的用法
- Java中的迭代与递归
- 深入详解Java中的hashcode()与equals()方法
- 深入解析Java的Comparable与Comparator
2.2、标准类库
- 深入理解Java中的Arrays.sort()方法
- Java中最高效的统计方式
- Java的HashMap如何按值(Value)排序
- Java中HashMap、TreeMap、Hashtable和LinkedHashMap的联系与区别
- Java中HashSet、TreeSet和LinkedHashSet的联系与区别
- Java中ArrayList、LinkedList和Vector的联系与区别
- 详解Java中集合(collections)框架的体系结构
- 如何高效判断Java数组是否包含某个值
- Java的String相关的几个经典笔试题
- 为什么Java中String类是不可变的
- 深入分析Java的String类的方法与特点
2.3、面向对象
- Java中私有构造函数的方法与作用
- Java的继承机制与构造函数(Constructor)
- 什么是Java中的内部接口(Inner Interface)
- 深入分析Java中的四种内部类(inner class)的功能与区别
- 深入详解Java中的继承与组合
- Java中类的属性可以重写吗?
- Java中对象的初始化顺序
- Java中的重载(Overload)与重写(Override)
2.4 输入输出
3、Java高级
3.1、泛型机制
3.2、反射机制
3.3、网络编程
3.4、线程并发
3.5、JVM内幕
4、开发工具
4.1、IntelliJ IDEA 2017
- Intellij IDEA 2017 详细图文教程之概述
- 图文详解如何安装 Intellij IDEA 2017
- 图文详解如何配置 IntelliJ IDEA 2017
- 如何个性化配置 IntelliJ IDEA 2017
- 图文详解如何在 IntelliJ IDEA 2017 新建项目
- 如何导入一个 Maven 项目到 IntelliJ IDEA 2017
- Intellij IDEA 2017 如何导入 GitHub 中的项目
- 深入剖析 IntelliJ IDEA 2017 的目录结构
- IntelliJ IDEA 2017 中最常用快捷键
- IntelliJ IDEA 2017 的十大特性(1)
- IntelliJ IDEA 2017 的十大特性(2)
- IntelliJ IDEA 2017 的十大特性(3)
- IntelliJ IDEA 2017 的高级特性(1)
5、Java框架
5.1、Java日志
- Java 日志框架终极教程
- 深入分析Java的内置日志API(java.util.logging)(一)
- 深入分析Java的内置日志API(java.util.logging)(二)
- 深入分析Java的内置日志API(java.util.logging)(三)
- 深入分析Java的内置日志API(java.util.logging)(四)
6、架构与设计
作为一名合格的架构师,必须懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术方案的优缺点,懂整合各种资源并达到最优….了解各种技术及应用场景,有足够的工作经验解决集成中遇到的各种奇葩问题。