Java 教程
...大约 13 分钟
JavaTutorial
☕ java-tutorial 是一个 Java 教程,汇集一个老司机在 Java 领域的十年积累。
- 🔁 项目同步维护:Github | Gitee
- 📖 电子书阅读:Github Pages | Gitee Pages
说明:
- 下面的内容清单中,凡是有 📚 标记的技术,都已整理成详细的教程。
- 部分技术因为可以应用于不同领域,所以可能会同时出现在不同的类别下。
📖 内容
JavaSE
Java 基础特性
- Java 开发环境
- Java 基础语法特性
- Java 基本数据类型
- Java 面向对象
- Java 方法
- Java 数组
- Java 枚举
- Java 控制语句
- Java 异常
- Java 泛型
- Java 反射
- Java 注解
- Java String 类型
Java 高级特性
- Java 正则从入门到精通 - 关键词:
Pattern、Matcher、捕获与非捕获、反向引用、零宽断言、贪婪与懒惰、元字符、DFA、NFA - Java 编码和加密 - 关键词:
Base64、消息摘要、数字签名、对称加密、非对称加密、MD5、SHA、HMAC、AES、DES、DESede、RSA - Java 国际化 - 关键词:
Locale、ResourceBundle、NumberFormat、DateFormat、MessageFormat - Java JDK8 - 关键词:
Stream、lambda、Optional、@FunctionalInterface - Java SPI - 关键词:
SPI、ClassLoader
Java 容器

- Java 容器简介 - 关键词:
Collection、泛型、Iterable、Iterator、Comparable、Comparator、Cloneable、fail-fast - Java 容器之 List - 关键词:
List、ArrayList、LinkedList - Java 容器之 Map - 关键词:
Map、HashMap、TreeMap、LinkedHashMap、WeakHashMap - Java 容器之 Set - 关键词:
Set、HashSet、TreeSet、LinkedHashSet、EmumSet - Java 容器之 Queue - 关键词:
Queue、Deque、ArrayDeque、LinkedList、PriorityQueue - Java 容器之 Stream
Java IO

- Java IO 模型 - 关键词:
InputStream、OutputStream、Reader、Writer、阻塞 - Java NIO - 关键词:
Channel、Buffer、Selector、非阻塞、多路复用 - Java 序列化 - 关键词:
Serializable、serialVersionUID、transient、Externalizable、writeObject、readObject - Java 网络编程 - 关键词:
Socket、ServerSocket、DatagramPacket、DatagramSocket - Java IO 工具类 - 关键词:
File、RandomAccessFile、System、Scanner
Java 并发

- Java 并发简介 - 关键词:
进程、线程、安全性、活跃性、性能、死锁、饥饿、上下文切换 - Java 线程基础 - 关键词:
Thread、Runnable、Callable、Future、wait、notify、notifyAll、join、sleep、yeild、线程状态、线程通信 - Java 并发核心机制 - 关键词:
synchronized、volatile、CAS、ThreadLocal - Java 并发锁 - 关键词:
AQS、ReentrantLock、ReentrantReadWriteLock、Condition - Java 原子类 - 关键词:
CAS、Atomic - Java 并发容器 - 关键词:
ConcurrentHashMap、CopyOnWriteArrayList - Java 线程池 - 关键词:
Executor、ExecutorService、ThreadPoolExecutor、Executors - Java 并发工具类 - 关键词:
CountDownLatch、CyclicBarrier、Semaphore - Java 内存模型 - 关键词:
JMM、volatile、synchronized、final、Happens-Before、内存屏障 - ForkJoin 框架
Java 虚拟机

- JVM 体系结构
- JVM 内存区域 - 关键词:
程序计数器、虚拟机栈、本地方法栈、堆、方法区、运行时常量池、直接内存、OutOfMemoryError、StackOverflowError - JVM 垃圾收集 - 关键词:
GC Roots、Serial、Parallel、CMS、G1、Minor GC、Full GC - JVM 类加载 - 关键词:
ClassLoader、双亲委派 - JVM 字节码 - 关键词:
bytecode、asm、javassist - JVM 命令行工具 - 关键词:
jps、jstat、jmap、jstack、jhat、jinfo - JVM GUI 工具 - 关键词:
jconsole、jvisualvm、MAT、JProfile、Arthas - JVM 实战 - 关键词:
配置、调优 - Java 故障诊断 - 关键词:
CPU、内存、磁盘、网络、GC
JavaEE
JavaWeb
Java 服务器
Tomcat 和 Jetty 都是 Java 比较流行的轻量级服务器。
Nginx 是目前最流行的反向代理服务器,也常用于负载均衡。
Java 软件
Java 构建
Java 项目需要通过 构建工具 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。
- 目前最主流的构建工具是 Maven,它的功能非常强大。
- Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。
- Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。
Java IDE
自从有了 IDE,写代码从此就告别了刀耕火种的蛮荒时代。
- Eclipse 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。
- 曾经抗拒从转 Intellij Idea ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。
- 你可以在 vscode 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。
Java 监控诊断
监控/诊断 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。
Java 工具
Java IO
JavaBean 工具
Java 模板引擎
Java 测试工具
其他
Java 框架
Spring
综合
核心
- Spring Bean
- Spring IoC
- Spring 依赖查找
- Spring 依赖注入
- Spring IoC 依赖来源
- Spring Bean 作用域
- Spring Bean 生命周期
- Spring 配置元数据
- Spring AOP
- Spring 资源管理
- Spring 校验
- Spring 数据绑定
- Spring 类型转换
- Spring EL 表达式
- Spring 事件
- Spring 国际化
- Spring 泛型处理
- Spring 注解
- Spring Environment 抽象
- SpringBoot 教程之快速入门
- SpringBoot 之属性加载
- SpringBoot 之 Profile
数据
- Spring 之数据源
- Spring 之 JDBC
- Spring 之事务
- Spring 之 JPA
- Spring 集成 Mybatis
- Spring 访问 Redis
- Spring 访问 MongoDB
- Spring 访问 Elasticsearch
Web
IO
集成
其他
ORM
安全
Java 领域比较流行的安全框架就是 shiro 和 spring-security。
shiro 更为简单、轻便,容易理解,能满足大多数基本安全场景下的需要。
spring-security 功能更丰富,也比 shiro 更复杂。值得一提的是由于 spring-security 是 spring 团队开发,所以集成 spring 和 spring-boot 框架更容易。
IO
Java 中间件
缓存
缓存可以说是优化系统性能的第一手段,在各种技术中都会有缓存的应用。
如果想深入学习缓存,建议先了解一下 缓存基本原理,有助于理解缓存的特性、原理,使用缓存常见的问题及解决方案。
流量控制
大数据
大数据技术点以归档在:bigdata-tutorial
📚 资料
- Java 经典书籍
- 《Effective Java 中文版》 - 本书介绍了在 Java 编程中 78 条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。同推荐《重构 : 改善既有代码的设计》、《代码整洁之道》、《代码大全》,有一定的内容重叠。
- 《Java 并发编程实战》 - 本书深入浅出地介绍了 Java 线程和并发,是一本完美的 Java 并发参考手册。
- 《深入理解 Java 虚拟机》 - 不去了解 JVM 的工程师,和咸鱼有什么区
- 《Maven 实战》 - 国内最权威的 Maven 专家的力作,唯一一本哦!
- 其他领域书籍
- 《Redis 设计与实现》 - 系统而全面地描述了 Redis 内部运行机制。图示丰富,描述清晰,并给出大量参考信息,是 NoSQL 数据库开发人员案头必备。
- 《鸟哥的 Linux 私房菜 (基础学习篇)》 - 本书是最具知名度的 Linux 入门书《鸟哥的 Linux 私房菜基础学习篇》的最新版,全面而详细地介绍了 Linux 操作系统。内容非常全面,建议挑选和自己实际工作相关度较高的,其他部分有需要再阅读。
- 《Head First 设计模式》 - 《Head First 设计模式》(中文版)共有 14 章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部 23 个设计模式。
- 《HTTP 权威指南》 - 本书尝试着将 HTTP 中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对 HTTP 各方面的特性进行了介绍。纵观全书,对 HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。
- 《TCP/IP 详解 系列》 - 完整而详细的 TCP/IP 协议指南。针对任何希望理解 TCP/IP 协议是如何实现的读者设计。
- 《剑指 Offer:名企面试官精讲典型编程题》 - 剖析了 80 个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这 5 个面试要点。
🚪 传送
◾ 💧 钝悟的 IT 知识图谱 ◾
Powered by Waline v2.15.7
