知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

学Java一般要多久能找到工作?

发表时间:2022-03-23来源:网络

完全没有必要去培训机构哈 ,花个六万八万的一年出来基本上只会 增删改查用,该找不到工作还是在找不到。

首先看你是不是和去学习Java或者说学习编程这条道路。

毕竟是有门槛的。究竟是什么门槛呢?

1、要有一个至少是大专的学历

2、年龄最好在30岁之前

当然如果你是低学历,你可能会关心一个问题: 22岁初中毕业学java能找到工作吗?

如果你年龄大了,你通过会担心将来会不会失业,你同样会担心:年龄大了,比如35岁了,程序员会失业吗?

第二个问题可以回避了,如果你还没开始,就担心自己会失业将来找不到工作,那么你趁早这样:

Java学习是一条枯燥且充满荆棘的路,想法设法解决问题将会成为你工作的常态,唯一的乐趣或许就是技术攻坚后的瞬间喜悦。

甚至你还可能想:软件专业出来再去java培训班进一步提升 性价比高吗?会不会好找工作一点。?

当然不是说去培训机构不能学的好,毕竟也有很多比较好的培训机构。这里我直说如何自学Java

首先推荐一个非常全面的脑图:

韩顺平老师Java学习路线图之后做的笔记

那么究竟怎么才去一步一步的去实现呢,当然我这里推荐一个写的比较好博客,这里我分为12个阶段,每个阶段都有一定路线学习规划

作者:ycx2019
链接:htdtps://http://blog.csdn.net/ycx2019/article/details/112221481
来源:csdn

以下为原文链接

------------------------------------------

第一阶段:Java基础

JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。

在Java基础板块中有6个子模块的学习:

基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率;异常,编写代码逻辑更加健全;网络编程,应用服务器学习基础,完成数据的远程传输。

学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。

第二阶段:数据库

数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。用于对交互过程中客户的数据进行存储。

该板块包括关系型数据库和非关系型数据库。

例如:MySQL、oracle、redis、MongoDB等。

数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。

第三阶段:前端技术

Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门课程,是学习后面高进阶课程的基础。

首先,我们先看一下前端板块。该板块主要包括如下几个模块:

HTML5,网页制作标记语言;CSS,对HTML制作网页进行美化;JavaScript,嵌入在页面中的脚本语言,具备逻辑性;Vue,前端框架,简化了与服务器端交互的操作,用户良好的交互体验是必不可少的。

学习前端技术后,可以完成类似京东、淘宝的前端工程的编写。

第四阶段:动态网页技术

动态网页是中级程序员服务器端编程的基础,是高级框架学习的必备课程,后期学习的框架、服务底层都是基于动态网页技术之上的。

该板块包括Javaweb核心技术、包括Servlet、Request、Response、Cookie和Session等,通过这些技术的学习可以完成动态站点开发,可更好的完成服务器端与客户的交互,让页面的数据“动”起来,做出小型的应用系统。

第五阶段:编程强化

编程强化是对解决实际问题方面做一个深入的了解和应用,是对JavaSE基础的加强,对后期自动以框架和对一些服务框架的底层理解做支撑。

编程强化板块主要包括如下几个模块:多线程高级、涉及线程内存、线程通信等;JVM优化,对JVM底层进行调优来提高项目执行效率;NIO,同步非阻塞IO来提高效率。

学习该阶段,可以对原有项目进行优化从而使程序更快更稳定。

第六阶段:软件项目管理

软件项目管理可以帮助我们很好地构建、管理与开发项目,比较流行常用的有项目构建工具Maven,版本管理工具SVN、Git、码云等。整体而言,学习成本很低,一个星期妥妥地搞定。

第七阶段:热门技术框架

使用Javaweb进行企业级开发是完全可以的,但是开发效率比较低,所以对常用的逻辑操作进行封装就形成了框架,因此框架是企业开发的入门技能。

热门框架板块主流框架有如下几个:Spring框架,占据统治地位,其生态系统涉及各个方面解决方案;MyBatis框架,使用ORM思想对数据库进行操作。

该板块学习后,就可以进行真实企业级项目开发了,做出的项目也会更加符合企业要求。

第八阶段:分布式架构方案

随着互联网的发展,业务的复杂性和用户的体验性都需要提高,所以分布式架构出现了。该板块主要讲解的是分布式架构的相关解决方案。

主要包括如下模块:

Dubbo,高性能的 RPC 服务发布和调用框架;SpringBoot,简化Spring应用的初始搭建以及开发过程;Spring Cloud,一系列框架的有序集合,如服务发现注册、配置中心、负载均衡、断路器、数据监控等。

该板块的学习,可以具备大型互联网项目开发的必备技术和实际经验,为进入BATJ打下基础。

第九阶段:服务器中间件

中间件板块是大型互联网项目中必备的。服务中间件可以帮助各子模块间实现互相访问,消息共享或统一访问等功能。其包括远程服务框架中间件,例如阿里(Apache)的RPC框架Dubbo等;消息队列中间件,例如:阿里巴巴开源分布式中间件RocketMQ、高吞吐量消息发布和流处理服务Kafka等。

学习服务中间件是中级JavaEE工程师必要技术,也是JavaEE架构师必须精通的技术。

第十阶段:服务器技术

不管是使用原生Javaweb进行开发,还是使用框架进行开发,项目最终需要对外发布才能供全世界的人访问到,而服务器板块就可以解决这个问题,所以服务器是项目发布的必要技术。该板块包括虚拟化和web应用服务器的学习,主要包括如下几个模块:

Vmware,虚拟机软件;Linux,专门用于服务器的系统;Nginx,集群部署时反向代理服务器;Tomcat,项目发布时主要使用的服务器。

该板块学习后,我们就可以把开发好的项目发布到服务器中,然后供你的小伙伴远程访问了,超酷!

第十一阶段:容器技术

容器化技术是近两年超级火的一个专题,通过容器化技术可以对环境进行打包,方便移植,大大提高了开发效率。该板块包括容器化技术Docker和其平台管理引擎Kubernetes,其中,Docker 是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。

而Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。通过该板块的学习,你可以通过上述技术快速搭建环境,节省开发时间,提高开发效率。

第十二阶段:业务解决方案

虽然我们已经具备了基础技术和高阶技术,但是要想与企业开发相接轨,还需要对实际项目的业务解决方案进行探究。而此版块就是在实际业务场景中的真实解决方案集合,常用的业务解决方案有如下:搜索业务场景解决方案、日志收集与分析场景解决方案、工作流引擎场景解决方案、任务调度场景解决方案、地图开发平台场景解决方案、支付开放平台场景解决方案、图表可视化场景解决方案。

通过分析实际业务来学习这个解决方案技术集,完全可以达到中级甚至高级工程师水平。

到了最后的阶段,那么如果自学我们应该怎么样才能学习项目的开发呢?

一个比较有效的办法是,可以在现有项目的基础上做的更深入一些,比如在你按照视频完成了BBS之后,可以增加一些其他的功能,例如注册/积分/精华/搜索/贴图等等,在完成了Shopping之后,可以增加一些评论/排行/统计/存货等等方面的业务逻辑,尝试用自己的技术将他们作出来,这样既积攒了项目经验,又记住了知识点。

插句题外话,对于初学者来讲一些初级或者刚工作的同学,刚开始没有合适的书籍或者是资源,那么学习过程适非常痛苦的。我整理的部分书籍开源项目前已经有200+并持续更新,并且我也可以亲自指导学习Java,对于想入门的同学很有帮助:

技术github学习地址:https://github.com/codeGoogler/JavaCodeHub
程序员编程书籍:https://github.com/codeGoogler/

另外补充一下

首先作为程序员不得不知道的几个网站:

1、国内程序员博客csdn: https://blog.csdn.net/
2、掘金: https://juejin.cn
3、博客园:https://www.cnblogs.com/codeGoogler
4、开原中国:https://my.oschina.net https://my.oschina.net
5、简书:https://www.jianshu.com
6、慕课网: https://www.imooc.com
7、程序员头条:https://toutiao.io/
8、Github:https://github.com/codeGoogler
9、Stack Overflow:https://stackoverflow.com/questions
10、程序员知乎:https://www.zhihu.com
11、leetcode:力扣
12、w3school: https://www.w3school.com.cn/
技术github学习地址:https://github.com/codeGoogler/JavaCodeHub
程序员编程书籍:https://github.com/codeGoogler/

首先不要因为自己笨,毕竟一开始谁也不是那么聪明:自己是个很笨的人,适合学java吗?

自学的好处:

1、不需要花很多的钱,可能也不需要花钱

2、学习时间比较好控制,有过多的时间去学习

3、都是自己总结的东西,自己理解的比较深刻

自学的不足:

1、学习的不全面

2、遇到问题死扣半天浪费时间

3、需要很大的自控能力和持之以恒的心态

4、效率不太高

到了高级部分,以前老的技术没有必要再去学习了,把侧重点放到市场最流行的技术方面

比如: Spring boot, Springmvc Spring cloud,nettt, jetry, dobbo,zookeeper,k8s,Linux,jekins等等

一方面你需要看面试题,一些老的面试题没有必要再去看了,毕竟这个时代是要与时俱进的。这里推荐我之前总结的一篇面试题:

2021年中高级最全Java面试题,肝了!

这个面试题还是比较全的,中高级的,如果能把上面的面试题能回答个百分之八九十左右 ,基本上能拿个20k的Offer不是什么问题

多看面试题,多投,多面(投的时候,要注意侧重点,不要盲目的投,最好找熟悉的人介绍这样成功的机会比较大)

平常学习的时候需要注意方法和方式

第一点:可以尝试写博客,推荐csdn,简书,博客园,开原中国,慕课网等等

第二点:遇到需要用服务的地方,可以自己搭建虚拟机,想怎么玩就怎么玩

如何学习java?

培训班学java学到什么程度可以出去工作了?

最后给你的建议,经常关注我的大家都知道,也是我以前帖子里面经常提到的:

1、找对方式方法,避免浪费时间
2、列出学习规划,一步一步的去实现它
3、可以找一个师傅,给你听一些帮助
4、一定要有计划有目的的去学习
5、多动手,尽量不依赖视频教程
6、多思考和总结 ,做到举一反三

最后给大家的一个建议就是:

大家学习一定要找对圈子

@终端研发部

我是于小二一个北漂者,原创不易,如果你觉得我说的很中肯, 最后也别忘记点赞收藏哦。关注我,每天分享更多的职场经验和面试技巧~

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜