Java成长之路

序言

 

工作年限匹配的技能

一年  三年  五年
 《Java编程思想》  《深入理解Java虚拟机》 《编译原理》
   《Java性能权威指南》 《深入理解计算机系统》
   《重构:改善既有的代码设计》 《代码整洁之道》
   《Java并发编程实战》  《大话设计模式
   《Effective Java》  《深入理解计算机系统》
   《数据结构与算法》  《算法导论》
   《实战Java高并发程序设计》  《数据结构与算法分析》
   《Java 8实战》  《代码大全》
   《RabbitMQ实战》  《linux私房菜》
   《深入理解Kafka》  

基本要求

1.语言的基础部分:

基础部分的重点,其实主要就是static、final、transient、volatile这一类的关键字,以及内部类、泛型这一类的高阶语法。

2.Java运行时环境

3.并发知识与concurrent包

4.设计模式和反射

5.文件IO、NIO、网络IO以及网络协议

中等要求

 1.Spring、Mybatis框架

 2.Linux服务器

 3.数据库优化

 4.消息服务

 5.缓存服务

 6.负载均衡器

加分要求

1.数据结构与算法

2.计算机操作系统

3.计算机网络

4.熟练使用一种脚本语言

5.你的github和博客

其他

JVM系列的知识  

这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。

在这个阶段,你就不能再简单的去学习前3年的内容了,虽然前面的学习如果还不够深入的话依旧要继续,但这个时候你应该更多的考虑建立你的优势,也可以称为差异性。

并发、JVM、分布式、TCP/IP协议这些

Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的

HashMap是不是有序的?

接下来就可能会问你,TreeMap和LinkedHashMap是如何保证它的顺序的?

你觉得它们两个哪个的有序实现比较好?

Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包下面的。与上面一样,咱们也简单的模拟一个并发包的连环炮。

栅栏(Java的并发包中的CyclicBarrier)

IO包和NIO包中的内容。这部分里面NIO会是重点,IO包大部分都会比较熟悉,因此可能会直接略过,直接问你NIO的内容。

Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。

下面是关于类加载机制的简单连环炮。

再来一个关于内存的连环炮。

资料

吐血整理》-顶级程序员书单集

posted @ 2018-04-02 08:11  ~沐风  阅读(273)  评论(0编辑  收藏  举报