史上最全java架构师技能图谱(上)
xsobi 2024-12-13 16:50 1 浏览
java架构师最全技能图谱上篇,包含:数结构算法、java进阶、web开发、框架与工具四大技能图谱。 下篇将包含大数据以及性能、设计模式、UML、中间件、分布式集群、负载均衡、通讯协议、架构设计等技术图谱等章节
本文作者,陈睿 优知学院创始人,前百度研发经理,携程定制旅游CTO。
优知学院是IT人在线进阶站,帮助IT人升职加薪,导师来自于BAT等一线互联网公司总监。提供系统的互联网产品技术进阶干货资料和课程,以及定期的线下实战活动。
一:数据结构算法
算法分析
时间复杂度和空间复杂度
算法思想
递推、递归、穷举、贪心、分治、动态规划、迭代、分枝界限
数据结构
数组、链表、堆、栈、队列、Hash表、二叉树等
算法
排序
经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等
查找
经典查找:顺序查找、二分查找、二叉排序树查找
高级算法
贪婪
回溯
剪枝
动态规划
大数据算法
hash分桶
统计
二:Java进阶
java编程基础:
对象和类 、基本数据类型 、变量类型、运算符、循环分支结构、数组、正则表达式等
集合
总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:
Collection<–List<–Vector
Collection<–List<–ArrayList
Collection<–List<–LinkedList
Collection<–Set<–HashSet
Collection<–Set<–HashSet<–LinkedHashSet
Collection<–Set<–SortedSet<–TreeSet
面向对象高级知识
类、对象、继承、构造函数、封装、接口、抽象类、多态、重写、this static关键字、类与对象的关系
异常处理
异常类类图:throwable exception error RuntimeException
异常处理机制
如何定义和使用异常
运行时异常和受检查异常区别
运行时错误
java异常处理的原则和技巧
多线程
概念与原理
创建于启动
线程的生命周期及五种基本状态
线程交互
死锁
调度合并
调度让步
调度休眠
同步方法
同步块
同步与锁
线程池
阻塞队列
IO/NIO
同步阻塞 同步非阻塞 异步IO
反射
序列化
泛型
网络编程
高级特性
JVM
运行时数据区:方法区、虚拟机栈、本地方法栈、堆、程序计算器
GC算法:
内参回收三要素:什么内容需要回收、什么时候回收、如何回收
并发与执行
引用计数算法
根搜索算法
垃圾回收算法:标记-清楚算法 复制算法 标记-整理算法 分代手机算法
垃圾收集器:新生代、老年代收集器
溢出
java堆溢出
方法区溢出
outofmemoryerror
虚拟机栈和本地方法栈溢出
直接内容溢出
三:Web开发核心
HTML JS CSS
html js css语法基础
Js css框架
Html开发工具
JS和CSS调试工具
模板引擎
jsp
velocity
freemarker
Java web
容器:tomcat jetty等
热部署插件:run-jetty-run
cookie session使用和区别
fliter和listener的启动和步骤
身份验证
单点登录原理以及实现
web核心
事物JTA
JMX
安全:JCCA/JAAS
通信:JNDI/JMS
SSI技术
linux
常用命令以及操作系统原理等
线上故障处理和分析
性能工具
visualVM Jprofiler JMeter等
线上故障
线程数超标
访问超时
长事务
CPU超标
内存超标
开发工具使用
web开发调试
firebug
Web Developer
JavaScript Debugger
IETester
Yslow
构建工具
maven Grails
maven私服 nexus
版本控制
git svn
java调试工具
JCover
Junit
Jtest
以及大量的eclipse插件,eg:findbugs等
开发框架
SSH:struts2+spring+hibernate
SSM:springmvc+spring+mybatis
阿里开源框架
如果你对架构师比较感兴趣,可以查看优知学院官网架构师进阶系列文章。
以上内容就是java架构师技能图谱上篇,下篇将包含大数据以及性能、设计模式、UML、中间件、分布式集群、负载均衡、通讯协议、架构设计等技术图谱等章节。
没钱没人脉也能轻松入门,让你每年多赚10万!
相关推荐
- 好用的云函数!后端低代码接口开发,零基础编写API接口
-
前言在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过...
- 快速上手:Windows 平台上 cURL 命令的使用方法
-
在工作流程中,为了快速验证API接口有效性,团队成员经常转向直接执行cURL命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用Windows系统的用户来说,这里有一套详细...
- 使用 Golang net/http 包:基础入门与实战
-
简介Go的net/http包是构建HTTP服务的核心库,功能强大且易于使用。它提供了基本的HTTP客户端和服务端支持,可以快速构建RESTAPI、Web应用等服务。本文将介绍ne...
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
-
你只需编写简单的云函数,就可以实现自己的业务逻辑,发布后就可以生成自己的接口给客户端调用。果创云支持对云函数进行在线接口编程,进入开放平台我的接口-在线接口编程,设计一个新接口,设计和配置好接口参...
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:iN在之前和大家说过,在iN的家里是没有墙面开关的。...
- window使用curl命令的注意事项 curl命令用法
-
cmd-使用curl命令的注意点前言最近在cmd中使用curl命令来测试restapi,发现有不少问题,这里记录一下。在cmd中使用curl命令的注意事项json不能由单引号包括起来json...
- Linux 系统curl命令使用详解 linuxctrl
-
curl是一个强大的命令行工具,用于在Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,用于下载或上传数据,执行Web请求等。curl命令的常见用法和解...
- Tornado 入门:初学者指南 tornados
-
Tornado是一个功能强大的PythonWeb框架和异步网络库。它最初是为了处理实时Web服务中的数千个同时连接而开发的。它独特的Web服务器和框架功能组合使其成为开发高性能Web...
- PHP Curl的简单使用 php curl formdata
-
本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到cur...
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
-
本章涵盖使用Actix提供静态网页...
- 我给 Apache 顶级项目提了个 Bug apache顶级项目有哪些
-
这篇文章记录了给Apache顶级项目-分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提...
- linux文件下载、服务器交互(curl)
-
基础环境curl命令描述...
- curl简单使用 curl sh
-
1.curl--help#查看关键字2.curl-A“(添加user-agent<name>SendUser-Agent<name>toserver)”...
- 常用linux命令:curl 常用linux命令大全
-
//获取网页内容//不加任何选项使用curl时,默认会发送GET请求来获取内容到标准输出$curlhttp://www.baidu.com//输出<!DOCTYPEh...
- 三十七,Web渗透提高班之hack the box在线靶场注册及入门知识
-
一.注册hacktheboxHackTheBox是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CT...
- 一周热门
- 最近发表
-
- 好用的云函数!后端低代码接口开发,零基础编写API接口
- 快速上手:Windows 平台上 cURL 命令的使用方法
- 使用 Golang net/http 包:基础入门与实战
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
- window使用curl命令的注意事项 curl命令用法
- Linux 系统curl命令使用详解 linuxctrl
- Tornado 入门:初学者指南 tornados
- PHP Curl的简单使用 php curl formdata
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- strcat (25)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- element style (30)
- dedecms模版 (53)
- vs打不开 (29)
- nmap (30)
- webgl开发 (24)
- parse (24)
- c 视频教程下载 (33)
- paddleocr (28)
- listview排序 (33)
- firebug 使用 (31)
- transactionmanager (30)
- characterencodingfilter (33)
- getmonth (34)
- commandtimeout (30)
- hibernate教程 (31)
- label换行 (33)
- curlpost (31)