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