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