GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - h2pl/JavaTutorial: 【Java工程师面试复习指南】本仓库涵盖大部分Java程序员所需要掌握的核心知识,整合了互联网上的很多优质Java技术文章,力求打造为最完整最实用的Java开发者学习指南,如果对你有帮助,给个star告诉我吧,谢谢!

BranchesTags
Open more actions menu

Latest commit

 

History

190 Commits
190 Commits

Folders and files

NameName
Last commit message
Last commit date
docs
docs
 
 
src/main/java
src/main/java
 
 
.gitignore
.gitignore
 
 
ReadMe.md
ReadMe.md
 
 
pom.xml
pom.xml
 
 

Repository files navigation

力求打造最完整最实用的Java工程师学习指南!

这些文章和总结都是我近几年学习Java总结和整理出来的,非常实用,对于学习Java后端的朋友来说应该是最全面最完整的技术仓库。 我靠着这些内容进行复习,拿到了BAT等大厂的offer,这个仓库也已经帮助了很多的Java学习者,如果对你有用,希望能给个star支持我,谢谢!

为了更好地讲清楚每个知识模块,我们也参考了很多网上的优质博文,力求不漏掉每一个知识点,所有参考博文都将声明转载来源,如有侵权,请联系我。

点击关注微信公众号及时获取笔主最新更新文章,并可免费领取Java工程师必备学习资源

Java基础

基础知识

  • 面向对象基础
  • Java基本数据类型
  • string和包装类
  • final关键字特性
  • Java类和包
  • 抽象类和接口
  • 代码块和代码执行顺序
  • Java自动拆箱装箱里隐藏的秘密
  • Java中的Class类和Object类
  • Java异常
  • 解读Java中的回调
  • 反射
  • 泛型
  • 枚举类
  • Java注解和最佳实践
  • JavaIO流
  • 多线程
  • 深入理解内部类
  • javac和javap
  • Java8新特性终极指南
  • 序列化和反序列化
  • 继承封装多态的实现原理

集合类

  • Java集合类总结
  • Java集合详解:一文读懂ArrayList,Vector与Stack使用方法和实现原理
  • Java集合详解:Queue和LinkedList
  • Java集合详解:Iterator,fail-fast机制与比较器
  • Java集合详解:HashMap和HashTable
  • Java集合详解:深入理解LinkedHashMap和LRU缓存
  • Java集合详解:TreeMap和红黑树
  • Java集合详解:HashSet,TreeSet与LinkedHashSet
  • Java集合详解:Java集合类细节精讲

JavaWeb

  • 走进JavaWeb技术世界:JavaWeb的由来和基础知识
  • 走进JavaWeb技术世界:JSP与Servlet的曾经与现在
  • 走进JavaWeb技术世界:JDBC的进化与连接池技术
  • 走进JavaWeb技术世界:Servlet工作原理详解
  • 走进JavaWeb技术世界:初探Tomcat的HTTP请求过程
  • 走进JavaWeb技术世界:Tomcat5总体架构剖析
  • 走进JavaWeb技术世界:Tomcat和其他WEB容器的区别
  • 走进JavaWeb技术世界:浅析Tomcat9请求处理流程与启动部署过程
  • 走进JavaWeb技术世界:Java日志系统的诞生与发展
  • 走进JavaWeb技术世界:从JavaBean讲到Spring
  • 走进JavaWeb技术世界:单元测试框架Junit
  • 走进JavaWeb技术世界:从手动编译打包到项目构建工具Maven
  • 走进JavaWeb技术世界:Hibernate入门经典与注解式开发
  • 走进JavaWeb技术世界:Mybatis入门
  • 走进JavaWeb技术世界:深入浅出Mybatis基本原理
  • 走进JavaWeb技术世界:极简配置的SpringBoot

Java进阶

并发编程

  • Java并发指南:并发基础与Java多线程
  • Java并发指南:深入理解Java内存模型JMM
  • Java并发指南:并发三大问题与volatile关键字,CAS操作
  • Java并发指南:Java中的锁Lock和synchronized
  • Java并发指南:JMM中的final关键字解析
  • Java并发指南:Java内存模型JMM总结
  • Java并发指南:JUC的核心类AQS详解
  • Java并发指南:AQS中的公平锁与非公平锁,Condtion
  • Java并发指南:AQS共享模式与并发工具类的实现
  • Java并发指南:Java读写锁ReentrantReadWriteLock源码分析
  • Java并发指南:解读Java阻塞队列BlockingQueue
  • Java并发指南:深度解读java线程池设计思想及源码实现
  • Java并发指南:Java中的HashMap和ConcurrentHashMap全解析
  • Java并发指南:JUC中常用的Unsafe和Locksupport
  • Java并发指南:ForkJoin并发框架与工作窃取算法剖析
  • Java并发编程学习总结

JVM

  • JVM总结
  • 深入理解JVM虚拟机:JVM内存的结构与消失的永久代
  • 深入理解JVM虚拟机:JVM垃圾回收基本原理和算法
  • 深入理解JVM虚拟机:垃圾回收器详解
  • 深入理解JVM虚拟机:Javaclass介绍与解析实践
  • 深入理解JVM虚拟机:虚拟机字节码执行引擎
  • 深入理解JVM虚拟机:深入理解JVM类加载机制
  • 深入理解JVM虚拟机:JNDI,OSGI,Tomcat类加载器实现
  • 深入了解JVM虚拟机:Java的编译期优化与运行期优化
  • 深入理解JVM虚拟机:JVM监控工具与诊断实践
  • 深入理解JVM虚拟机:JVM常用参数以及调优实践
  • 深入理解JVM虚拟机:Java内存异常原理与实践
  • 深入理解JVM虚拟机:JVM性能管理神器VisualVM介绍与实战
  • 深入理解JVM虚拟机:再谈四种引用及GC实践
  • 深入理解JVM虚拟机:GC调优思路与常用工具

Java网络编程

  • Java网络编程和NIO详解:JAVA 中原生的 socket 通信机制
  • Java网络编程与NIO详解:JAVA NIO 一步步构建IO多路复用的请求模型
  • Java网络编程和NIO详解:IO模型与Java网络编程模型
  • Java网络编程与NIO详解:浅析NIO包中的BufferChannel和Selector
  • Java网络编程和NIO详解:Java非阻塞IO和异步IO
  • Java网络编程与NIO详解:LinuxEpoll实现原理详解
  • Java网络编程与NIO详解:浅谈Linux中Selector的实现原理
  • Java网络编程与NIO详解:浅析mmap和DirectBuffer
  • Java网络编程与NIO详解:基于NIO的网络编程框架Netty
  • Java网络编程与NIO详解:Java网络编程与NIO详解
  • Java网络编程与NIO详解:Tomcat中的Connector源码分析(NIO)

Spring全家桶

Spring

  • SpringAOP的概念与作用
  • SpringBean的定义与管理(核心)
  • Spring中对于数据库的访问
  • Spring中对于校验功能的支持
  • Spring中的Environment环境变量
  • Spring中的事件处理机制
  • Spring中的资源管理
  • Spring中的配置元数据(管理配置的基本数据)
  • Spring事务基本用法
  • Spring合集
  • Spring容器与IOC
  • Spring常见注解
  • Spring概述
  • 第一个Spring应用

Spring源码分析

综合

  • Spring源码剖析:初探SpringIOC核心流程
  • Spring源码剖析:SpringIOC容器的加载过程
  • Spring源码剖析:懒加载的单例Bean获取过程分析
  • Spring源码剖析:JDK和cglib动态代理原理详解
  • Spring源码剖析:SpringAOP概述
  • Spring源码剖析:AOP实现原理详解
  • Spring源码剖析:Spring事务概述
  • Spring源码剖析:Spring事务源码剖析

AOP

  • AnnotationAwareAspectJAutoProxyCreator 分析(上)
  • AnnotationAwareAspectJAutoProxyCreator 分析(下)
  • AOP示例demo及@EnableAspectJAutoProxy
  • SpringAop(四):jdk 动态代理
  • SpringAop(五):cglib 代理
  • SpringAop(六):aop 总结

事务

  • spring 事务(一):认识事务组件
  • spring 事务(二):事务的执行流程
  • spring 事务(三):事务的隔离级别与传播方式的处理
  • spring 事务(四):事务的隔离级别与传播方式的处理
  • spring 事务(五):事务的隔离级别与传播方式的处理
  • spring 事务(六):事务的隔离级别与传播方式的处理

启动流程

  • spring启动流程(一):启动流程概览
  • spring启动流程(二):ApplicationContext 的创建
  • spring启动流程(三):包的扫描流程
  • spring启动流程(四):启动前的准备工作
  • spring启动流程(五):执行 BeanFactoryPostProcessor
  • spring启动流程(六):注册 BeanPostProcessor
  • spring启动流程(七):国际化与事件处理
  • spring启动流程(八):完成 BeanFactory 的初始化
  • spring启动流程(九):单例 bean 的创建
  • spring启动流程(十):启动完成的处理
  • spring启动流程(十一):启动流程总结

组件分析

  • spring 组件之 ApplicationContext
  • spring 组件之 BeanDefinition
  • Spring 组件之 BeanFactory
  • spring 组件之 BeanFactoryPostProcessor
  • spring 组件之 BeanPostProcessor

重要机制探秘

  • ConfigurationClassPostProcessor(一):处理 @ComponentScan 注解
  • ConfigurationClassPostProcessor(三):处理 @Import 注解
  • ConfigurationClassPostProcessor(二):处理 @Bean 注解
  • ConfigurationClassPostProcessor(四):处理 @Conditional 注解
  • Spring 探秘之 AOP 的执行顺序
  • Spring 探秘之 Spring 事件机制
  • spring 探秘之循环依赖的解决(一):理论基石
  • spring 探秘之循环依赖的解决(二):源码分析
  • spring 探秘之监听器注解 @EventListener
  • spring 探秘之组合注解的处理

SpringMVC

  • SpringMVC中的国际化功能
  • SpringMVC中的异常处理器
  • SpringMVC中的拦截器
  • SpringMVC中的视图解析器
  • SpringMVC中的过滤器Filter
  • SpringMVC基本介绍与快速入门
  • SpringMVC如何实现文件上传
  • SpringMVC中的常用功能

SpringMVC源码分析

  • SpringMVC源码分析:SpringMVC概述
  • SpringMVC源码分析:SpringMVC设计理念与DispatcherServlet
  • SpringMVC源码分析:DispatcherServlet的初始化与请求转发
  • SpringMVC源码分析:DispatcherServlet如何找到正确的Controller
  • SpringMVC源码剖析:消息转换器HttpMessageConverter与@ResponseBody注解
  • DispatcherServlet 初始化流程
  • RequestMapping 初始化流程
  • Spring 容器启动 Tomcat
  • SpringMVC demo 与@EnableWebMvc 注解
  • SpringMVC 整体源码结构总结
  • 请求执行流程(一)之获取 Handler
  • 请求执行流程(二)之执行 Handler 方法

SpringBoot

  • SpringBoot系列:SpringBoot的前世今生
  • 给你一份SpringBoot知识清单.md
  • Spring常见注解使用指南(包含Spring+SpringMVC+SpringBoot)
  • SpringBoot中的日志管理
  • SpringBoot常见注解
  • SpringBoot应用也可以部署到外部Tomcat
  • SpringBoot生产环境工具Actuator
  • SpringBoot的Starter机制
  • SpringBoot的前世今生
  • SpringBoot的基本使用
  • SpringBoot的配置文件管理
  • SpringBoot自带的热部署工具
  • SpringBoot中的任务调度与@Async
  • 基于SpringBoot中的开源监控工具SpringBootAdmin

SpringBoot源码分析

  • @SpringBootApplication 注解

  • springboot web应用(一):servlet 组件的注册流程

  • springboot web应用(二):WebMvc 装配过程

  • SpringBoot 启动流程(一):准备 SpringApplication

  • SpringBoot 启动流程(二):准备运行环境

  • SpringBoot 启动流程(三):准备IOC容器

  • springboot 启动流程(四):启动IOC容器

  • springboot 启动流程(五):完成启动

  • springboot 启动流程(六):启动流程总结

  • springboot 自动装配(一):加载自动装配类

  • springboot 自动装配(二):条件注解

  • springboot 自动装配(三):自动装配顺序

SpringCloud

  • SpringCloud概述
  • Spring Cloud Config
  • Spring Cloud Consul
  • Spring Cloud Eureka
  • Spring Cloud Gateway
  • Spring Cloud Hystrix
  • Spring Cloud LoadBalancer
  • Spring Cloud OpenFeign
  • Spring Cloud Ribbon
  • Spring Cloud Sleuth
  • Spring Cloud Zuul

SpringCloud 源码分析

  • Spring Cloud Config源码分析
  • Spring Cloud Eureka源码分析
  • Spring Cloud Gateway源码分析
  • Spring Cloud Hystrix源码分析
  • Spring Cloud LoadBalancer源码分析
  • Spring Cloud OpenFeign源码分析
  • Spring Cloud Ribbon源码分析

SpringCloud Alibaba

  • SpringCloud Alibaba概览
  • SpringCloud Alibaba nacos
  • SpringCloud Alibaba RocketMQ
  • SpringCloud Alibaba sentinel
  • SpringCloud Alibaba skywalking
  • SpringCloud Alibaba seata

SpringCloud Alibaba源码分析

  • Spring Cloud Seata源码分析
  • Spring Cloud Sentinel源码分析
  • SpringCloudAlibaba nacos源码分析:概览
  • SpringCloudAlibaba nacos源码分析:服务发现
  • SpringCloudAlibaba nacos源码分析:服务注册
  • SpringCloudAlibaba nacos源码分析:配置中心
  • Spring Cloud RocketMQ源码分析

设计模式

  • 设计模式学习总结
  • 初探Java设计模式:创建型模式(工厂,单例等).md
  • 初探Java设计模式:结构型模式(代理模式,适配器模式等).md
  • 初探Java设计模式:行为型模式(策略,观察者等).md
  • 初探Java设计模式:JDK中的设计模式.md
  • 初探Java设计模式:Spring涉及到的种设计模式.md

计算机基础

计算机网络

todo

操作系统

todo

Linux相关

todo

数据结构与算法

todo

数据结构

todo

算法

todo

数据库

todo

MySQL

  • Mysql原理与实践总结
  • 重新学习Mysql数据库:无废话MySQL入门
  • 重新学习Mysql数据库:『浅入浅出』MySQL和InnoDB
  • 重新学习Mysql数据库:Mysql存储引擎与数据存储原理
  • 重新学习Mysql数据库:Mysql索引实现原理和相关数据结构算法
  • 重新学习Mysql数据库:根据MySQL索引原理进行分析与优化
  • 重新学习MySQL数据库:浅谈MySQL的中事务与锁
  • 重新学习Mysql数据库:详解MyIsam与InnoDB引擎的锁实现
  • 重新学习Mysql数据库:MySQL的事务隔离级别实战
  • 重新学习MySQL数据库:Innodb中的事务隔离级别和锁的关系
  • 重新学习MySQL数据库:MySQL里的那些日志们
  • 重新学习MySQL数据库:以Java的视角来聊聊SQL注入
  • 重新学习MySQL数据库:从实践sql语句优化开始
  • 重新学习Mysql数据库:Mysql主从复制,读写分离,分表分库策略与实践

缓存

Redis

  • Redis原理与实践总结
  • 探索Redis设计与实现开篇:什么是Redis
  • 探索Redis设计与实现:Redis的基础数据结构概览
  • 探索Redis设计与实现:Redis内部数据结构详解——dict
  • 探索Redis设计与实现:Redis内部数据结构详解——sds
  • 探索Redis设计与实现:Redis内部数据结构详解——ziplist
  • 探索Redis设计与实现:Redis内部数据结构详解——quicklist
  • 探索Redis设计与实现:Redis内部数据结构详解——skiplist
  • 探索Redis设计与实现:Redis内部数据结构详解——intset
  • 探索Redis设计与实现:连接底层与表面的数据结构robj
  • 探索Redis设计与实现:数据库redisDb与键过期删除策略
  • 探索Redis设计与实现:Redis的事件驱动模型与命令执行过程
  • 探索Redis设计与实现:使用快照和AOF将Redis数据持久化到硬盘中
  • 探索Redis设计与实现:浅析Redis主从复制
  • 探索Redis设计与实现:Redis集群机制及一个Redis架构演进实例
  • 探索Redis设计与实现:Redis事务浅析与ACID特性介绍
  • 探索Redis设计与实现:Redis分布式锁进化史

消息队列

Kafka

  • 消息队列kafka详解:Kafka快速上手(Java版)
  • 消息队列kafka详解:Kafka一条消息存到broker的过程
  • 消息队列kafka详解:消息队列kafka详解:Kafka介绍
  • 消息队列kafka详解:Kafka原理分析总结篇
  • 消息队列kafka详解:Kafka常见命令及配置总结
  • 消息队列kafka详解:Kafka架构介绍
  • 消息队列kafka详解:Kafka的集群工作原理
  • 消息队列kafka详解:Kafka重要知识点+面试题大全
  • 消息队列kafka详解:如何实现延迟队列
  • 消息队列kafka详解:如何实现死信队列

RocketMQ

  • RocketMQ系列:事务消息(最终一致性)
  • RocketMQ系列:基本概念
  • RocketMQ系列:广播与延迟消息
  • RocketMQ系列:批量发送与过滤
  • RocketMQ系列:消息的生产与消费
  • RocketMQ系列:环境搭建
  • RocketMQ系列:顺序消费

大后端

  • 后端技术杂谈开篇:云计算,大数据与AI的故事
  • 后端技术杂谈:搜索引擎基础倒排索引
  • 后端技术杂谈:搜索引擎工作原理
  • 后端技术杂谈:Lucene基础原理与实践
  • 后端技术杂谈:Elasticsearch与solr入门实践
  • 后端技术杂谈:云计算的前世今生
  • 后端技术杂谈:白话虚拟化技术
  • 后端技术杂谈:OpenStack的基石KVM
  • 后端技术杂谈:OpenStack架构设计
  • 后端技术杂谈:先搞懂Docker核心概念吧
  • 后端技术杂谈:Docker 核心技术与实现原理
  • 后端技术杂谈:十分钟理解Kubernetes核心概念
  • 后端技术杂谈:捋一捋大数据研发的基本概念

分布式

分布式理论

  • 分布式系统理论基础:一致性PC和PC
  • 分布式系统理论基础:CAP
  • 分布式系统理论基础:时间时钟和事件顺序
  • 分布式系统理论基础:Paxos
  • 分布式系统理论基础:选举多数派和租约
  • 分布式系统理论基础:RaftZab
  • 分布式系统理论进阶:Paxos变种和优化
  • 分布式系统理论基础:zookeeper分布式协调服务
  • 分布式理论总结

分布式技术

  • 搞懂分布式技术:分布式系统的一些基本概念
  • 搞懂分布式技术:分布式一致性协议与Paxos,Raft算法
  • 搞懂分布式技术:初探分布式协调服务zookeeper
  • 搞懂分布式技术:ZAB协议概述与选主流程详解
  • 搞懂分布式技术:Zookeeper的配置与集群管理实战
  • 搞懂分布式技术:Zookeeper典型应用场景及实践
  • 搞懂分布式技术:LVS实现负载均衡的原理与实践
  • 搞懂分布式技术:分布式session解决方案与一致性hash
  • 搞懂分布式技术:分布式ID生成方案
  • 搞懂分布式技术:缓存的那些事
  • 搞懂分布式技术:SpringBoot使用注解集成Redis缓存
  • 搞懂分布式技术:缓存更新的套路
  • 搞懂分布式技术:浅谈分布式锁的几种方案
  • 搞懂分布式技术:浅析分布式事务
  • 搞懂分布式技术:分布式事务常用解决方案
  • 搞懂分布式技术:使用RocketMQ事务消息解决分布式事务
  • 搞懂分布式技术:消息队列因何而生
  • 搞懂分布式技术:浅谈分布式消息技术Kafka
  • 分布式技术实践总结

面试指南

todo

校招指南

todo

面经

todo

工具

todo

资料

todo

书单

todo

待办

springboot和springcloud

微信公众号

Java技术江湖

如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号【Java技术江湖】

About

【Java工程师面试复习指南】本仓库涵盖大部分Java程序员所需要掌握的核心知识,整合了互联网上的很多优质Java技术文章,力求打造为最完整最实用的Java开发者学习指南,如果对你有帮助,给个star告诉我吧,谢谢!

github.com/h2pl/JavaTutorial

Resources

Readme
Activity

Stars

7.2k stars

Watchers

171 watching

Forks

1.6k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.