【Java学习+面试指南 一份涵盖大部分Java程序员所需要掌握的核心知识

2023年 9月 12日 99.0k 0

地址

github.com/Snailclimb/…

说明

一份涵盖大部分Java程序员所需要掌握的核心知识。

JavaGuide 的Star数量虽然比较多,但是它的价值和含金量一定是不能和 Dubbo、Nacos这些优秀的国产开源项目比的。希望国内可以出更多优秀的开源项目!

另外,希望大家对面试不要抱有侥幸的心理,打铁还需自身硬! 我希望这个文档是为你学习 Java 指明方向,而不是用来应付面试用的。加油!奥利给!

目录

  • Java

    • 基础
    • 容器
    • 并发
    • JVM
    • 其他
  • 网络

  • 操作系统

    • Linux
  • 数据结构与算法

    • 数据结构
    • 算法
  • 数据库

    • MySQL
    • Redis
  • 系统设计

    • 必知

    • 常用框架

      • Spring
      • SpringBoot
      • MyBatis
    • 认证授权(JWT、SSO)

    • 分布式

      • Elasticsearch(分布式搜索引擎)
      • RPC
      • 消息队列
      • API 网关
      • 分布式id
      • 分布式限流
      • 分布式接口幂等性
      • 数据库扩展
      • ZooKeeper
    • 大型网站架构

      • 性能测试
      • 高并发
      • 高可用
    • 微服务

      • Spring Cloud
  • 必会工具

    • Git
    • Docker
  • 面试指南

  • Java学习常见问题汇总

  • 资源

    • 书单推荐
    • 实战项目推荐
  • 待办

  • 说明

Java

基础

基础知识系统总结:

  • Java 基础知识
  • Java 基础知识疑难点/易错点
  • 【选看】J2EE 基础知识
  • 重要知识点详解:

  • 枚举 (很重要的一个数据结构,用好枚举真的没有那么简单!)
  • Java 常见关键字总结:final、static、this、super!
  • 什么是反射机制?反射机制的应用场景有哪些?
  • 其他:

  • JAD反编译
  • 手把手教你定位常见Java性能问题
  • 容器

  • Java容器常见面试题/知识点总结
  • ArrayList 源码 、LinkedList 源码 、HashMap(JDK1.8)源码
  • 并发

    多线程学习指南

    面试题总结:

  • Java 并发基础常见面试题总结
  • Java 并发进阶常见面试题总结
  • 必备知识点:

  • 并发容器总结
  • Java线程池学习总结
  • 乐观锁与悲观锁
  • JUC 中的 Atomic 原子类总结
  • AQS 原理以及 AQS 同步组件总结
  • JVM

  • Java内存区域
  • JVM垃圾回收
  • JDK 监控和故障处理工具
  • 类文件结构
  • 类加载过程
  • 类加载器
  • 【待完成】最重要的 JVM 参数指南(翻译完善了一半)
  • JVM 配置常用参数和常用 GC 调优策略
  • 【加餐】大白话带你认识JVM
  • 其他

  • I/O :BIO,NIO,AIO 总结
  • Java 8 :Java 8 新特性总结、Java 8 学习资源推荐、Java8 forEach 指南
  • Java9~Java14 : 一文带你看遍JDK9~14的重要新特性!
  • Java编程规范:Java 编程规范以及优雅 Java 代码实践总结 、告别编码5分钟,命名2小时!史上最全的Java命名规范参考!
  • 设计模式 :设计模式系列文章
  • 网络

  • 计算机网络常见面试题
  • 计算机网络基础知识总结
  • HTTPS中的TLS
  • 操作系统

    最硬核的操作系统常见问题总结!

    Linux

    • 后端程序员必备的 Linux 基础知识
    • Shell 编程入门

    数据结构与算法

    数据结构

    • 不了解布隆过滤器?一文给你整的明明白白!
    • 数据结构知识学习与面试

    算法

    • 硬核的算法学习书籍+资源推荐

    • 常见算法问题总结:

      • 几道常见的字符串算法题总结
      • 几道常见的链表算法题总结
      • 剑指offer部分编程题
      • 公司真题
      • 回溯算法经典案例之N皇后问题

    数据库

    MySQL

    总结:

  • 【推荐】MySQL/数据库 知识点总结
  • 阿里巴巴开发手册数据库部分的一些最佳实践
  • 一千行MySQL学习笔记
  • MySQL高性能优化规范建议
  • 重要知识点:

  • 数据库索引总结1、数据库索引总结2
  • 事务隔离级别(图文详解)
  • 一条SQL语句在MySQL中如何执行的
  • 关于数据库中如何存储时间的一点思考
  • Redis

    • Redis 常见问题总结

    • Redis 系列文章合集:

    • 5种基本数据结构
    • 跳跃表
    • 分布式锁深入探究 、 Redlock分布式锁 、如何做可靠的分布式锁,Redlock真的可行么
    • 神奇的HyperLoglog解决统计问题
    • 亿级数据过滤和布隆过滤器
    • GeoHash查找附近的人
    • 持久化
    • 发布订阅与Stream
    • 史上最强【集群】入门实践教程
    • Redis数据类型、编码、底层数据结构的关系看这篇

    系统设计

    必知

  • RestFul API 简明教程
  • 常用框架

    Spring/SpringBoot

  • Spring 常见问题总结
  • Spring/Spring常用注解总结!安排!
  • SpringBoot 指南/常见面试题总结
  • Spring中 Bean 的作用域与生命周期
  • SpringMVC 工作原理详解
  • Spring中都用到了那些设计模式?
  • MyBatis

    • MyBatis常见面试题总结

    认证授权

    认证授权基础:搞清Authentication,Authorization以及Cookie、Session、Token、OAuth 2、SSO

    JWT

    • JWT 优缺点分析以及常见问题解决方案
    • 适合初学者入门 Spring Security With JWT 的 Demo

    SSO(单点登录)

    SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中一个就有权访问与其相关的其他系统。举个例子我们在登陆了京东金融之后,我们同时也成功登陆京东的京东超市、京东家电等子系统。相关阅读:SSO 单点登录看这篇就够了!

    分布式

    分布式相关概念入门

    Elasticsearch(分布式搜索引擎)

    提高搜索效率。常见于电商购物网站的商品搜索于分类。

    代办......

    RPC

    让调用远程服务调用像调用本地方法那样简单。

    • Dubbo 总结:关于 Dubbo 的重要知识点
    • 服务之间的调用为啥不直接用 HTTP 而用 RPC?

    消息队列

    消息队列在分布式系统中主要是为了接耦和削峰。相关阅读: 消息队列总结 。

    RabbitMQ:

  • RabbitMQ 入门
  • RocketMQ:

  • RocketMQ 入门
  • RocketMQ的几个简单问题与答案
  • Kafka:

  • Kafka 入门+SpringBoot整合Kafka系列
  • Kafka 常见面试题总结
  • 【加餐】Kafka入门看这一篇就够了
  • API 网关

    网关主要用于请求转发、安全认证、协议转换、容灾。

  • 为什么要网关?你知道有哪些常见的网关系统?
  • 如何设计一个亿级网关(API Gateway)?
  • 分布式id

  • 为什么要分布式 id ?分布式 id 生成方案有哪些?
  • 分布式限流

  • 限流算法有哪些?
  • 分布式接口幂等性

    ZooKeeper

    前两篇文章可能有内容重合部分,推荐都看一遍。

  • 【入门】ZooKeeper 相关概念总结
  • 【进阶】Zookeeper 原理简单入门!
  • 【拓展】ZooKeeper 数据模型和常见命令
  • 其他

    • 接口幂等性(代办):分布式系统必须要考虑接口的幂等性。

    数据库扩展

    读写分离、分库分表。

    代办.....

    大型网站架构

    • 8 张图读懂大型网站技术架构
    • 关于大型网站系统架构你不得不懂的10个问题

    性能测试

    • 后端程序员也要懂的性能测试知识 (知识星球)

    高并发

    待办......

    高可用

    高可用描述的是一个系统在大部分时间都是可用的,可以为我们提供服务的。高可用代表系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的 。相关阅读: 《如何设计一个高可用系统?要考虑哪些地方?》 。

    微服务

    Spring Cloud

    • 大白话入门 Spring Cloud

    必会工具

    Git

    • Git入门

    Docker

  • Docker 基本概念解读
  • 一文搞懂 Docker 镜像的常用操作!
  • 其他

    • 【原创】如何使用云服务器?希望这篇文章能够对你有帮助!

    面试指南

    这部分很多内容比如大厂面经、真实面经分析被移除,详见完结撒花!JavaGuide面试突击版来啦!。

  • 【备战面试1】程序员的简历就该这样写
  • 【备战面试2】初出茅庐的程序员该如何准备面试?
  • 【备战面试3】7个大部分程序员在面试前很关心的问题
  • 【备战面试4】Github上开源的Java面试/学习相关的仓库推荐
  • 【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答
  • 【备战面试6】应届生面试最爱问的几道 Java 基础问题
  • 【备战面试6】美团面试常见问题总结(附详解答案)
  • Java学习常见问题汇总

  • Java学习路线和方法推荐
  • Java培训四个月能学会吗?
  • 新手学习Java,有哪些Java相关的博客,专栏,和技术学习网站推荐?
  • Java 还是大数据,你需要了解这些东西!
  • Java 后台开发/大数据?你需要了解这些东西!(知识星球)
  • 资源

    书单推荐

    • Java程序员必备书单

    实战项目推荐

    • Java、SpringBoot实战项目推荐

    Github

    • Github 上非常棒的 Java 开源项目集合
    • Github 上 Star 数最多的 10 个项目,看完之后很意外!
    • 年末将至,值得你关注的16个Java 开源项目!
    • Java 项目历史月榜单

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论