我的Java技能树点亮之路

编程思想

脱离于语言之上的一些不变的知识

  1. 设计模式,重构,Clean Code ,代码大全,Unix编程艺术
  2. 算法导论什么的就算了,但是至少得学会实现《数据结构》上的集中最基本的数据结构,java实现
  3. 理解 SOA面向服务架构

工具加成

让自己的开发工具从小刀变成

  1. Linux &shell &vim
  2. Ngix
  3. 工具类 google guava, apache-commons
  4. 构建工具maven,gradle
  5. Web容器 tomcat
  6. 版本控制git
  7. java8新特性
  8. mysql&mariadb 数据库进阶,慢查询,数据库引擎,索引
  9. 熟悉Http,《图解HTTP》
  10. 了解使用noSql,mongodb

Java进阶

并发编程

  1. 熟悉NIO&OIO
  2. 熟悉一个NIO框架,我选Netty
  3. 熟悉JDK java.util.concurrent包的类,BlockQueue,CocurrentHashMap,Semaphore等
  4. 再读一遍《Java并发编程》
  5. 深入理解Java内存模型

JVM相关

  1. 熟悉GC的原理
  2. JVM相关工具使用以及调优
  3. 读完《深入Java虚拟机》,并实践
  4. ClassLoader相关深入理解
  5. 动态代理,Cglib使用

一些框架

  1. 分布式缓存memcached
  2. 消息队列ActiveMq实现原理以及使用&JMS的使用
  3. 深入Spring相关,Spring Boot等
  4. RPC框架Dubbo
  5. 深入Mybatis,实现原理,缓存使用等

云相关

  1. Zookeeper,在linux上部署
  2. Hadoop
  3. Hive

Java之外

  1. 学习一门动态语言:Ruby,体会Ruby元编程
  2. 使用Rails实现自己的项目
  3. 作为Java开发者,Scala自然不能少
  4. 学习开源项目 Apache旗下的, Thrift,Tomcat、Mina等

本站由 Hank Zhao 使用 Stellar 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
本站总访问量