文章目录
- 前言
- 1、Java前景与现状
- 2、Java学习路线
- Java基础
- JavaWEB
- 常用框架技术
- 微服务开发
- 分布式高级
- 项目实战
- 面试
- 3、Java各级薪资要求一览表
- Java初级(10k-15k)
- Java中级(15k-25k)
- Java高级(25k-50k)
- 总结
- Java架构师(冲击年薪50W+)
- 架构师之路
- 附录一:暗黑心法图书
前言
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。
因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
1、Java前景与现状
Java主要分为三大版本JAVAME,JAVASE,JAVAEE。
JavaME: 是为机顶盒、移动电话和嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。
JavaSE: 标准版Java技术的核心和基础,也是Java ME和Java EE编程的基础,尝尝使用于桌面应用,服务器,基础框架。
JavaEE: 企业级的应用开发,网站应用,大型分布式应用的开发,互联网研发。
先看两张图,图片截图来源
看到,Java一直是稳居前三的,相对来说是比较稳定的,Java的应用面是非常广的,再跌也不可能跌的太离谱。
2、Java学习路线
Java基础
项目 | Value |
---|---|
JAVA核心技术 | 链接 |
IDEA使用 | 链接 |
MySQL基础进阶 | 链接 |
JDBC核心技术 | 链接 |
JVM全套教程 | 链接 |
JUC并发编程 | 链接 |
JavaWEB
项目 | Value |
---|---|
JavaWEB全套教程 | 链接 |
常用框架技术
项目 | Value |
---|---|
Maven零基础入门 | 链接 |
Spring5框架 | 链接 |
SpringMVC教程 | 链接 |
MyBatis实战教程 | 链接 |
MyBatis-Plus教程 | 链接 |
SSM整合 | 链接 |
Git入门到精通 | 链接 |
微服务开发
项目 | Value |
---|---|
Linux入门 | 链接 |
Redis 6 入门到精通 | 链接 |
经典Redis教程 | 链接 |
SpringBoot2零基础入门 | 链接 |
SpringCloud框架开发教程 | 链接 |
分布式高级
项目 | Value |
---|---|
Docker与微服务实战 | 链接 |
Nginx教程由浅入深 | 链接 |
Zookeeper教程 | 链接 |
ElasticSearch教程入门到精通 | 链接 |
Kubernetes(k8s)入门到实战教程 | 链接 |
项目实战
项目 | Value |
---|---|
尚医通项目 | 链接 |
尚融宝项目 | 链接 |
尚筹网项目 | 链接 |
谷粒学苑项目 | 链接 |
谷粒学院项目 | 链接 |
谷粒商城项目 | 链接 |
云原生实战项目 | 链接 |
面试
项目 | Value |
---|---|
经典面试题 | 链接 |
大厂面试题第2季 | 链接 |
大厂面试题第3季 | 链接 |
3、Java各级薪资要求一览表
Java初级(10k-15k)
序号 | 要求 |
---|---|
01 | 大专以及以上学历,计算机优先 |
02 | 至少1年以上Java开发经验 |
03 | 熟悉掌握主流的Spring,SpringMVC,Mybatis,JPA,Vue等技术框架 |
04 | 熟悉分布式,缓存,消息的实现机制 |
05 | 熟悉Unix/Linux系统,熟悉常用的shell命令 |
06 | 熟悉Oracle,MySQL,Sql Server,DB2等数据库至少一种和常用的SQL语句 |
07 | 熟悉SVN,Maven,Git版本控制工具的使用 |
08 | 有Java多线程高并发的开发经验 |
09 | 代码编写规范,熟悉JVM调优以及常见的Java设计模式 |
10 | 熟悉SpringBoot以及SpringSecurity+Mongo+Redis+MySQL等组件的组合使用 |
11 | 熟悉SpringBoot,SpringCloud等微服务技术栈 |
12 | 熟悉HTTP网络协议 |
13 | 熟悉基本的SQL调优 |
14 | 熟悉WEB前端技术(HTML,CSS,JavaScript,Ajax,Vue等) |
15 | 具备Redis,Kafka,Zookeeper,Netty等开发经验优先 |
16 | 熟悉Redis,MQ等中间件的使用 |
17 | 熟悉应用服务器Nginx与Tomcat服务器的开发配置 |
18 | 具有基本面向对象分析,设计,开发的能力 |
Java中级(15k-25k)
序号 | 要求 |
---|---|
01 | 大专以及以上学历,具有3年以上互联网行业的工作经验 |
02 | 熟练使用基本的数据结构与算法,深入理解多线程,Socket等相关技术 |
03 | 熟悉掌握主流的Java框架,深入了解这些开源框架的特性与实现原理 |
04 | 熟悉掌握一种以上非关系数据库,如Redis,MogoDB理解使用场景与限制 |
05 | 具备系统调试,性能调优的技能,对系统出现的问题及时排查出问题 |
06 | 有大规模,高吞吐量的开发系统经验优先 |
07 | 有分布式架构开发经验或业务平台建设的经验优先, |
08 | 具有前端开发经验与基本数据处理能力的优先 |
09 | 熟悉数据库优化,消息队列与缓存 |
10 | 较强的实战能力,精通Spring框架 |
11 | 熟悉Hbase,Hive,Impala |
12 | 熟悉Redis,MQ等中间件的使用,深入存储技术 |
13 | 深入了解分布式缓存方案的原理与实现:分布式缓存,SOA,消息中间件,负载均衡,连接池等 |
13 | 服务器迭代开发,处理高并发,高性能场景优先以及JVM优化 |
Java高级(25k-50k)
序号 | 要求 |
---|---|
01 | 熟悉常用的存储OBS,NAS的使用 |
02 | 精通Java编程,以及各种框架的原理 |
03 | 技术方面有一项特别擅长,比如分布式系统设计,业务建模,数据分析,数据交换,流程引擎等 |
04 | 精通JVM各种调优 |
05 | 有Hadoop项目经验,掌握MapReduce |
06 | 数据分析,推荐,机器学习,数据挖掘相关工作优先 |
07 | 主导或参与过高可用性能系统的设计开发 |
08 | 善于跨职能沟通,擅长带领团队进行高质量交付 |
09 | 具有分库分表,微服务拆分,分布式处理事务处理的相关知识 |
10 | 较强的抽象思维能力,能将共性需求提炼成产品 |
11 | 熟悉事务,锁,高并发等机制 |
12 | 有用户增长,自动化营销或数据化智能运营系统建设经验优先 |
13 | 熟悉前后端高校服务传输机制 |
14 | 服务器迭代开发,处理高并发,高性能场景优先以及JVM优化 |
总结
完成以上顶多算个中级开发工程师,要想继续内卷下去, 还需要对大数据,运维,以及前端有一个清楚的认识。
同时对Docker与K8s体系平台较为熟悉,各种技术原理的深入了解,另外掌握多门语言也是很有帮助的。继续深造,下面来看看成神之路。
Java架构师(冲击年薪50W+)
如果还想卷下去,Java架构师是必须走的一步,也是成神的一步。
架构师之路
基本素养
- 常见领域熟悉:开发,运维,大数据
- 纵深:开发架构师(50W+),运维架构师(60W+),运维开发架构师(80W+),大数据架构师(70W+)
工作内容
- 产品模块与划分
- 开发技术选型
- 中间件选型与优化
- 亲自编码场景较少
- PPT与邮件玩的溜
- 基本的管理技巧(PMP)
内功基础
- 基本的数据机构预算法
- 设计模式
- 计算机网络
- 操作系统
- JVM
核心框架源码
- Java核心源码
- Spring5框架源码核心
- SpringBoot,SpringCloud(原生系,阿里系),SpringMVC核心源码
- Tomcat,MyBatis,Netty,Zookeeper等
常用的中间件
数据库,消息队列,缓存,检索,存储,调度等
分布式系统原理与技术
- 服务注册
- 服务发现
- 远程调用
- 负载均衡
- 服务熔断
- 配置管理
- 链路追踪
- 认证授权
- 三高问题
- 分布式计算
- 分布式事务
- 分布式缓存
- 服务代理
- 监控告警
每个模块必须知道一个代表性框架的源码,有个大概。
架构师增强技能
- 容器化
- 服务编排
- CI/CD 持续集成、交互、部署
- 云平台应用架构与设计
- 边缘计算
附录一:暗黑心法图书
序号 | 书籍 |
---|---|
01 | 计算机科学导论 |
02 | 深入理解计算机系统 |
03 | 计算机网络 |
04 | 设计模式 |
05 | 数据库系统概念 |
06 | 数据结构与算法分析 |
07 | 算法导论 |
08 | 计算机组成原理 |
09 | 软件工程 |
10 | 现代操作系统 |
11 | 编译原理 |