说明
可能有些人还不明白:
- 学 Java 到底该学什么?
- 现在市面上都流行什么技术?
- Java 面试都问些什么问题?
- 有什么汇总之类的教程?
带着这几个问题,栈长在这里整理了大量主流的 Java 系列文章和教程,供你学习、工作、面试复习参考。
大多内容为栈长原创,首发自微信公众号:Java技术栈,这些内容在Java技术栈公众号菜单中都有作分类整理,如果你想在微信上阅读,也可以关注微信公众号,在微信上阅读体验更好,也方便随时随地手机查阅,微信公众号第一时间更新。
扫一扫关注微信公众号:
另外,教程会在Java技术栈官方博客中同步更新。
本文会定期更新,欢迎 Star。
目录分类
点击快速跳转分类文章:
Java
基础
- Java 中的基本数据类型转换详解
- StringBuffer 和 StringBuilder 的 3 个区别
- switch case 支持的 6 种数据类型!
- switch多值匹配骚操作,带你涨姿势!
- 一张图搞清楚Java异常机制
- 你真的搞懂 transient 关键字了吗?
- 关于 Java 序列化你不知道的 5 件事
- 关于Java序列化你应该知道的一切
- 坑爹的 Java 可变参数,把我整得够惨。
- 字符串拼接 + 和 concat 的区别
- 常见的 3 种 Class 级别的错误
- 深入浅出 Java 中的包装类
- 通用唯一标识码 UUID 的介绍及使用。
- 10 个深恶痛绝的 Java 异常。
- Java Base64 编码解码方案总结
- Java Jar包压缩、解压使用指南
- Java 父类强制转换子类原则
集合
- Java 中初始化 List 集合的 6 种方式!
- HashMap 和 Hashtable 的 6 个区别
- HashMap, ConcurrentHashMap 原理及源码
- Hashtable 为什么不叫 HashTable?
多线程
- i++ 是线程安全的吗?
- Java 多线程 join 使用及原理
- Java 多线程可以分组,还能这样玩!
- Java 虚拟机对锁优化所做的努力
- sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?
- Synchronized 与 ReentrantLock 的区别!
- Synchronized 有几种用法?
- 一文搞懂 Java 线程中断
- 出场率比较高的一道多线程安全面试题
- 到底什么是重入锁,拜托,一次搞清楚!
- 多线程 start 和 run 方法到底有什么区别?
- 多线程 Thread.yield 方法到底有什么用?
- 多线程通信的三大法器,你真的会用吗?
- 并行任务执行神器 Fork & Join 实战
- 教你如何监控 Java 线程池运行状态
- 线程休眠只会用Thread.sleep?那就弱爆了!
- 面试官问线程安全的List,看完再也不怕了!
JVM
IO
待更新……
新特性
Java8
- Java8 新特性之Lambda表达式
- Java8 新特性之Optional
- Java8 新特性之函数式接口
- Java8 新特性之接口默认方法与静态方法
- Java8 新特性之方法引用
- Java8 新特性之重复注解
- Java8 之新特性扩展篇
Stream
- Java 8 新特性之Stream流
- Java 8 创建 Stream 的 10 种方式,我保证你受益无穷!
- Java 8 新特性之 Stream 流(一)基础体验
- Java 8 新特性之 Stream 流(七)流与迭代器,流系列大结局!
- Java 8 新特性之 Stream 流(三)缩减操作
- Java 8 新特性之 Stream 流(二)关键知识点
- Java 8 新特性之 Stream 流(五)映射
- Java 8 新特性之 Stream 流(六)收集
- Java 8 新特性之 Stream 流(四)并行流
Java9
Java10
Java11
Java12
进阶
- hashCode 和 identityHashCode 的区别你知道吗?
- Java 中的 6 颗语法糖
- Java 中的 String 真的是不可变吗?
- Java 中的伪共享详解及解决方案
- Java 中的宏变量,宏替换详解。
- Java 中获取类名的三种方法,你知道几种?
- Java 对象引用四个级别(强、软、弱、虚)
- Java 异常处理 10 个最佳实践
- Java 类初始化顺序,3个示例带你躺坑。
- Java 自定义 ClassLoader 实战
- 不能用 + 拼接字符串? 这次我要吊打面试官!
- 别再写 bug 了,避免空指针的 5 个案例!
- 字符串 substring 方法在 JDK 6,7,8 中的差异。
- 神奇,教你用随机数打印hello world
- 金融系统中正确的金额计算及存储方式
- 面试问我 Java 逃逸分析,瞬间被秒杀了。
后端技术
Spring
- Spring 事务失效的 8 大原因,这次可以吊打面试官了!
- Spring Aware 容器感知技术
- Spring Enable 高级应用及原理
- Spring import 配置文件使用占位符
- Spring 开启方法异步执行
- Spring 快速开启计划任务
- 终于,Spring 5.0 正式发布了!
Spring MVC
Spring Boot
- Spring Boot 2.2.2 发布,新增 2 个新特性!
- Spring Boot 2.2.1 发布,一个有点坑的版本!
- Spring Boot 2.2 增加了一个新功能,启动飞起~
- Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!
- Spring Boot 2.1.0 已发布,7 个重大更新!
- Spring Boot 2.0 正式发布!
- Spring Boot 1.5.10 发布:修复重要安全漏洞!!!
- Spring Boot 2.x 与 1.x 的区别,以及如何做版本迁移
- Spring Boot 2.x 启动全过程源码分析(上)入口类剖析
- Spring Boot 2.x 启动全过程源码分析(下)运行方法剖析
- Spring Boot Debug调试,日后必定有用!
- Spring Boot Profile 配置详解
- Spring Boot Runner启动器
- Spring Boot Server容器配置
- Spring Boot Starters启动器
- Spring Boot YML 掀翻 Properties!!
- Spring Boot 主类及目录结构介绍
- Spring Boot 之配置导入,强大到不行!
- Spring Boot 功能实战
- Spring Boot 单元测试详解+实战教程
- Spring Boot 发布将 jar 包转为 war 包。
- Spring Boot 发邮件,1 分钟教会你
- Spring Boot 国际化支持
- Spring Boot 定制启动图案
- Spring Boot 实现热部署
- Spring Boot 应用 10 种保护绝佳方法
- Spring Boot 开启的2种方式
- Spring Boot 怎么打一个可执行 Jar 包?
- Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!
- Spring Boot 支持 HTTPS 如此简单,So easy!
- Spring Boot 整合Thymeleaf模板引擎
- Spring Boot 日志集成
- Spring Boot 是什么?
- Spring Boot 最核心的 25 个注解,都是干货!
- Spring Boot 最核心的 3 个注解详解
- Spring Boot 构造器参数绑定,越来越强大了!
- Spring Boot 核心配置
- Spring Boot 注册 Servlet 的三种方法,真是太有用了!
- Spring Boot 的 10 个核心模块
- Spring Boot 真是个牛逼货!
- Spring Boot 自动配置原理、实战
- Spring Boot 自定义日志详解
- Spring Boot 读取配置的几种方式
- Spring Boot 运行应用的 3 种方式
- Spring Boot 返回 JSON 数据,一分钟搞定!
- Spring Boot 返回 XML 数据,一分钟搞定!
- Spring Boot 配置加载顺序
- Spring Boot 配置加载顺序详解。
- Spring Boot 配置文件 bootstrap vs application 到底有什么区别?
- Spring Boot 配置随机数技巧
- Spring Boot 集成Mybatis双数据源
- Spring Boot 面试,一个问题就干趴下了!
- Spring Boot 面试,一个问题就干趴下了!(下)
- 公司不用 Spring Boot,果断离职了!
- 年轻人的第一个 Spring Boot 应用,太爽了!
- 年轻人的第一个自定义 Spring Boot Starter!
Spring Cloud
- Spring Cloud 是什么?
- Spring Cloud Greenwich.SR4 发布了,跟不上了……
- Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝。。
- Spring Cloud 升级最新 Greenwich 版本,舒服了~
- Spring Cloud 升级最新 Finchley 版本,踩了所有的坑!
- Spring Cloud Finchley 正式发布,包含 4个重大更新!
- Spring Cloud Eureka 常用配置详解,建议收藏!
- Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!
- Spring Cloud Eureka 注册安全一定要做到位!
- Spring Cloud Eureka 自我保护机制
- Spring Cloud Eureka 自我保护机制实战分析
- Spring Cloud Gateway VS Zuul 比较,怎么选择?
- Spring Cloud 多版本管理那些事。
- Spring Cloud 如何动态刷新 Git 仓库配置?
- Spring Cloud @RefreshScope 原理是什么?
- Spring Cloud 服务安全连接
- Spring Cloud 注册中心高可用搭建
- Spring Cloud 配置中心内容加密
- Spring Cloud 配置中心客户端读取配置
- Spring Cloud 配置中心高可用搭建
- Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现
- 凉凉了,Eureka 宣布停更,Spring Cloud 何去何从?
- 厉害了,Spring Cloud for Alibaba 来了!
MyBatis
Docker
Dubbo
Elasticsearch
待更新……
Elastic Job
JWT
Netty
Shrio
Tomcat
Zookeeper
开源框架
日志
消息队列
Kafka
缓存
连接池
综合技术
- 2018最新后端开发人员的路线图
- Java Cookie 增删改查操作。
- Java 接入 Google 身份验证器实战
- Java 程序员必备的 15 个框架,前 3 个地位无可动摇!
- SaaS,PaaS,IaaS都是什么鬼?
- 一个比 Spring Boot 快 44 倍的 Java 框架!
- 什么是 CPU 密集型、IO密集型?
- 什么是Kotlin?Java的替代语言?
- 参数验证 @Validated 和 @Valid 的区别
数据库
MySQL
待更新……
Redis
- Redis是什么?4大优势,必学中间件!
- Redis 的 8 大应用场景!
- Redis Linux 安装运行实战全记录
- 超详细的 Redis Cluster 官方集群搭建指南
- Redis 再牛逼,也得设置密码!!
- Redis 如何分析慢查询操作?
- Redis 常用操作命令,非常详细!
- Redisson - Redis官方推荐的分布式协调客服端
- Spring Boot Redis Cluster 实战干货
- Spring Data Redis 详解及实战一文搞定
- 一个致命的 Redis 命令,导致公司损失 400 万!!
MongoDB
- 什么是 MongoDB
- MongoDB 删除数据用法
- MongoDB 安装、配置、启动、连接
- MongoDB 插入数据用法
- MongoDB 数据库与集合特性
- MongoDB 更新数据用法
- MongoDB 查询数据用法
- MongoDB 索引篇
- MongoDB 集成到SpringBoot
- MongoDB 从Oracle导入数据
分布式技术
- 到底什么是分布式系统?
- 分布式 ID 生成器的解决方案总结
- 分布式 Session 共享解决方案
- 分布式服务防雪崩熔断器,Hystrix 理论实战。
- 分布式系统中处理参数配置的 4 种方案
- 分布式系统架构常识:CAP理论。
架构
- 一张图告诉你为什么是服务网关
- 一张图告诉你什么是系统架构师
- 到底什么是跨域?附解决方案!
- 服务降级的概念及应用手段
- 服务高可用:幂等性设计
- 架构师必须掌握的 10 条设计原则
- SLA 服务可用性 4 个 9 是什么意思?怎么达到?
- 自从用了灰度发布,睡觉真香!
设计模式
待更新……
数据结构 & 算法
规范
安全漏洞
性能优化
行业动态
- GitHub for mobile 来了,码农苦逼了!
- 全球 IPv4 地址正式耗尽
- 今天是 Java 诞生日,Java 24 岁了!
- 6月来了,Java还是第一!
- Elastic Search 上市了,市值翻倍,这群人财务自由了!
- Hystrix 停止开发,Spring Cloud 何去何从?
- Java 11 快要来了,编译 & 运行一个命令搞定!
- Java 13 发布了!
- Java 9 被无情抛弃,Java 8 直接升级到 Java10!!
- Java 序列化技术即将被废除!!!
- Junit5 新功能一览
- 天了噜,Java 8 要停止维护了!
- 屌炸天,Oracle 发布了一个全栈虚拟机!
- 恭喜微微软喜当爹,Github 嫁入豪门。
- 新年放大招:Github 私库免费了!
- Eclipse 代替 Oracle 接管 Java EE
Linux
区块链
工具
Eclipse
Intellij IDEA
- IDEA 公司推出新字体,极度舒适~
- Intellij IDEA 智能补全的 10 个姿势,太牛逼了。。
- Intellij IDEA 最头大的问题,如何自定义注释模板?
- Intellij IDEA 最新乱码解决必杀技
- Intellij IDEA 最蛋疼的 10 个问题!
- Intellij IDEA 阅读源码的 4 个绝技!
Git
- Git SSH 连接方式配置
- Git 仓库操作命令
- Git 分支管理
- Git 提交记住用户名和密码
- Git 文件操作命令
- Git 的安装配置
- Git 的这个神技,学会爽歪歪~
- 一文告诉你如何导出 Git 变更文件
- 推荐一个实用的 .gitignore 文件
Maven
Swagger
效率
- 3种骚操作,教你查看 Java 字节码!
- 推荐一个在线创作流程图、思维导图软件
- 推荐一款代码神器,代码量至少省一半!
- 推荐一款阿里开源的 Java 诊断工具,好用到爆!
- 神器,阿里巴巴 Java 代码检查插件
工具类
面试
- 10 道腾讯的 Java 面试题
- 18 道 Java 基础面试笔试题
- 75 道 BAJT 中高级 Java 面试题,你能答上几道?
- Java 中创建 String 的两道面试题及详解
- Java 面试题经典 77 问(含答案)!
- Redis 面试题 50 问,史上最全。
- 为什么面试你要25K,HR只给你20K?
- 为什么面试完,总是让你回去等通知?
- 去 BAT 面试完的 MySQL 面试题总结
- 史上最全 40 道 Dubbo 面试题及答案!
- 史上最全 Java 多线程面试题及答案
- 史上最全 Javascript 面试题及答案
- 史上最全阿里 Java 面试题总结
- 吐血整理 20 道 Spring Boot 面试题!
- 周末去面试,进去 5 分钟就出来了…
- 程序员如何面对 HR 面试的 40 的问题!
- 通往大神之路,百度Java面试题前 200 页。
- 阿里巴巴高级 Java 面试题 70 道
- 面试一个 3 年 Java 程序员,一个问题都不会!
程序人生
- 10年老兵给程序员的 10 条建议!
- IG赢了,微博挂了
- 一个程序员的国庆血泪相亲史,惨败而归…
- 为什么公司宁愿 25K 重新招人,也不给你加到 20K?
- 从 0 开始搭建一个技术博客,私藏干货~
- 国庆加了三天班,公司不给钱,咋办?
- 在外包干了三年,我废了……不吹不黑!
- 年底了,是时候做个了断了。。。
- 微博什么技术啊……还说支持八个明星并发出轨,结果…
- 毕业不到一年,绩效打了个D!
- 相亲无数,全靠招数
- 程序猿,你工作几年了?
- 聊聊我面试过的一个最奇葩的 Java 程序猿!
- 过了所有技术面,却倒在 HR 一个问题上。。
- 过年回家,程序猿最怕的 5 件事,深有感触。
- 都几套房了,还写个毛的代码!
资料
其他
结束语
不定期陆续更新中……
希望大家能真正学到东西,有错误之处,欢迎提出。
如果你想投稿贡献、转载,关注微信公众号了解详情,关注微信公众号,最新干货,第一时间推送。