Java-Developer-Knowledge-Base icon indicating copy to clipboard operation
Java-Developer-Knowledge-Base copied to clipboard

12年积累倾囊相授 java 程序员职业生命周期(工程师、架构师、技术总监、CTO)所需技能知识图谱

Java-Developer-Knowledge-Base

初衷

本项目目前为我个人的学习笔记+公众号文章的汇总,主要包括计算机相关知识。目前只收录了一部分,后续会把个人近12年来的积累全部上传。也希望能够借助社区的力量展开和完善这个知识地图。

项目目标是以技术的角色视角梳理和构建一个知识库,这个角色包括但不限于工程师、架构师、技术总监、CTO。希望各种角色都能够在这里有所收获。

由于我是 java 程序员出身,所以就以 java 程序员视角为起点,开始构建整个知识体系吧。

内容结构

计算机技术

  • 标准和协议

  • 计算机基础

  • 计算机组成原理

  • 计算机网络

  • 操作系统

  • JAVA 技术栈

  • 分布式技术

  • 算法和数据结构

  • 设计模式

  • Linux

  • 工具

  • 程序设计

  • 数据库

  • 中间件

  • 安全

  • 大数据

  • 微服务

  • 前端

  • 架构

  • 云原生

  • 云计算

  • 软件使用技巧

  • 技术新趋势

  • web server

  • 系统设计

  • 软件工程

  • 技术管理

  • office 办公技巧

  • 面试题

  • 互联网黑话

  • 虚拟机

导航

  • 计算机技术
    • JAVA 技术栈
      • I-O (input/output)
        • 序列化
      • JMM(Java Memory Model)
      • JSP
      • JVM
        • JAVA 中的锁
        • JDK历史版本轨迹
        • JIT 即时编译 (Just-In-Time compiler)
        • JVM 调优
          • JVM 调优之 glibc 引发的内存泄露
          • JVM调优之G1换CMS
        • class文件
        • moniter 监视器
        • 内存区域与对象创建
        • 垃圾回收
          • JVM G1(GarbageFirst) 垃圾收集器浅析
        • 对象头(mark word)
        • 性能监控与故障处理工具
        • 早期-晚期优化
        • 类加载
        • 深入理解堆外内存 Metaspace
        • 运行时数据区
      • maven
        • maven相关知识梳理及常见问题
      • web 容器
        • tomcat
      • 并发多线程
        • ThreadLocal
        • java 线程
          • JVM最多可以创建多少线程?
        • 并发包-JUC
          • Atomic 原子类总结
          • CompletableFuture
          • CompletionService
          • CountDownLatch和CyclicBarrier
          • Exchanger
          • Executor框架
          • Fork-Join 框架
          • Semaphore
          • condition
          • 并发容器
            • BlockingQueue
            • ConcurrentHashMap
            • CopyOnWriteArrayList
            • CopyOnWriteArraySet
        • 彻底理解 AQS(AbstractQueuedSynchronizer)
          • Lock(并发编程的锁机制)
          • ReentrantLock
          • ReentrantReadWriteLock
          • 死锁
      • 开发规范
        • Effective Java中文版(第3版)_f3T5w1ZCak.pdf
        • Java开发手册(嵩山版)_cXfF0WDjzK.pdf
      • 框架&库类&tools
        • Guava
        • Netty
        • SpringBoot
          • spring boot 微服务-动态调整日志级别
        • arthas
          • arthas idea 插件的基本玩法(常用)
          • arthas 高级玩法
          • 配置 arthas 实现远程在线 debug
        • log4j2
          • lo4j2 漏洞复现过程及解决方案
          • log4j2介绍
        • logback
          • logback日志配置文件
        • myBatis
        • spring
          • Spring AOP 术语解释(最容易理解)
          • spring 事务管理的那些坑
        • spring cloud
          • Hystrix
            • Hystrix Feign 特定状态码不熔断
            • Hystrix实现资源隔离
          • feign
            • OpenFeign 如何设置动态 URL?
            • 关于 feign ribbon的重试
            • 记一次 OpenFeign 线上乱码问题
            • spring cloud 二代架构依赖组件 docker全配置放送(一)
            • spring及spring cloud框架主要组件介绍
      • 语法
        • java 方法重载与静态分派
        • 多态
        • 数据类型
          • java中 byte为8 bits,那么-128为什么是最小值?
      • 泛型
      • 注解
      • 集合&容器
        • Collections
        • HashMap
    • Linux
      • IO
        • Unix 网络 IO 模型
      • Linux 内存管理
        • 零拷贝
        • 页缓存(page cache)
      • iptables
        • iptables 命令
        • 详解 iptables
      • stdout与stderr
      • 性能
        • C10K 问题
        • 理解 Linux 的处理器负载均值(load)
      • 网络子系统
        • 命令工具
      • 运维
        • 修改磁盘挂载路径
        • 常用命令
          • free 命令
          • top 命令
          • 清理磁盘文件实例
    • office 办公技巧
      • Excel
    • web server
      • nginx
        • nginx 性能优化
        • nginx和openResty
        • vim 配置 nginx 语法高亮
    • 中间件
      • Redis
        • 一些常用命令
        • 内存回收策略
        • 分布式解决方案
        • 缓存设计及常见问题
      • RocketMQ
        • 自顶向下学习 RocketMQ(一)QuickStart
        • 自顶向下学习 RocketMQ(七):事务消息
        • 自顶向下学习 RocketMQ(三):消息存储
        • 自顶向下学习 RocketMQ(九):回溯消费
        • 自顶向下学习 RocketMQ(二):SpringCloud 整合 RocketMQ
        • 自顶向下学习 RocketMQ(五):顺序消息原理
        • 自顶向下学习 RocketMQ(八):事务消息原理分析
        • 自顶向下学习 RocketMQ(六):定时消息
        • 自顶向下学习 RocketMQ(十):消息重投
        • 自顶向下学习 RocketMQ(四):顺序消息
    • 云原生
      • APISIX
        • apisix 基础知识
      • Kubernetes
        • Kubernetes kubectl get 命令详解
        • Kubernetes 基础知识培训
        • Kubernetes 监控体系
        • k8s 基本概念和命令
        • k8s 存储关系总结
        • nocalhost
        • yaml
        • 利用Rancher搭建K8s
        • 在线离线作业混合部署
        • 提高效率的工具软件
      • docker&docker-compose
        • docker 基础知识
        • docker 容器安装字体
        • docker 容器异常退出排查
        • docker 本地mac安装
        • docker-compose:链接外部容器的几种方式
        • docker的卸载与安装
      • istio
        • istio 原理简介
        • istio 基础知识
        • mTLS
    • 云计算
      • SaaS
      • VPC
      • 多云
      • 混合云
      • 混合部署
    • 互联网黑话
      • 电商黑话
    • 分布式技术
      • APM(应用性能监控)
        • APM 组件选型
        • Prometheus
          • 监控指标
        • skywalking 的参数配置
        • skywalking的安装
        • 如何使用skywalking 进行全链路监控
        • 如何将springboot应用中的日志加上skywalking的traceid
      • 事务
        • 分布式事务:从理论到实践(一)
        • 分布式事务:从理论到实践(三)
        • 分布式事务:从理论到实践(二)
        • 分布式ID
          • 百度 UidGenerator 源码解析
        • 分布式共识算法
      • 分布式锁
        • 幂等
          • 幂等解决方案集合(一)
          • 幂等解决方案集合(二)消息幂等
      • 注册中心
        • Nacos
          • Spring Boot 整合 OpenFeign + Nacos
      • 网关
        • API 网关选型及包含 BFF 的架构设计
      • 集群容错模式(机制)
    • 前端
      • 代码规范
      • 前端基础知识之CORS
    • 大数据
    • 安全
      • CSRF
      • 如何给java 应用加密重要信息比如数据库密码
    • 工具
      • git
        • 生成公钥
      • mac 环境开发工具
      • ohmyzsh 新功能解决文件全路径拷贝痛点
      • 正则表达式
    • 微服务
      • 发布策略
      • 如何优雅关闭服务
      • 微服务架构:稳定性设计
    • 技术新趋势
      • lowcode 低代码前端框架 amis调研
    • 技术管理
      • OKR
        • OKR 实践
        • 团队建议&文化
          • 技术文化建设之技术分享
        • 技术Leader如何尽量公正的进行绩效评估?
        • 管理心得总结
        • 管理能力与经验分享
    • 操作系统
    • 数据库
      • MySQL
        • MVCC
        • SQL
        • archery mysql审核系统
        • 幻读
        • 性能优化
        • 日志
        • 索引
          • MySQL高性能索引策略
          • 从 MySQL InnoDB 物理文件格式深入理解索引
          • mysql线上DDL 锁表 问题
      • NoSQL
        • ElasticSearch
          • ES 生命周期管理
          • ES 调优
          • ES常用配置
      • 业务相关
        • 订单号和 id 列可不可以是同一列
      • 中间件
        • ShardingSphere
          • ShardingSphere 实战之读写分离
          • ShardingSphere 实现数据加密(脱敏)第一篇
          • ShardingSphere 实现数据加密(脱敏)第二篇
          • 数据库中间件选型
      • 分库分表
        • 分库分表与到底要不要用自增ID
        • 读写分离实践
      • 连接池
        • 数据库连接池选型 Druid vs HikariCP
    • 架构
      • 中台
    • 标准和协议
      • HTTP
        • 客户端请求的端口号是什么?
      • HTTPS
      • JWT
      • SSL-TLS
      • TCP-IP
        • TCP 问题整理
        • WebSocket(全双工)
        • 科来《网络通讯协议图2022版》_8rvl9nphTZ.pdf
        • 缓存一致性协议-MESI
    • 程序设计
      • DDD(领域驱动设计)
        • DDD 实践之代码结构划分
        • 领域驱动设计:从学习到实践(一)
      • Restful
      • 什么是 COW- (CopyOnWrite)
    • 算法和数据结构
      • 数据结构
      • 算法
        • 二分查找
        • 双指针-链表
        • 回文
        • 布隆过滤器
        • 排序算法(十大经典排序算法)
        • 摘要算法
        • 数组
        • 滑动窗口算法
        • 生产者消费者模式实现
        • 链表反转
    • 系统设计
      • 多租户系统设计
      • 如何设计一个短链接服务
      • 虚拟机
    • 计算机基础
      • 信号与系统
      • 原码、反码、补码
    • 计算机组成原理
      • CPU时钟频率
      • 寄存器
    • 计算机网络
      • NAT
      • ustc-zheng-cn_GBmGZMjI7e.zip
      • 物理媒体
    • 设计模式
      • 单例模式
    • 软件使用技巧
      • Sublime
    • 软件工程
      • UML
      • 如何科学地预估工时?
      • 敏捷开发
        • 敏捷开发实践
      • 研发流程
    • 面试题
      • new 一个对象占多少个字节?
      • synchronized 锁的是什么?
      • 为什么wait() 和notify() 需要搭配synchonized关键字使用 ?
      • 使用“生产者-消费者模式”编写代码实现:线程A随机间隔(10~200ms)按顺序生成1到100的数字
      • 生产者消费者模式的多种实现方式?
      • 说下对 volatile关键字的理解

公众号

文章首发平台 👇

公众号:小盒子的技术分享

如觉得有所收获,请不吝关注。🙏

也欢迎 fork、star、follow(避免以后找不到 😂)

更欢迎大家一起探讨,提出建议,完善本项目,谢谢🙏