软件技术雷达Java

 

https://www.pdai.tech/

 

 

0. 前言

0.1 维度与层次

Java技术雷达图从能力角度分为以下三个维度:

针对这三个维度中众多的技术点,有偏重地推荐为两个层次:

  • 关键知识技能:表格中标蓝加粗字体为关键的知识技能与技术点;
  • 扩展知识技能:未标蓝加粗的内容为推荐的扩展内容,在掌握了关键知识技能的基础上,根据业务的不同可以有选择性地挑选学习。

0.2 雷达图的应用建议

专家团针对每个知识技能给出了掌握程度的评分标准:

  • 知道(1分):能说清楚是什么,解决什么问题,了解技术对应的社区的使用情况和学习路径。
  • 会用(2分):实现过对应技术的"QuickStart",知道技术的适用场景,能照猫画虎实现需求。
  • 熟练(3分):能够在业务场景中用最佳实践解决问题,形成自己的方法论和套路。
  • 精通(4分):熟悉技术背后原理,研究过源码,能够解决疑难问题(故障、性能优化以及扩展)。
  • 贯通(5分):对该技术的不足比较深入的洞见,能够提出创新性的解决方案,拓展该技术。

使用雷达图的个人或团队可以在初期对自身能力做一次评估,并选择合适的技术方向学习。之后在合适的时间点再次评估,审视是否有进步。

辅助评分的参考工具:excel工具

+

 

知识技能雷达excel工具示意图:

 

1. 架构设计与重构

知识技能技术点学习参考
# 架构设计  
 - 领域驱动设计IBM Reactive in practice
  martinfowler domain_driven_design
 - 面向对象设计Introduction to Object-Oriented Programming
 - 演进式架构《Building Evolutionary Architectures》
  martinfowler evo_arch_forward
  evolutionaryarchitecture.com
  Evolutionary_Architecture_Keynote_by_Neal_Ford
  《软件演进式设计与领域建模》(公司优秀MOOC课程)
 - 4+1视图运用RUP 4+1视图方法进行软件架构设计
 - 扩展内容扩展性设计、可用性设计、可靠性设计、一致性设计、过载保护、容灾备份、反向代理、连接池、配置中心、缓存、定时调度
# 数据建模  
 - 事件风暴DDD事件风暴建模
 - 四色建模四色建模
# 安全设计  
 - 威胁建模Threat_Modeling_Cheat_Sheet
# 重构  
 - 重构&坏味道《refactoring》
 - 重构工具&快捷键jetbrains_refactoring_settings
 - 设计模式java-design-patterns
 - 扩展内容重构的原则,代码坏味道,构筑测试体系
分布式系统- Spring-cachebaeldung_spring-cache-tutorial
 - 分布式事务distributed-transaction
 - gRPCgrpc_docs
 - 分布式锁distributed-locks-with-redis
 - 云化/服务化/微服务spring-cloud
 - 扩展内容分布式Session: Session复制、Session绑定、Session服务器
分布式缓存:Redis、一致性Hash算法
数据库:读写分离、主从热备、分库分表、一致性
分布式事务、CAP、BASE、2PC/3PC、分布式锁、负载均衡
消息队列:RabbitMQ、ZeroMQ、ActiveMQ、Kafka
服务化:服务注册与发现、Zookeeper
微服务
RPC
云化相关技术
技术前瞻- new sqltidb
 - 嵌入式kv存储rocksdb
 - AI相关工具及学习资料tensorflow
pytorch
 - 扩展内容云计算、大数据、AI、分布式

2. 编码相关

知识技能技术点学习参考
# Java 语言- 集合框架与操:
List
Set
Map
Collections
Oracle Java官方文档
 - Java 常用特性:
Lambdas
Streams API
Interface default & static methods
Java Time API
Functional Interfaces
Collections Framework Enhancements
Concurrency API Improvements
Java Lambda
《JAVA并发编程实践》
 - JVM相关:
Java虚拟机(Hotspot实现)
类加载机制
内存模型
GC
调优
jstack
jmap
jconsole
《深入理解Java虚拟机:JVM高级特性与最佳实践》
The Java Virtual Machine Specification Java SE 8 Edition
 - 通用及编码规范《华为Java语言通用编程规范》
# 算法与数据结构- 基本数据结构:
数组、链表、栈、队列、二叉树、图
慕课网课程
 - 基本算法:
查找、排序、分治递归、动态规划、贪婪、一致性哈希
慕课网课程
# Java 框架/工具- Spring:
IOC/AOP
Spring annotation
Spring security
XML/YML configuration
Spring boot
Spring data
Spring cloud
Spring integration
《spring揭秘》
《spring in action》(第4,5版)
 - 常用工具类:
Guava
Apache common lang
Bean Utils
Collections/IO
jackson
gson
guava
commons-lang
jackson
 - ORM:
JPA
Mybatis
Hibernate
spring-data-jpa
 - Apache Nettynetty官网
# 数据持久/缓存- GaussDB 100《数据库事务处理的艺术:事务管理与并发控制》
 - 数据库锁机制:
表锁、行锁、MVCC
《MySQL技术内幕:InnoDB存储引擎》
 - NoSQL 
 - Redis《Redis设计与实现》
 - 分库分表/Sharding《PostgreSQL技术内幕:查询优化深度探索》
《高性能MySQL》
# 开发者测试- 测试分层:
Unit testing
Integration testing
System testing
Operational acceptance testing
 
 - 开发者测试框架:
JUint + PowerMock + JAssert + jsonassert
junit5
junit4
# Debuging- 单步调试:
debuger
breakpoints
threading
condition breakpoint
watch
 
 - 远程调试 
# IDE/TOOLS- IDE:
IDEA
Pycharm
jetbrains官网
 - Maven 
 - Gradle 
脚本语言(Python/lua/shell)pythonpython官网
 lualua官网

3. IT基础

知识技能技术点学习参考
# Linux工具链- Shell编程《unix power tools》
 - perf 工具 
 - IO、网络工具 
 - 基础命令、SSH、SNMP、SFTP等 
# 版本管理(VCS)- Git、Gitlab、GithubGit官网
Git实践练习
 - svn 
# 安全基础- SSL/TLS/HTTPSTransport_Layer_Security
websecurity-what-is-ssl-tls-https
 - 加密算法、哈希、证书、秘钥、数字签名 
# 数据库- SQL:索引、主键索引、组合索引、存储过程、Execution plan 
 - ACID 
 - NoSQL、KV 
 - 数据库性能调优 
网络知识- ip/tcp/udp/http《TCP/IP详解》
 - 网络工具《wireshark网络分析就这么简单》
《wireshark网络分析的艺术》
tcpdump
操作系统(API)- Euler《Linux系统编程》(Robert Love)
 - Centos/Redhat 
 - Windows《Windows核心编程》(Jeffrey Richter)
CI/构建Jenkinsjenkins官网
 Mavenmaven官网
 Gradlegradle官网
 CloudDragon 
配置管理ansibleansible官网
 puppetpuppet官网
 chef 
容器化Dockerdocker官网
 Kuberneteskubernetes官网

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值