Skip to content

Latest commit

 

History

History
575 lines (385 loc) · 17.9 KB

java-resources.md

File metadata and controls

575 lines (385 loc) · 17.9 KB

Resources of Java

Content

  • I. Guidance & Roadmap
  • II. Books & Documentations
  • III. Source Repositories
  • IV. Blog & Community
  • V. Others

Main

I. Guidance & Roadmap

II. Books & Documentations

menu

  • Java SE
  • Web Development
    • Protocols
      • HTTP, HTTPS, HTTP/2
    • Web Servers
      • Apache Tomcat
      • Nginx
    • Web Security
    • Web Frontend
      • HTML
      • CSS
      • XML
      • JavaScript
      • Bootstrap
      • Vue.js
      • Node.js
    • Java Web
      • Web Basic
        • Java Servlet
        • JDBC/Connection Pools
      • Java EE
      • Web Frameworks
        • Spring Framework
        • Swagger
        • Apache Shiro
      • Persistence Frameworks
        • MyBatis
        • Hibernate
      • Job Scheduling
        • Quartz
      • Workflow Engine
        • Activiti
      • Search Engine
        • Apache Lucene
        • solr
      • Web Crawler
        • Apache Nutch
  • Network Programming
    • TCP/IP
    • Socket
    • Web Socket
    • NIO & Netty
    • RPC
      • Web Service
      • Apache Thrift
  • Database Programming
    • Cache
    • Relational Databases
    • NoSQL Databases
  • DevOps
    • Linux (Basic, Shell Script.)
    • Docker
    • Kubernates
    • Jenkins
  • Test
    • Unit test
    • Mock
    • Performance test
  • Tools
    • version control, project build, IDE, Editor.
  • Distributed System
    • Distribute Collaboration
    • Distribute Message
    • Distribute Cache
    • Microservice

Java SE

beginner

  • Core Java (11th, 2018) Volume I Fundamentals by S, Horstmann
  • The Java™ Tutorials
  • Head First Java (2nd, 2009) by Kathy Sierra
  • Java 8 in Action (2014) by Raoul-Gabriel Urma, Mario Fusco
  • Java: The Complete Reference (11th) by Schildt, Herbert

Master

Concurrency Programming

  • Java Concurrency in Practice (2006) by Goetz, Brian
  • Concurrent Programming in Java: Design Principles and Patterns (2006) by Doug Lea
  • Java多线程编程实战指南-核心篇 (2017) by 黄文海 (9.8)
  • 图解Java多线程设计模式 (2017) by [日] 结城浩 (8.5)
  • Java多线程编程实战指南-设计模式篇 (2015) by 黄文海 (8.5)
  • 实战Java高并发程序设计 (2015) by 葛一鸣, 郭超 (8.3)
  • Java并发编程的艺术 (2015) by 方腾飞, 魏鹏, 程晓明 (7.3)
  • Seven Concurrency Models in Seven Weeks: When Threads Unravel (2014) by Paul Butcher

JVM Optimization

  • The Java® Virtual Machine Specification Java SE 7 Edition - doc
  • Java Performance: The Definitive Guide by Oaks, Scott [4.38]
  • Java Performance by Hunt, Charlie [4.12]
  • Java Performance Companion by Hunt, Charlie [3.77]
  • Java Performance Tuning by Shirazi, Jack [3.56]
  • Optimizing Java: Practical Techniques for Improving Jvm Application Performance by Evans, Benjamin J.
  • The Garbage Collection Handbook: The Art of Automatic Memory Management by Jones, Richard
  • 深入理解Java虚拟机(第2版) : JVM高级特性与最佳实践 (2013) by 周志明 (8.9)
  • Java程序性能优化-让你的Java程序更快、更稳定 (2012) by 葛一鸣 (8.1)
  • 实战Java虚拟机 (2015) by 葛一鸣 (8.1)
  • 垃圾回收的算法与实现 (2016) by 中村成洋 (8.2)

Reactive Programming

  • Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications by Ben Christensen and Tomasz Nurkiewicz
  • Reactive Programming With Java 9: Build Asynchronous Applications with Rx.Java 2.0, Flow API and Spring WebFlux by Tejaswini Mandar Jog
  • Learning Reactive Programming with Java 8 by Nickolay Tsvetinov
  • Reactive Web Applications: Covers Play, Akka, and Reactive Streams by Manuel Bernhardt

Utility Library

JSON, XML, Email, Logging, Datetime, IO.

Design Patterns

  • Head First Object-Oriented Analysis and Design by McLaughlin, Brett
  • Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm

Web Development

Protocols

Web Servers

  • 深入理解Nginx by 陶辉
  • How Tomcat Works: A Guide to Developing Your Own Java Servlet Container by Budi Kurniawan, Paul Deck

Web Security

  • The Tangled Web: a Guide to Securing Modern Web Applications by Michal Zalewski
  • 白帽子讲Web安全 (2012) by 吴翰清
  • 白帽子讲浏览器安全 (2016) by 钱文祥

Web Frontend

XML

JavaScript

  • Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke
  • JavaScript: The Good Parts by Douglas Crockford
  • JavaScript: The Definitive Guide by David Flanagan
  • Secrets of the JavaScript Ninja by Bear Bibeault and John Resig by Bear Bibeault and John Resig
  • Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript
  • Maintainable JavaScript by Nicholas C. Zakas
  • You Don't Know JS: ES6 & Beyond by Kyle Simpson
  • You Don't Know JS: Up & Going by Kyle Simpson
  • You Don't Know JS: Scope & Closures by Kyle Simpson
  • You Don't Know JS: this & Object Prototypes by Kyle Simpson
  • You Don't Know JS: Async & Performance by Kyle Simpson
  • You Don't Know JS: Types & Grammar by Kyle Simpson
  • Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers by Nicholas C. Zakas
  • DOM Enlightenment by Cody Lindley
  • Introducing functional programming with Underscore.js by Michael Fogus

JS Framework

  • jQuery in Action by Bear Bibeault
  • JavaScript and JQuery: Interactive Front-End Web Development by Jon Duckett
  • Node.js in Action by Marc Harter, Mike Cantelon, Nathan Rajlich, and T. J. Holowaychuk
  • RxJS in Action by Daniels, Paul P., Atencio, Luis

Java Web

Servlet

Java EE

  • Java EE Documentation - doc
  • Expert One-on-One J2EE Design and Development by Johnson, Rod
  • Restful Java with Jax-RS by Burke, Bill
  • Professional Java EE Design Patterns by Yener, Murat
  • High-Performance Java Persistence by Mihalcea, Vlad
  • Java EE 7 Essentials by Gupta, Arun
  • Core J2EE Patterns: Best Practices and Design Strategies (J2EE核心模式)
  • 深入分析Java Web技术内幕 by 许令波

Web Frameworks

Persistence Framework

  • Java Persistence with Hibernate: Revised Edition of Hibernate in Action by Bauer, Christian

Job Scheduling

Workflow Engine

Search Engine

Web Crawler

Web Security

Network Programming

TCP/IP

  • Unix Network Programming by W.Richard Stevens

Socket

  • TCP/IP Sockets in Java: Practical Guide for Programmers by Kenneth L. Calvert, Michael J. Donahoo
  • Java Network Programming by Harold, Elliotte Rusty

Web Socket

NIO

  • Java NIO by Hitchens, Ron
  • Netty in Action by Maurer, Norman
  • Netty权威指南 by 李林锋

RPC

Database Programming

Cache

NoSQL

  • Redis in Action by Josiah L. Carlson
  • Redis设计与实现 by 黄健宏

Relational Databases

DevOps

Linux

  • 鸟哥的Linux私房菜:基础学习篇
  • The Linux Command Line by William E. Shotts Jr
  • Linux Shell Scripting Cookbook by Sarath Lakshman (Linux Shell 脚本攻略)

Jenkins

  • Jenkins: The Definitive Guide

Docker

  • Docker in Action

Test

Tools

  • Pro Git
  • Maven: The Definitive Guide

Distributed System

Distribute Collaboration

Distribute Message

Distribute Cache

Microservice

III. Source Repositories

Java Libraries

  • Google Guava Google Core Libraries for Java, 开源的Java库,谷歌很多项目使用它的很多核心库。这个库是为了方便编码,并减少编码错误。
  • comons-lang 一个被大量使用的工具包,都是一个一个的方法,适合新手学习。

Web Frameworks

  • spring-framework

  • spring-boot

  • Flyweight

    • blade Lightning fast and elegant mvc framework for Java8
    • Google Guice a lightweight dependency injection framework
    • jfinal JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!
    • tiny-spring
    • AisMVC 一款仿SpringMVC轻便的mvc开发框架

ORM Frameworks

  • mybatis-3 MyBatis SQL mapper framework for Java
  • hibernate-orm Hibernate's core Object/Relational Mapping functionality

Network Frameworks

RPC Frameworks

Utilities

for JSON

for Build

for Deploy

for Test

for HTTP Client

Others

Web Server

Caching System

Distributed Log

Database Management System

Operating System


Management system

  • BootDo 基于 Springboot 和 Mybatis 的后台管理系统
  • Guns 基于SpringBoot,更简洁的后台管理系统
  • FEBS 基于 Spring Boot 的权限管理系统
  • cms content management system
  • crud 万能快速原型系统
  • JeePlus
  • hope-plus
  • MCMS Java快速开发平台
  • funiture 企业级权限管理系统

Shop System

IM

Social

  • symphony 现代化社区(论坛/BBS/社交网络/博客)平台

Others

Tutorials

IV. Blog & Community

Personal Blog

Community

Social

  • Reddit
  • Hacker News
  • Medium
  • V2EX
  • 1point3acres

V. Others

Knowledge Summary

Resource Collection

Online Course Website

Others

References

[1] What are the best programming blogs? - Quora

--END--