本仓库为【Java工程师技术指南】力求打造最完整最实用的Java工程师学习指南!
这些文章和总结都是我近几年学习Java总结和整理出来的,非常实用,对于学习Java后端的朋友来说应该是最全面最完整的技术仓库。 我靠着这些内容进行复习,拿到了BAT等大厂的offer,这个仓库也已经帮助了很多的Java学习者,如果对你有用,希望能给个star支持我,谢谢!
为了更好地讲清楚每个知识模块,我们也参考了很多网上的优质博文,力求不漏掉每一个知识点,所有参考博文都将声明转载来源,如有侵权,请联系我。
点击关注微信公众号及时获取笔主最新更新文章,并可免费领取Java工程师必备学习资源,以及我原创的电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
推荐使用 https://how2playlife.com/ 在线阅读,在线阅读内容本仓库同步一致。这种方式阅读的优势在于:左侧边栏有目录,阅读体验更好。
- 面向对象基础
- Java基本数据类型
- string和包装类
- final关键字特性
- Java类和包
- 抽象类和接口
- 代码块和代码执行顺序
- Java自动拆箱装箱里隐藏的秘密
- Java中的Class类和Object类
- Java异常
- 解读Java中的回调
- 反射
- 泛型
- 枚举类
- Java注解和最佳实践
- JavaIO流
- 多线程
- 深入理解内部类
- javac和javap
- Java8新特性终极指南
- Java类和包
- 序列化和反序列化
- 继承、封装、多态的实现原理
- Java集合类总结
- Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
- Java集合详解2:Queue和LinkedList
- Java集合详解3:Iterator,fail-fast机制与比较器
- Java集合详解4:HashMap和HashTable
- Java集合详解5:深入理解LinkedHashMap和LRU缓存
- Java集合详解6:TreeMap和红黑树
- Java集合详解7:HashSet,TreeSet与LinkedHashSet
- Java集合详解8:Java集合类细节精讲
- 设计模式学习总结
- 初探Java设计模式1:创建型模式(工厂,单例等).md
- 初探Java设计模式2:结构型模式(代理模式,适配器模式等).md
- 初探Java设计模式3:行为型模式(策略,观察者等).md
- 初探Java设计模式4:JDK中的设计模式.md
- 初探Java设计模式5:Spring涉及到的9种设计模式.md
- 走进JavaWeb技术世界1:JavaWeb的由来和基础知识
- 走进JavaWeb技术世界2:JSP与Servlet的曾经与现在
- 走进JavaWeb技术世界3:JDBC的进化与连接池技术
- 走进JavaWeb技术世界4:Servlet 工作原理详解
- 走进JavaWeb技术世界5:初探Tomcat的HTTP请求过程
- 走进JavaWeb技术世界6:Tomcat5总体架构剖析
- 走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
- 走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
- 走进JavaWeb技术世界9:Java日志系统的诞生与发展
- 走进JavaWeb技术世界10:从JavaBean讲到Spring
- 走进JavaWeb技术世界11:单元测试框架Junit
- 走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
- 走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
- 走进JavaWeb技术世界14:Mybatis入门
- 深入JavaWeb技术世界15:深入浅出Mybatis基本原理
- 走进JavaWeb技术世界16:极简配置的SpringBoot
- Spring源码剖析1:Spring概述
- Spring源码剖析2:初探Spring IOC核心流程
- Spring源码剖析3:Spring IOC容器的加载过程
- Spring源码剖析4:懒加载的单例Bean获取过程分析
- Spring源码剖析5:JDK和cglib动态代理原理详解
- Spring源码剖析6:Spring AOP概述
- Spring源码剖析7:AOP实现原理详解
- Spring源码剖析8:Spring事务概述
- Spring源码剖析9:Spring事务源码剖析
- SpringMVC源码分析1:SpringMVC概述
- SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet
- SpringMVC源码分析3:DispatcherServlet的初始化与请求转发
- SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller
- SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解
- SpringMVC源码分析6:SpringMVC的视图解析原理
todo
todo
- Java并发指南1:并发基础与Java多线程
- Java并发指南2:深入理解Java内存模型JMM
- Java并发指南3:并发三大问题与volatile关键字,CAS操作
- Java并发指南4:Java中的锁 Lock和synchronized
- Java并发指南5:JMM中的final关键字解析
- Java并发指南6:Java内存模型JMM总结
- Java并发指南7:JUC的核心类AQS详解
- Java并发指南8:AQS中的公平锁与非公平锁,Condtion
- Java并发指南9:AQS共享模式与并发工具类的实现
- Java并发指南10:Java 读写锁 ReentrantReadWriteLock 源码分析
- Java并发指南11:解读 Java 阻塞队列 BlockingQueue
- Java并发指南12:深度解读 java 线程池设计思想及源码实现
- Java并发指南13:Java 中的 HashMap 和 ConcurrentHashMap 全解析
- Java并发指南14:JUC中常用的Unsafe和Locksupport
- Java并发指南15:Fork join并发框架与工作窃取算法剖析
- Java并发编程学习总结
- JVM总结
- 深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
- 深入理解JVM虚拟机2:JVM垃圾回收基本原理和算法
- 深入理解JVM虚拟机3:垃圾回收器详解
- 深入理解JVM虚拟机4:Javaclass介绍与解析实践
- 深入理解JVM虚拟机5:虚拟机字节码执行引擎
- 深入理解JVM虚拟机6:深入理解JVM类加载机制
- 深入理解JVM虚拟机7:JNDI,OSGI,Tomcat类加载器实现
- 深入了解JVM虚拟机8:Java的编译期优化与运行期优化
- 深入理解JVM虚拟机9:JVM监控工具与诊断实践
- 深入理解JVM虚拟机10:JVM常用参数以及调优实践
- 深入理解JVM虚拟机11:Java内存异常原理与实践
- 深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
- 深入理解JVM虚拟机13:再谈四种引用及GC实践
- 深入理解JVM虚拟机14:GC调优思路与常用工具
- Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
- Java网络编程与NIO详解2:JAVA NIO 一步步构建IO多路复用的请求模型
- Java网络编程和NIO详解3:IO模型与Java网络编程模型
- Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector
- Java网络编程和NIO详解5:Java 非阻塞 IO 和异步 IO
- Java网络编程和NIO详解6:Linux epoll实现原理详解
- Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
- Java网络编程与NIO详解8:浅析mmap和Direct Buffer
- Java网络编程和NIO详解9:基于NIO的网络编程框架Netty
- Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型
- Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)
todo
todo
- Mysql原理与实践总结
- 重新学习Mysql数据库1:无废话MySQL入门
- 重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB
- 重新学习Mysql数据库3:Mysql存储引擎与数据存储原理
- 重新学习Mysql数据库4:Mysql索引实现原理和相关数据结构算法
- 重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化
- 重新学习MySQL数据库6:浅谈MySQL的中事务与锁
- 重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现
- 重新学习Mysql数据库8:MySQL的事务隔离级别实战
- 重新学习MySQL数据库9:Innodb中的事务隔离级别和锁的关系
- 重新学习MySQL数据库10:MySQL里的那些日志们
- 重新学习MySQL数据库11:以Java的视角来聊聊SQL注入
- 重新学习MySQL数据库12:从实践sql语句优化开始
- 重新学习Mysql数据库13:Mysql主从复制,读写分离,分表分库策略与实践
- Redis原理与实践总结
- 探索Redis设计与实现开篇:什么是Redis
- 探索Redis设计与实现1:Redis 的基础数据结构概览
- 探索Redis设计与实现2:Redis内部数据结构详解——dict
- 探索Redis设计与实现3:Redis内部数据结构详解——sds
- 探索Redis设计与实现4:Redis内部数据结构详解——ziplist
- 探索Redis设计与实现5:Redis内部数据结构详解——quicklist
- 探索Redis设计与实现6:Redis内部数据结构详解——skiplist
- 探索Redis设计与实现7:Redis内部数据结构详解——intset
- 探索Redis设计与实现8:连接底层与表面的数据结构robj
- 探索Redis设计与实现9:数据库redisDb与键过期删除策略
- 探索Redis设计与实现10:Redis的事件驱动模型与命令执行过程
- 探索Redis设计与实现11:使用快照和AOF将Redis数据持久化到硬盘中
- 探索Redis设计与实现12:浅析Redis主从复制
- 探索Redis设计与实现13:Redis集群机制及一个Redis架构演进实例
- 探索Redis设计与实现14:Redis事务浅析与ACID特性介绍
- 探索Redis设计与实现15:Redis分布式锁进化史
- 后端技术杂谈开篇:云计算,大数据与AI的故事
- 后端技术杂谈1:搜索引擎基础倒排索引
- 后端技术杂谈2:搜索引擎工作原理
- 后端技术杂谈3:Lucene基础原理与实践
- 后端技术杂谈4:Elasticsearch与solr入门实践
- 后端技术杂谈5:云计算的前世今生
- 后端技术杂谈6:白话虚拟化技术
- 后端技术杂谈7:OpenStack的基石KVM
- 后端技术杂谈8:OpenStack架构设计
- 后端技术杂谈9:先搞懂Docker核心概念吧
- 后端技术杂谈10:Docker 核心技术与实现原理
- 后端技术杂谈11:十分钟理解Kubernetes核心概念
- 后端技术杂谈12:捋一捋大数据研发的基本概念
- 分布式系统理论基础开篇:从放弃到入门
- 分布式系统理论基础1: 一致性、2PC和3PC
- 分布式系统理论基础2:CAP
- 分布式系统理论基础3: 时间、时钟和事件顺序
- 分布式系统理论基础4:Paxos
- 分布式系统理论基础5:选举、多数派和租约
- 分布式系统理论基础6:Raft、Zab
- 分布式系统理论进阶7:Paxos变种和优化
- 分布式系统理论基础8:zookeeper分布式协调服务
- 搞懂分布式技术1:分布式系统的一些基本概念
- 搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法
- 搞懂分布式技术3:初探分布式协调服务zookeeper
- 搞懂分布式技术4:ZAB协议概述与选主流程详解
- 搞懂分布式技术5:Zookeeper的配置与集群管理实战
- 搞懂分布式技术6:Zookeeper典型应用场景及实践
- 搞懂分布式技术7:负载均衡概念与主流方案
- 搞懂分布式技术8:负载均衡原理剖析
- 搞懂分布式技术9:Nginx负载均衡原理与实践
- 搞懂分布式技术10:LVS实现负载均衡的原理与实践
- 搞懂分布式技术11:分布式session解决方案与一致性hash
- 搞懂分布式技术12:分布式ID生成方案
- 搞懂分布式技术13:缓存的那些事
- 搞懂分布式技术14:Spring Boot使用注解集成Redis缓存
- 搞懂分布式技术15:缓存更新的套路
- 搞懂分布式技术16:浅谈分布式锁的几种方案
- 搞懂分布式技术17:浅析分布式事务
- 搞懂分布式技术18:分布式事务常用解决方案
- 搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务
- 搞懂分布式技术20:消息队列因何而生
- 搞懂分布式技术21:浅谈分布式消息技术 Kafka
todo
todo
todo
todo
todo
todo
springboot和springcloud
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!
Java工程师技术学习资料: 一些Java工程师常用学习资源,关注公众号后,后台回复关键字 “Java” 即可免费无套路获取。
Java进阶架构师资料: 关注公众号后回复 ”架构师“ 即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源
黄小斜是 985 硕士,阿里巴巴Java工程师,在自学编程、技术求职、Java学习等方面有丰富经验和独到见解,希望帮助到更多想要从事互联网行业的程序员们。 作者专注于 JAVA 后端技术栈,热衷于分享程序员干货、学习经验、求职心得,以及自学编程和Java技术栈的相关干货。 黄小斜是一个斜杠青年,坚持学习和写作,相信终身学习的力量,希望和更多的程序员交朋友,一起进步和成长!
原创电子书: 关注微信公众号【程序员黄小斜】后回复 "原创电子书" 即可领取我原创的电子书《菜鸟程序员修炼手册:从技术小白到阿里巴巴Java工程师》这份电子书总结了我2年的Java学习之路,包括学习方法、技术总结、求职经验和面试技巧等内容,已经帮助很多的程序员拿到了心仪的offer!
程序员3T技术学习资源: 一些程序员学习技术的资源大礼包,关注公众号【程序员黄小斜】后,后台回复关键字 “资料” 即可免费无套路获取,包括Java、python、C++、大数据、机器学习、前端、移动端等方向的技术资料。