Java后端开发工程师学习路线是什么?

news2024/12/23 16:41:41

击上方关注 “终端研发部

 
 

设为“星标”,和你一起掌握更多数据库知识

关于这个问题,我之前也是回答过好几遍了,当然也给很多知友带来了帮助~

虽然目前互联网行情不是太景气,但是对于求职找工作的朋友来说,Java可能仍然是后端工程师的优选,虽然Golang和Python一直在追赶,但是Java作为老牌语言,在企业中的地位很重要,它的市场空间仍然是很难撼动的特别是对于小白而言,java可以是作为以后工作的工作语言!

我们先看一下最近一则招聘需求:

1、熟悉Springboot常用框架及相关技术,如:springboot  dubbo  rocketMQ,SpringCloud

2、熟悉至少一种分布式开发框架,有基于Dubbo大型分布式系统研发经验优先;

3、熟悉各种Java应用服务器的使用;

4、熟悉Oracle、MySQL关系型数据库,以及NoSql数据库;

5、 熟悉HTTP协议、restful WebService协议、Memcached协议、Redis协议;

6、4年以上工作经验,有一定的高并发处理能力 ,具有互联网、金融行业经验背景者优先。

有人要问了,要求这么高,能找到工作吗?

目前从招聘需求来看,java开发人员的需求量还是排名靠前的,如果你说java招聘的就很少,那基本上其他的更没的说的,但是这个需求招聘是有前提条件的,就是需要有工作经验。所以在学习中,积累项目经验,多做项目,在项目中积累解决各种问题的能力,从而扩展自己的开发能力!

另一方方便,Java对数学,英语要求不高,并不需要多高的门槛,有些人甚至是没上过大学,也能学好java,但是现在你最好是本科毕业,喜欢计算机,喜欢编程,要不很难坚持下去,java本身学起来简单,但也是个大工程,最怕的就是三天打鱼,两天晒网,半途而废!

不难发现,这个招聘对于主流技术栈要求还是蛮高,后台以微服务和容器化,mysql为主,想要达到入职的要求你要学习的东西还是蛮多的

不错的java后端学习路线

1、必学语法基础

第一是JDK集合、并发包以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localization以及其他)

第二对面向编程,多线程,类的加载机制,锁的运用

  1. 数据结构与算法

这一块没啥好说的,就是靠平时积累以及leetcode刷题。我刷了几十题这样,加上平时积累的一些数据结构也是比较够用的。对于java初学者来说,数据,list,Linklist,HashMap,TreeMap等,我个大家整理了一些相关的算法与数据结构:性能分析、基本数据结构(列表、树等)、排序、查找、图等

3、数据库

Mysql服务器的安装与配置 、数据表的的新建、查询等CRUD、事物的使用以及其ACID特性,特别是作为Java开发者来讲,常用的sql语言,ddl语言,数据的优化,建索引,视图,触发器,存储过程啊,数据库备份啊,游标啊,等等,很多要会的。

4、网络原理

网络编程学什么:比如,么是socket套接字、套接字选项、TCP/UDP 套接字编程、

Unix domain 协议和编程、原始套接字编程、IO多路复用:select 、poll、epoll、queue、序列化技术、零拷贝技术、开源网络库:muduo、libevent等等。

学完以上内容你大概可以写一个类似QQ一样的网络聊天小工具。

5、操作系统                

  • linux如何统计文件中某个字符串出现的频率

  • linux启动的第一个进程

  • linux查看端口占用 linux查看CPU和内存使用

  • Linux查看系统负载命令

  • Linux调试程序

  • Linux硬链接和软连接

  • core dump

  • cmake和makefile

  • Shell脚本基本语法和使用

  1. 主流技术栈

比如JavaWeb,SSM,Linux,Spring Boot,MyBatis,  Nginx,Git,GitHub,Servlet,多线程,集合,JVM,DeBug, Dubbo,Redis等等。

7、云原生开发

此处的网络编程主要指的是具体Linux系统上的网络编程 API和 IO函数的编程实践。

包括:

1、分布式架构,比如, 浏览器、流媒体开发、,设计模式等等,

2、海量日志处理和并行计算开发

3、分布式技术框架、中间件等 Dubbo、Spring Cloud 、Zookeeper 、Kfaka

流媒体分发技术CDN,当然你可以可参考一些Java常用库,造一些轮子或者做些有趣的小工具。

8、熟悉技术方案的开发和解决

分库分表、微服务实战、单点登陆、支付宝支付、微信登陆、微信支付、QQ登陆对接、前后端分离、权限控制、短信发送等实战等等。

9、其他

对于学习的过程,除了要坚持以外,还要注重实践和交流,交流就包括要去思考和总结,并且将其输出出来。特别是对于最近流行的技术,比如前几年的容器技术(如Docker、K8S)的出现,革命性的改变了整个运维体系。如今前景最大的技术流就是AIGC了,

针对技术深度,我的建议还是系统地学习,包括看书和研究源码。例如,研究 Java 虚拟机可以看《深入理解 Java 虚拟机》、研究 MySQL 可以看《MySQL 技术内幕:InnoDB 存储引擎》、研究 Memcache 可以去看其源码。

关于学习的书籍:

1、《Java核心技术 卷1》

书里面详细讲解了JavaSE所有内容的原理,如果你能把这本书研究透,以后会有很高的技术造诣。

0566da66e42add277c3e42d8080d7f44.png

java基础非常重要,《Java核心技术》据说曾获Jolt大奖,是每个Java工程师案头必备的技术手册,阅读时可以跳过图形界面程序设计、Swing、以及部分日志章节。并发的知识比较深入,在基础阶段大致了解即可。

2、《Java编程思想》

Java编程思想是一本经典著作。在大学的时候,我就买了一本来看看

63474222877205dac99aab75f55ecfad.png

这本书可谓是Java程序员入门必读的书,本书是一本介绍齐全的Java学习参考书。如果你不喜欢《Java核心技术 卷1》类似小人书那样的讲解,可以尝试这本书。本书的内容讲解详细,成熟(相对Head First有种教科书的感觉)。

3、《Java并发编程实战》

本书并非聚焦于核心Java代码的实现,而是关注并发引起的问题,比如死锁,饥饿,线程安全,竞争条件,然后提供可行的方法来解决这些问题。

30ef1eafacb287b182205ca8bc34c3bd.png

最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。此外,还有两本书籍,你一定要去学习的:

1、《深入理解Spring Cloud与实战》微服务架构进阶书籍

2、《Spring Cloud微服务:入门、实战与进阶》是一部从技术原理、工程实践和进阶提升3个维度讲解Spring Cloud微服务架构与开发的著作。

看完这5本书籍,基本上已经可以对完成的去开发项目了,你可以利用Java++配合Springboot做个博客学习系统

最后的阶段就是找工作了!

当你完成开发框架的学习以后,你就该找工作了,无论你是再选还是有工作经验的不能停下学习。如果你不能跟上节奏的话,若干年后,如果不是程序猿市场还不错的话,你很可能不仅仅是工资比别人低,公司没别人好,而是根本就找不到工作。

以上9条学习流程和5本书籍,对于java后台开发岗而言,做到以上我说的几点内容经历,就已经能够满足各大公司的要求了。当然如果有在基础架构分布式开发等方面的经验,比如分布式,容器,高并发设计,那也绝对是各个大厂争抢的对象了!

个人建议

你可以先学习基础语法, 然后就是数据结构与算法,再去学习 Mysql,紧接着就是计算机网络,操作系统,在接着就是Spring全家桶相关,在过程中可以结合上述书籍的知识点多去做一些小项目, 只要你对技术的热情以及持续不断地投入,包括学习、实践、思考、总结,时刻准备,找工作应那就很随意了!

628e4f32b7678967f18ad4807b847c83.jpeg

回复 【idea激活】即可获得idea的激活方式

回复 【Java】获取java相关的视频教程和资料

回复 【SpringCloud】获取SpringCloud相关多的学习资料

回复 【python】获取全套0基础Python知识手册

回复 【2020】获取2020java相关面试题教程

回复 【加群】即可加入终端研发部相关的技术交流群

用 Spring 的 BeanUtils 前,建议你先了解这几个坑!

lazy-mock ,一个生成后端模拟数据的懒人工具

在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!

字节跳动一面:i++ 是线程安全的吗?

一条 SQL 引发的事故,同事直接被开除!!

太扎心!排查阿里云 ECS 的 CPU 居然达100%

一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

56e5438850490e7ead34338b2287b446.png

302100bf3231a5304f3fbec07a4bd34c.gif

喜欢就给个“在看d1942f735bd92811d3bd0adabff93336.gif 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1003802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

element el-table 设置fixed导致行错乱问题

首先看有问题的样式: 解决: // 解决左右 对不齐 的情况 // el-table 左右有列固定时,fixed为left和right时,行未对齐解决办法 // * 产生原因: el-table底部有滚动条,固定列底部没有滚动条 // * 解决办法&…

数据结构之位图【原理与实现】

文章目录 前言一、位图bitap是什么?二、位图的引用场景1、查询统计、定位查询,排序,去重2、取两个集合的交集,并集等 三、位图C实现 前言 bitmap意为位图,它的每一位用于存放状态,适用于大规模并且不重复的…

服务器数据恢复-EVA存储多块硬盘磁头和盘片损坏离线的数据恢复案例

服务器数据恢复环境: HP EVA某型号存储,存储中一共有23块磁盘,上层映射给一台windows server服务器上。 服务器故障&检测&分析: 该EVA存储上三块硬盘指示灯显示黄色,此时存储设备还能正常工作。运维更换显示黄…

Dell 服务器常见报错信息汇总

Dell 服务器常见报错汇总 如果有别的报错信息欢迎补充

电子烟行业常用的英文表达

1. 电子烟的各种表达 a) 电子烟 i. Electronic-cigarette, ii. Electronic smoke, iii. electronic cigarettes iv. Electric cigarette, v. E-Cigarettes vi. e-cigarette, vii. e-Cig viii. E cigar,e-cigar 电子烟雪茄 2. 电子烟特指词汇及衍生 a) VAPE i. Vapo…

计网第五章(运输层)(一)

在前面的博客中,总是说主机之间进行通信。但实际上通信的真正的实体是位于通信两端主机中的进程。 一、运输层基本概述 运输层的任务就是为运行在不同主机上的应用进程提供直接的通信服务,运输层的协议又称为端到端协议。运输层中使用不同的端口来对应…

ARM接口编程—PWM(exynos 4412平台)

PWM简介 PWM(Pulse Width Modulation)即脉冲宽度调制,通过对脉冲的宽度进行调制,来获得所需要波形 PWM参数 周期 一次高低电平所占用的时间 占空比 一个周期中高电平时间与整个周期的比例称为占空比 PWM工作原理 pwm原理图 由电路原理图可知道蜂鸣…

在Windows系统上用Nginx搭建图片服务器

1、nginx.conf中的配置: server { listen 8088; #server_name localhost; server_name 127.0.0.1 ; #charset koi8-r; #charset utf-8,gbk; charset utf-8; location ~ .*.(gif|jpg|jpeg|png)$ { e…

恒运资本:减肥药概念涨疯了!特斯拉一夜暴涨5800亿市值,汽车股狂飙

今天早盘,A股微幅震荡,主要股指涨跌互现,两市成交呈萎缩趋势。 盘面上,减肥药、轿车、工业大麻、鸡肉等板块涨幅居前,光刻机、稳妥、互联网、知识产权等板块跌幅居前。北上资金净流出1.99亿元。 减肥药概念飙涨 续昨…

动态规划总结(持续更新中……)

注意:我这里定义的所有dp的索引相对于实际问题都是从1开始的,也就是空间长度会比实际大1,这样的好处是在部分题目场景下不需要条件判断也不会越界。 字符串/数组类 区间 1.最长回文子串 dp定义 dp[i][j]表示第i个字符到第j个字符组成的子…

一文了解VR全景,VR全景有哪些优势?

引言: VR全景技术近年来崭露头角,已经成为宣传领域的一大亮点。不仅在娱乐,旅游行业广泛应用,还在商业和教育等领域崭露头角。 一.什么是VR全景? VR全景,全名Virtual Reality Panorama&#x…

Python代码扫描:新一代 Python Linter工具Ruff -极力推荐-快的原因是Rust写的?

目录 RUFF概述 特点 安装和使用 应用场景 配置 编辑器集成 PyCharm(外部工具) Ruff的规则 Ruff速度快的几个原因 最后 注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料,将在公众号CTO Plus发布…

多线程和并发编程(2)—CAS和Atomic实现的非阻塞同步

在并发编程中实现原子操作可以使用锁,锁机制满足基本的需求是没有问题的了,但是有的时候我们的需求并非这么简单,我们需要更有效,更加灵活的机制,synchronized关键字是基于阻塞的锁机制,也就是说当一个线程…

零代码编程:用ChatGPT来批量删除特定文件

一个文件夹中有很多个文件重复了,重复的文件中都含有“(1)”这样的字符,需要把所有这些文件批量删除掉。 在ChatGPT中输入如下提示词: 你是一个Python编程专家,写一段代码完成批量删除文件的任务&#xff…

【java】【SSM框架系列】【四】SpringBoot

目录 一、SpringBoot简介 1.1 入门案例 1.1.1 案例 1.1.2 Spring程序与SpringBoot区别 1.1.3 SpringBoot项目快速启动 1.2 SpringBoot概述 二、基础配置 2.1 配置文件格式 2.1.1 配置文件格式(3种) 2.1.2 配置文件间的加载优先级(了解…

电视机顶盒哪个牌子好?拆机达人盘点网络电视机顶盒排名

电视机顶盒哪个牌子好?在挑选电视机顶盒的时候,我们要注意的是盒子的芯片、内存以及系统和操作等等方面全都要衡量,根据我多年拆机经验来说,有些产品存在虚标配置、偷工减料等情况,在选购时不懂行可以参考以下网络电视…

【mysql】—— 函数的基本介绍

前言: MySQL是一种常用的关系型数据库管理系统,它提供了许多内置的函数来进行数据操作和处理。本期,我将给大家介绍的就是关于 “函数” 的相关知识!!! 目录 (一)日期函数 &#…

调整Pycharm中代码的字体的大小

注意:是代码的字体大小,不是Pycharm标题栏、状态栏啥的字体的大小。 1、第一步 2、第二步,勾选“用ctrl滚轮”调整字体大小 3、在代码框中,ctrl鼠标滚轮就能调节代码字体大小了。

《程序员职场工具库》认识 OGSM 模型

最近简单学习了一下 OGSM 模型,把一些学习感想给大家分享一下。可能我们用不到这个模型,但是也算是一个小知识点,留个印象也不错。 OGSM 模型是企业战略管理的理论工具。它主要是以下 4 个部分: O(Objective&#xf…

ChromeDriver最新版(116.x及最新)下载途径分享

首先查看version:在地址栏输入chrome://version/ 最新版 官方地址:https://googlechromelabs.github.io/chrome-for-testing/ 选择合适的下载即可 Old 官网:https://chromedriver.chromium.org/downloads 国内镜像 ps:国内镜像没有…