/java-knowledge-mind-map

【🌱🌱Java服务端知识技能图谱】用思维脑图梳理汇总Java服务端知识技能

Primary LanguageShell

Java服务端知识技能图谱

license original stars forks issues PRs Welcome

目录

☕Java

  • JVM
    • 垃圾回收 各种引用类型、判断对象存活的算法、垃圾回收算法
    • 内存结构 Java内存结构图,堆、方法区、虚拟机栈、本地方法栈、程序计数器
    • 内存模型 内存模型产生背景、Java内存模型组成分析、内存间的交互操作、运行规则、volatile变量规则等
  • 并发
    • 线程池 线程池解决的问题、阻塞队列、线程池架构、任务饱和策略、线程池配置、线程池关闭、常见线程池类型
    • Java多线程 线程和进程基本概念、多线程编程面临的问题和解决方案、线程安全、线程协作、线程中断等
  • 集合

☁️分布式

  • Redis Redis基本介绍、数据类型、持久化机制、缓存过期策略、集群方案、与Memcached比较、缓存穿透、缓存雪崩、缓存热点、缓存一致性、线上问题排查
  • Dubbo RPC介绍、Dubbo特性、架构、负载均衡、集群容错策略
  • ZooKeeper 功能与特性、架构设计(高性能、高可用、数据一致性实现原理)、应用场景、作为注册中心缺点分析
  • 分布式锁 分布式锁概念、使用场景、基于Redis/ZooKeeper/数据库的分布式锁方案实现与解析
  • Netty Netty基本概念,网络I/O模型,线程模型,基本工作原理,系统架构

💾数据库

  • 数据库 MySQL的Innodb与MyISAM比较、数据库锁、事务流程和原理、索引、SQL优化、SQL执行流程、主从同步原理等

📡计算机网络

  • 互联网协议 互联网协议五层协议(应用层、传输层、网络层、链路层、物理层)由来,概念定义、作用的解析
  • TCP和HTTP TCP状态变迁图、TCP相关常见问题概念(三次握手,四次挥手),HTTP相关问题概念解析

💪方法论

  • 架构设计方法 架构设计相关基本概念、架构设计的目的、设计原则、架构设计基本设计流程等
  • 开源项目学习 学习开源项目常见错误观点解析,学习的层次,学习的方法步骤介绍
  • Java服务线上应急 线上服务应急流程,问题解决的思路、技巧,常见工具,命令行工具脚本

类似github知识库

建立这个库的目的

个人建立这个库最大的目的是为了成长,梳理脑图只是一个手段,但不是结果,只是一个高效的学习方法。

通过梳理脑图,针对一个模糊的知识点,我会不断提问,问自己这个知识点是怎么,解决了什么问题,有什么优劣,适用场景,以实现高效学习的最终目的。

知识的本质是要解决问题,只有通过把知识一头连接着输入问题,一头连接着输出问题,你才算是学会了知识,现实观察中,很多人,包括以前我自己,也会犯“以为记住知识就是学会知识,用记忆的方法来学习”的错误。

做知识的梳理的时候要关注知识解决的问题,在大脑中形成连接,而脑图,正是这个学习过程的一个高效手段。

此外,通过分享脑图,实现个人较为推崇另外一个学习方式,通过分享知识的方式(例如写博客,写开源项目)来学习(费曼方法),因为在分享中不断去验证知识,加强大脑知识连接,以实现高效学习的目的。

联系作者

欢迎大家提批评、建议、改进意见