Java Backend Engineer Learning Roadmap and Recommended Resources
This article presents a comprehensive Java backend engineer learning roadmap, outlining essential skills from version control and Maven to core Java, frameworks, system and JVM performance tuning, messaging middleware, OAuth, Redis, and data processing, accompanied by recommended books and online resources for each topic.
Based on a previously compiled Java backend engineer skill tree, this guide offers a structured learning plan that covers the essential knowledge required for a competent Java backend developer, providing a high‑level outline rather than exhaustive details.
1. Git Version Management & Maven Project Management
Reference: Weibo New Soldier Training Camp – Environment and Tools (http://weibo.com/p/1001643874239169320051).
2. Java Programming
Books
Core Java Volume I : Essential introductory "yellow book".
Core Java Volume II : Advanced language features.
Java Concurrency in Practice : In‑depth coverage of Java concurrency utilities.
Effective Java : Highly praised by Java experts for best‑practice guidance.
Java SE 8 for Busy People : Covers Java 8 features and overlooked Java 7 enhancements.
Online Resources
Socket programming: http://ifeve.com/java-socket/
NIO: http://ifeve.com/java-nio-all/
Serialization: http://ifeve.com/java-io-s-objectinputstream-objectoutputstream/
RPC frameworks (e.g., Dubbo): http://dubbo.io
Concurrent programming: http://ifeve.com/java-concurrency-constructs/
3. Development Frameworks
Spring – tutorial by Kai Tao (http://www.open-open.com/doc/view/5407635b943d410c9cfde409c90450b7)
Spring MVC – tutorial by Kai Tao (http://www.cnblogs.com/kaitao/archive/2012/07/16/2593441.html)
MyBatis – practical guide (http://www.yihaomen.com/article/java/302.htm) and additional learning material (http://limingnihao.iteye.com/blog/781671)
Reading the official documentation is strongly recommended, and after gaining proficiency, studying the source code of these frameworks is essential. A suggested approach is:
1) Read the architecture documentation. 2) Classify source files by module or hierarchy. 3) Start with the most independent module. 4) Review the module’s functional documentation. 5) Read the module’s source code. 6) Document call‑relationship tables while reading. 7) Repeat from step 3.
4. System Performance Optimization & Diagnosis
Reference book: Linux Server Performance Tuning (https://book.douban.com/subject/4027746/). Topics include Linux overview, performance analysis tools, system tuning, server performance characteristics, and case studies.
5. JVM Performance Optimization & Diagnosis
Java Performance Optimization: The Definitive Guide (https://book.douban.com/subject/25828043/)
Understanding the Java Virtual Machine (2nd Edition) (https://book.douban.com/subject/24722612/)
Learning content covers JVM overview, monitoring, profiling tools, tuning parameters and steps, and practical case analyses.
6. Message Middleware
JMS
Classic but simple messaging standard; ActiveMQ is a common implementation, though not recommended for new projects.
Large‑scale distributed messaging overview: http://blog.csdn.net/huyiyang2010/article/details/5969944
JMS Overview: http://docs.oracle.com/javaee/6/tutorial/doc/bncdr.html
Basic JMS API Concepts: http://docs.oracle.com/javaee/6/tutorial/doc/bncdx.html
JMS API Programming Model: http://docs.oracle.com/javaee/6/tutorial/doc/bnceh.html
Creating Robust JMS Applications: http://docs.oracle.com/javaee/6/tutorial/doc/bncfu.html
Using JMS in Java EE Applications: http://docs.oracle.com/javaee/6/tutorial/doc/bncgl.html
Further JMS information: http://docs.oracle.com/javaee/6/tutorial/doc/bncgu.html
RabbitMQ
Implementation of the AMQP protocol, suitable for scenarios requiring transaction management and high reliability. Official documentation: http://www.rabbitmq.com/documentation.html.
Kafka
Log‑based distributed messaging system. Primary resource: http://kafka.apache.org/documentation.html.
Chinese tutorial: http://www.orchome.com/kafka/index
Author’s study notes: https://github.com/superhj1987/kafka-study
7. OAuth Authentication Technology
Principles
OAuth is the dominant third‑party authentication protocol used by platforms such as Weibo, WeChat, QQ, Facebook, and Twitter. See Baidu encyclopedia and detailed blog post for deeper understanding.
Open‑Source Implementations
Google OAuth Core: http://oauth.net/code/
Spring OAuth: http://projects.spring.io/spring-security-oauth/
8. Redis Design and Implementation
Redis command reference: http://redisdoc.com/
Redis design and implementation guide: http://redisbook.com/
Learning topics include common commands and data structures, internal data structures, memory‑mapped storage, data types, functional implementation, and internal operation mechanisms.
9. Data‑Related Topics
Theoretical Foundations
MapReduce – the original distributed computing model.
GFS – Google File System, open‑source implementation HDFS.
Bigtable – column‑family database, open‑source implementation HBase.
Real‑Time Computing
Storm – widely used real‑time computation framework (https://book.douban.com/subject/26312249/).
Spark Streaming – batch‑based real‑time stream processing (https://spark.apache.org/streaming/).
Batch Computing
Hadoop: The definitive guide (covers HDFS, HBase, MapReduce).
Hive programming guide – simplifies MapReduce development.
Spark for fast big‑data analysis – RDD‑based model.
Lambda Architecture
Classic big‑data architecture combining batch and real‑time layers; see analysis article by Jay Kreps (http://www.csdn.net/article/2014-07-08/2820562-Lambda-Linkedln).
Machine Learning
Recommendation Systems Practice.
Computational Advertising.
Collective Intelligence.
Machine Learning textbook.
Author: Hang (architect/backend engineer, working@中华万年历) Source: http://www.rowkey.me/blog/2016/06/27/java-backend-study/
Copyright notice: Content sourced from the web; original authors retain rights. If any infringement is identified, please contact for removal.
Architecture Digest
Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.