Java工程师技术成长路线,看完我悟了

引言

最近和一些阿里的技术专家聊了很多,关于技术发展、关于终身学习、关于职业发展。正好最近经常有同学问到底应该怎么进行Java学习或者技术学习,本文结合自己的理解和大家比较关心的几个问题进行了总结和阐述,希望在大家的学习过程中能起到一点促进作用。

为什么学?

在干任何事情之前,我们都要想清楚做这件事情的目的是什么,这样我们才能做到以终为始。就拿学Java来说,有的人是为了做个小作业交差,有的人是为了毕业后好找工作,有的人是为了随大流,别人学什么我也学什么。不管什么原因,只有搞清楚了最初的学习目的,才能决定我们到底要花费多少精力在学习Java上面。如果你学习的目的只是为了交个课程作业,那么花个几个星期,网上下载个小项目,跑跑改改小功能,交差就完事了。但是如果你是项通过学习Java找到个好工作,那么就需要进行系统的学习和训练。这和交个大作业所要投入到的精力和时间是不可同日而语的。

Java学习或者说技术学习是一个持久的过程,一旦你选择了走技术这条路线,那将是一个终身学习的过程,想好自己做好准备了吗?当然也有很多人在技术做了几年后发现自己并不是很适合或者不是很喜欢,于是转做了产品经理或者项目经理或者测试的都有,也有人发现自己真的喜欢一直做下去。

在这里插入图片描述

怎么开始学?

现在我们已经搞清楚为什么学习Java了,有了明确的目标之后,我们就要撸起袖子加油干了。但是万事开头难,很多人在面对现在网上海量的学习资料不知道该如何下手学习Java。学编程语言和我们现实中的学语文或者学英文的过程其实是大同小异的,首先我们得搞清楚它的本质是什么。语言的本质是什么?语言的本质就是人与人交流的工具。那么计算机编程语言的本质是什么?计算机的本质语言就是人与计算机的交流工具,所以变成语言实际就是工具,是我们教计算机做事情的工具。因此,无论是JavaGoC++或者其他什么变成语言,他们都只是工具而已。

既然编程语言是工具,那么我们学习语言当然就离不开了解工具以及使用工具了。了解编程语言就是要对语言涉及的语法、数据结构等进行学习,因为它是程序的组织体。学习完之后,我们就要不断的练习,不断的编码实践,欧威实践出真知就是这个道理。有时候文章中或者书本中一段你看起来很简单的代码,虽然你觉得你看会了,但是实际上如果让你自己写出来或者把程序的运行结果跑出来可能是另外一回事。因此我们需要自己动手实践,而且是不断的进行实践。

在这里插入图片描述

我一直建议在学习Java代码之前,可以先学习怎么写C或者C++代码,为什么这么说呢。Java是高级语言,屏蔽了很多底层的细节,但是C或者C++相对来说更加贴近底层。而贴近底层的代码更加有利于我们理解计算机软硬件协调工作的原理,对我们构建计算机的知识体系有很大的帮助。学有余力的同学甚至可以学习学习汇编语言,那么对于计算机到底是怎么执行程序逻辑,CPU如何进行程序运算、CPU中的寄存器数据如何移来移去,都会有更加深刻的理解。
在这里插入图片描述

到底学什么?

那么多技术知识,我们到底要学习什么呢?既然选择Java为主要的技术路线,那么我们肯定首先需要学习Java相关的编程语言语法,Java程序是跑在计算机服务器上的,那么我们肯定需要熟悉计算机的体系结构,为了提升开发效率,一些重复的开发动作框架都帮我们做掉了,所以我们需要学习开发框架,为了提升我们的编程水平,我们需要通过设计模式模块化我们的代码,提升代码的扩展性。为了实现系统的高性能以及解耦,我们需要使用各种中间件。生产上会遇到各种问题,所以我们得培养问题排查能力。诸如此类,总之这些都是和我们实际工作息息相关,这些都在促使我们成为一个合格的Java工程师。

在这里插入图片描述

强烈的好奇心

为什么说学技术的同学需要强烈的好奇心呢?因为好奇心是驱动你往深处去挖掘技术原理的原动力。我们在进行技术学习的时候一般都是在网上看资料或者看视频进行学习,但是网上的某一篇文档以及某一个视频不一定能把一个技术知识完全讲清楚,或者没有让你完全理解,那么这个时候就需要我们保持着技术好奇心,需要不断的去提问题,并带着问题去寻找答案。

就拿之前的文章中提到的Redis可以扛数十万的高并发客户端连接,一般文章中会提到Redis使用了多路复用IO模型。我在进行学习的时候,就有很多疑问,什么叫多路,谁被复用了?后来学习的时候知道了多路指的是多个多个客户端连接,复用指的是Redis通过单一的主线程去处理多个客户端连接。那么问题又来了单个主线程的Redis是怎么处理多个客户端的连接的呢?轮训处理吗,还是其他什么方式?Redis是运行在服务器中的,它拿处理这么多客户端连接,必定需要借助于Linux服务器,那么它是怎么和服务器进行交互的呢?看吧,别人文章中的一句多路复用,可以衍生出这么多的技术细节需要搞清楚,如果没有技术好奇心,我们可能只是学到了多路复用这四个字。但是如果有这颗技术好奇心,深挖技术细节,那么我们学到的将会更多。
【日拱一卒进击大厂系列】面试官:为什么单线程的Redis可以实现高并发访问
在这里插入图片描述

写在最后

絮絮叨叨说了很多,希望热爱技术的大家都能通过自己的努力改写人生,技术学习是一个长期坚持的过程,不可能一蹴而就,积跬步而致千里。最后附上整理的Java工程师从0到1的学习积累过程,希望对大家进行技术学习有帮助。

在这里插入图片描述


大家好,我是慕枫,感谢各位小伙伴点赞、收藏和评论,文章持续更新,我们下期再见!
微信搜索:慕枫技术笔记,优质文章持续更新,我们有学习打卡的群可以拉你进,一起努力冲击大厂,另外有很多学习以及面试的材料提供给大家。

真正的大师永远怀着一颗学徒的心
————————————————

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Diamond_Tao/article/details/122376494