文章目录

  • 前言
  • 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 具有基本面向对象分析,设计,开发的能力

这个阶段一般是1-3年,主要针对一些框架的使用能够完成基础的开发功能

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优化

这个阶段一般是3-5年,主要关键词就是数据结构与算法,多线程,Socket,系统调试,性能调优,分布式架构,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优化
这个阶段一般是5年以上,框架已经远去,主要是定位系统出现的问题并解决一些高并发性能的问题

总结

完成以上顶多算个中级开发工程师,要想继续内卷下去, 还需要对大数据,运维,以及前端有一个清楚的认识。

同时对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 编译原理

Java到底该不该学,学又该如何学习?相关推荐

  1. 【C/C++】从技术学习和实际运用的角度来看,C/C++和Java到底区别在哪?C语言、C++学习路线?

    转自羊哥的公众号 这几个问题都是私信里常被问到的,也是我当时学习过程中的一些疑惑.谁说黑乎乎的命令行里运行的程序就没有用!这跟学什么编程语言.后续从事什么编程方向均无关,只要做编程开发,这四个计算机基 ...

  2. 什么都不懂的学java难不难_零基础转行学java到底难不难

    不少零基础的新手想要转行学习java可是不知道难度,南京学码思下面就给大家详细的说一说转行java的难度,希望能帮助到各位想要了解java的同学. 零基础转行学java到底难不难 新手转行学java到 ...

  3. 为什么会有那么多的人选择Java?学Java到底好不好?

    TLOBE指数显示,Java编程已经超过了20%的普及门槛,这意味着每五行源代码当中就有一行采用Java编写,因此Java被称为世界第一的语言. 瞬间好奇有没有?但为什么会有那么多的人选择Java?学 ...

  4. 学Java到底用什么电脑好呢?

    士兵打仗武器十分重要,对于编程人员来说武器就是电脑了,那么你知道学Java编程到底是用什么电脑好一些呢? Java编程用什么电脑? 首先对于Java编程来说,没有特殊要求的话,市面上你能见到的还在生产 ...

  5. 零基础转行学Java到底难不难?

    2019独角兽企业重金招聘Python工程师标准>>> 74%的人认为不难 有人曾经做过统计,询问500多已经参加工作的 Java开发者,"学习java是否困难?" ...

  6. 西安达内:学Java到底好在哪里

    大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的. 其实我选择Ja ...

  7. 五分钟学Java:Java到底是值传递还是引用传递?

    在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很多的程序员被这个 ...

  8. Java就业前景怎么样?值得学吗?

    Java作为目前主流的热门编程语言,越来越多的人选择学习Java.但是也有一部分人仍在驻足不前,四处打听Java开发的就业前景,现在小千就带你一起去详细的了解一下Java的就业前景,让你明白Java到 ...

  9. 为什么说Java是2021年最值得学的技术?

    随着时代的发展,互联网行业越来越普及,想加入这个行业的人也越来越多.Java的主要优势就体现的很明显,可以说Java是2021年最值得学的技术!为何这样说呢?Java到底有哪些优势?接下来,小千为答疑 ...

  10. amigo幸运字符什么意思_OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

最新文章

  1. Linux 查看进程命令
  2. SpringBoot 2.0 教程实战 MySQL 读写分离
  3. cisco tftp 操作
  4. BZOJ2675 : Bomb
  5. android 双人黑白棋开发博客,黑白棋 - 软件资讯 - 课堂党年级博客
  6. 韦冬雪计算机应用,捕获效应下RFID防碰撞算法的研究与应用
  7. mysql_fetch_bit_mysql_fetch_array()
  8. python怎么变成exe_Python怎样打包成exe?
  9. thinkjs——两表联查
  10. 问题 L: 一年中的第几天
  11. 【最短路径问题笔记】Floyd算法求多源最短路径问题
  12. iNeedle系统之国舜项目
  13. 线程令牌桶的实现及条件变量改进版本
  14. 概率论————思维导图(上岸必备)(一维随机变量及其分布)
  15. 电信行业数据安全风险评估案例 - 数据安全治理之数据安全风险评估白皮书
  16. 模拟游戏--鸭子的种类
  17. Swift 下标用法
  18. Vba Excel 到 word 实例
  19. 清华大学计算机国际大赛,动态 | 清华大学超算团队摘得 SC 2018 总冠军,包揽三大国际大学生超算竞赛总冠军...
  20. Buck-Boost 变换器和红外 LED 驱动器

热门文章

  1. 火车站临时身份证明窗口位置。
  2. 有史以来最完美的女人——赵雅芝
  3. 摩托罗拉android产品 MT710
  4. EMQ2.0 配置说明
  5. 拍案叫绝的算法(一)
  6. 智能科技对家居生活的影响,未来智能家居的发展方向
  7. jq删除数组中的指定元素
  8. UE4 BSP画刷知识点
  9. 图解算法习题之老王的杂货铺
  10. Summary of the January