整理gitHub项目JavaGuide-CSDN版

2023-10-26

文章目录

java

基础

基础知识系统总结:

  1. Java基础知识
  2. Java 基础知识疑难点/易错点
  3. 【选看】J2EE 基础知识

重要知识点详解:

  1. 枚举(很重要的一个数据结构,用好枚举真的没有那么简单!)
  2. Java 常见关键字总结:final、static、this、super!
  3. 什么是反射机制?反射机制的应用场景有哪些?
  4. 代理模式详解:静态代理+JDK/CGLIB 动态代理实战(动态代理和静态代理的区别?JDK动态代理 和 CGLIB 动态代理的区别?)

其他:

  1. JAD反编译
  2. 手把手教你定位常见Java性能问题

容器

  1. Java容器常见面试题/知识点总结
  2. 源码分析:ArrayList 源码LinkedList 源码 HashMap(JDK1.8)源码ConcurrentHashMap源码

并发

多线程学习指南(guide哥博客地址)

面试题总结:

  1. Java 并发基础常见面试题总结
  2. Java 并发进阶常见面试题总结

面试常问知识点:

  1. 并发容器总结
  2. 线程池:Java线程池学习总结拿来即用的线程池最佳实践
  3. 乐观锁与悲观锁
  4. 万字图文深度解析 ThreadLocal
  5. JUC 中的 Atomic 原子类总结
  6. AQS 原理以及 AQS 同步组件总结

JVM

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

其他

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

网络

  1. 计算机网络常见面试题
  2. 计算机网络基础知识总结

操作系统

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

Linux系统

  1. 后端程序员必备的 Linux 基础知识
  2. Shell 编程入门
  3. 我为什么从Windows转到Linux?
  4. Linux IO模型
  5. Linux 性能分析工具合集

数据结构与算法

数据结构

算法

常见算法问题总结:

数据库

MySQL

总结:

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

重要知识点:

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

Redis

系统设计

必知

  1. RestFul API 简明教程
  2. 因为命名被diss无数次。Guide简单聊聊编程最头疼的事情之一:命名

常用框架

Spring/SpringBoot

  1. Spring 常见问题总结
  2. SpringBoot 指南/常见面试题总结
  3. Spring/Spring常用注解总结!安排!
  4. Spring事务总结
  5. Spring IoC 和 AOP详解
  6. Spring中 Bean 的作用域与生命周期
  7. SpringMVC 工作原理详解
  8. Spring中都用到了那些设计模式?

MyBatis

Netty

  1. 剖析面试最常见问题之 Netty(上)
  2. 剖析面试最常见问题之 Netty(下)

认证授权

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

JWT
SSO(单点登录)

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

分布式

分布式相关概念入门

分布式搜索引擎

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

比较常用的是 Elasticsearch 和 Solr。

代办。

RPC

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

消息队列

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

RabbitMQ:
  1. RabbitMQ 入门
RocketMQ:
  1. RocketMQ 入门
  2. RocketMQ的几个简单问题与答案
Kafka:
  1. Kafka 入门+SpringBoot整合Kafka系列
  2. Kafka 常见面试题总结
  3. 【加餐】Kafka入门看这一篇就够了
API 网关

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

  1. 为什么要网关?你知道有哪些常见的网关系统?
  2. 如何设计一个亿级网关(API Gateway)?
分布式id
  1. 为什么要分布式 id ?分布式 id 生成方案有哪些?
分布式限流
  1. 限流算法有哪些?
分布式接口幂等性
ZooKeeper

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

  1. 【入门】ZooKeeper 相关概念总结 01
  2. 【进阶】ZooKeeper 相关概念总结 02
  3. 【实战】ZooKeeper 实战
其他
  • 接口幂等性(代办):分布式系统必须要考虑接口的幂等性。
数据库扩展

读写分离、分库分表。

代办…

大型网站架构

性能测试
高并发

待办…

高可用

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

微服务

Spring Cloud

必会工具

Git

Docker

  1. Docker 基本概念解读
  2. 一文搞懂 Docker 镜像的常用操作!

其他

面试指南

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

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

Java学习常见问题汇总

  1. Java学习路线和方法推荐
  2. Java培训四个月能学会吗?
  3. 新手学习Java,有哪些Java相关的博客,专栏,和技术学习网站推荐?
  4. Java 还是大数据,你需要了解这些东西!

资源

Java程序员必备书单

  1. 「基础篇」Guide的Java后端书架来啦!都是Java程序员必看的书籍?

实战项目推荐

Github


说明

JavaGuide介绍

开源 JavaGuide 初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。

  • 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;
  • 对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。

转载

  • 已获得Guide哥授权
  • GitHub地址
  • 会逐步同步到CSDN,方便大家学习
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

整理gitHub项目JavaGuide-CSDN版 的相关文章

随机推荐

  • 使用Rust写操作系统(1)-安装rust开发环境

    安装cargo及rust编译环境 sudo curl https sh rustup rs sSf sh 如图 选择自定义安装 在版本选择的时候 一定要选择nightly 因为开发操作系统要使用到一些非稳定版本的功能 选择完成后 继续安装即
  • Java序列化详解

    序列化是一种将对象转换成字节流的过程 以便在网络上传输或将其保存到磁盘上 Java提供了一种称为Java序列化的机制 它可以将Java对象转换成字节流 并在需要时将其还原回对象 在本文中 我们将介绍Java序列化的使用方法 并提供一些示例代
  • 都2021了作为一名Android开发者,还不学音视频开发?我劝你早点认清现实!

    缘起 最近经常遇到一些同学问我如何学习音视频 怎样才能快速上手 还有一些对音视频不了解的同学问我该不该学习音视频 作为一名音视频行业的10年Android老兵 我有一些思考分享给大家 希望能对你有所帮助 大趋势 从未来的大趋势来看 随着5G
  • 【C语言位运算符及原码输出】

    C语言位运算符及原码输出 原码 补码 反码基础概念 按位与 按位或 按位异或 按位与 lt lt 按位左移 gt gt 按位右移 位运算符注意事项 两个操作数均以补码参与计算 得到的结果为补码 需将结果转为原码才是最终答案 原码 补码 反码
  • element-plus 提示找不到名称“ElMessage”。ts(2304)

    文章目录 1 安装element plus 2 main ts 引入ElMessage 3 vite config ts 中配置 4 在vscode中使用会报错 找不到名称 ElMessage ts 2304 1 安装element plu
  • umi使用mock

    引入 Mock import Request Response from umijs deps compiled express import Mock from mockjs 定义数据类型 export default GET api t
  • 微信小程序vant组件库安装

    vant组件库安装步骤 1 通过npm安装 在微信开发者工具目录空白处右击 在外部终端窗口中打开或直接在文件路径中输入cmd回车 2 安装之前初始化npm包 再安装 npm init y 通过 npm 安装 npm i vant weapp
  • Ubuntu下如何将普通用户提升到root权限

    1 打开超级终端 输入指令sudo gedit etc passwd 2 则找到crystal x 1000 1000 crystal home linuxidc bin bash 将两个1000改成0即可 3 重新登陆之后打开超级终端发现
  • BLEU 评价指标总结

    Bleu 评测 一 Bleu通常用来度量一组机器产生的翻译句子集合 candidates 与一组人工翻译句子集合 references 的相似程度 Bleu的具体计算过程看下图 在这里解释一下 式中的n 为当前匹配n gram的长度 这里的
  • Win10 + vs2017 编译并配置tesseract4.1.0

    tesseract 是一个开源的OCR Optical Character Recognition 光学字符识别 引擎 本文就介绍一下自己在编译 tesseract4 1 0时遇到的一些坑 希望能给大家带来一些帮助 一 下载 tessera
  • mybatis mysql autoreconnect=true_Mysql8.0主从搭建,shardingsphere+springboot+mybatis读写分离...

    cd usr local mysql mkdir mysql files chown mysql mysql mysql files chmod 750 mysql files bin mysqld initialize user mysq
  • StringUtils中 isNotEmpty 和isNotBlank的区别 以及StringUtil类的方法

    StringUtils方法的操作对象是java lang String类型的对象 是JDK提供的String类型操作方法的补充 并且是null安全的 即如果输入参数String为null则不会抛出NullPointerException 而
  • Apollo:实时通信架构CyberRT入门

    发现一开始就深入源码 很容易陷进去 特别是模块非常多的情况 需要看很多遍才能理解清楚 要写出更容易理解的文档 需要的不是事无巨细的分析代码 更主要的是能够把复杂的东西抽象出来 变为简单的东西 一个很简答的例子是画函数调用流程图很简单 但是要
  • C++指针定义和使用

    目录 1 指针简介 2 指针的声明和使用 1 指针简介 学习指针前需要先分清几个概念 1 1内存单元的地址和内存单元的内容 在程序中定义一个变量 当程序进行编译时就会给定义的变量分配内存单元 这个内存单元的大小由变量的数据类型决定 例如对有
  • 算法

    算法的效率 算法的效率主要由以下两个复杂度来评估 时间复杂度 评估执行程序所需要的时间 可以估算出程序对处理器的使用程度 空间复杂度 评估执行程序所需要的的存储空间 可以估算出程序对计算机内存的使用程度 设计算法时 一般要先考虑系统环境 然
  • torch.exp()的使用举例

    参考链接 torch exp input out None 参考链接 exp 代码实验展示 Microsoft Windows 版本 10 0 18363 1256 c 2019 Microsoft Corporation 保留所有权利 C
  • Highcharts的3D饼图上下颠倒及解决办法

    我需要的样式效果 那发现常规的echarts不满足了 就改成了highcharts进行3d图表开发 but在开发的过程中发现了这个现象 来吧 看看问题 第一次进入页面 饼图是正常的 戳这个进去瞅瞅 喵 那你进去就看到这个样子的饼图呢 但是由
  • Spring5框架一:IOC实现的两种方式和底层原理

    1 概念 先了解 原理后面再写 1 spring是一个轻量级的开源的JavaEE框架 引入jar包的数量以及体积都比较小 2 spring框架可以解决企业应用开发的复杂性 3 spring里面有很多组成部分 IOC和AOP两个核心部分 IO
  • OpenVX 的 立即模式(immediate mode)和图模式(graph mode)和示例讲解

    OpenVX 的 立即模式 immediate mode 和图模式 graph mode openvx的执行模型一般分为 立即模式 和 图模式 直接模式非常简单 以vxu 开头的函数类似于opencv 习惯于传统的opencv api的 能
  • 整理gitHub项目JavaGuide-CSDN版

    文章目录 java 基础 基础知识系统总结 重要知识点详解 其他 容器 并发 面试题总结 面试常问知识点 JVM 其他 网络 操作系统 Linux系统 数据结构与算法 数据结构 算法 常见算法问题总结 数据库 MySQL 总结 重要知识点