据不完全统计,截至目前(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 输入输出
深入分析Java的序列化(Serialization)
Java中如何正确地关闭文件
Java中逐行写文件的几种方法
Java中逐行读取文件的多种方式
3、Java进阶
3.1、泛型机制
深入讲解Java泛型中通配符的功能
深入讲解Java的泛型擦除机制
深入详解Java的泛型方法
什么是Java泛型?有什么作用?
3.2、反射机制
3.3、网络编程
3.4、线程并发
深入讲解Java的wait()与notify()方法
如何创建一个线程安全的Java方法
深入分析Java中基于监视器(Monitor)的同步(Synchronization)机制
4、Java高级
4.1、JVM内幕
JVM 如何装载和初始化一个Java class(类)
深入分析Java的HelloWorld程序
深入分析Java规范中JVM的内存布局模型
4.3 分布式应用
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)
6、框架与库
6.1、日志框架
Java 日志框架终极教程
深入分析Java的内置日志API(java.util.logging)(一)
深入分析Java的内置日志API(java.util.logging)(二)
深入分析Java的内置日志API(java.util.logging)(三)
深入分析Java的内置日志API(java.util.logging)(四)
7、架构与设计
如何一起学习,有没有免费资料?
对Java技术,架构技术感兴趣的同学,欢迎加QQ群:681179158,一起学习,相互讨论。
群内已经将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群免费领取。
扫码加群:681179158 免费领取资料
作为一名合格的架构师,必须懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术方案的优缺点,懂整合各种资源并达到最优….了解各种技术及应用场景,有足够的工作经验解决集成中遇到的各种奇葩问题。
---------------------
作者:张大春
来源:CSDN
原文:https://blog.csdn.net/qq_39627461/article/details/84557465
版权声明:本文为博主原创文章,转载请附上博文链接!