【学前篇】Java到底该不该学,学又该如何学习?

文章目录

  • 前言
  • 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到底该不该学,学又该如何学习?_第1张图片
【学前篇】Java到底该不该学,学又该如何学习?_第2张图片

看到,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 编译原理

你可能感兴趣的:(JavaSE基础,java,java-ee,开发语言)