我是一名普通本科的文科学生。今天是我自学java的整整一年时间。2020年

我是一名普通本科文科学生。今天是我自学java的整整一年时间。

本人可以用人格担保,不是任何培训机构的托,不帮任何培训机构打广告。
至于为什么想转java跨度这么大的行业我就不多赘述,大家想必也不感兴趣。
现在是互联网的时代,选择和互联网相关的专业,我相信一定不会错。
其实学习java小伙伴们无非两大问题,第一我能学吗,第二我应该怎么学,今天就简单的和大家说说我从javase到spingcloud的学历历程和一些心得,不敢说是过来人的经验,但是可以为一些对java有追求的小伙伴们一些参考,大家砥砺前行。
第一点,也是小伙伴问的最多的问题。包括一些高考过后对专业选择特别迷茫,或者对现在行业失望想转行的朋友。我在这里总结了一句话,不要问能不能学,而要问你自己想不想学!!有一句话叫做有志者事竟成!!如果你有大专以上的学历,如果你对你的现状不满意,如果你能耐得住寂寞。如果。。你确定自己能坚持。那么我觉得你可以学。并且你可以一点不比科班生差
至于大专以下的朋友,本人还是建议你应该先想方设法的提升自己的学历,毕竟时代不同了,这个时代再也不是改革开放初期任何一个没文化的人都能当大老板了。不过每个时代都有每个时代的机会,这个时代没有那么多大起大落,更多的是脚踏实地。
说到这有些小伙伴又会问了,我听说编程需要数学基础啊,需要英语基础呀,需要学习数据结构呀,需要学习算法呀,这些我都不会那应该怎么办呢。我的经验是先上车后补票,常规的开发对英语要求并不高,对数学要求并不高,因为java开发初学并不设计高深的算法,你只要具备一定的理科思维就行。至于英语如果你英语好的话会有一定的先天优势,不过英语不好也不用灰心,因为编程涉及的词汇量并不大。大多时候只是一些java自带的关键字。数据结构和算法,java初级涉及的非常简单,无非是一些栈的结构,队列结构,树形结构一些简单的数据结构不需要任何基础,你只需要任意找个javase的视频,里面都会提及。不过学到后期肯定是需要去补这两门的,毕竟我相信大多数有勇气转行,或者有勇气选择编程的人都不仅仅只是想当一名普通程序员的。我们也想进大厂,也想当架构师。
学习之前我建议小伙伴们可以花一周的时间在B站上找个javase的视频。这里不做推荐,选择B站上点击量高的即可,没有必要花钱买视频,里面的课程已经讲的非常好了。在这一周里面你需要每天学习6小时以上,前面只是一些简单的环境搭建和设计一些非常简单的基础代码,这个时候既可以知道自己能否坚持,又能知道自己是否适合学习编程。如果第一周的课程都听不懂的话,我建议您可以选择其他行业,毕竟360行,行行出状元。没必要在一个自己非常懵逼的行业死磕。咱们做事得懂得效率和低成本试错。不过我相信在座的各位应该都是游刃有余。
下面进入第二块,我们应该怎么学呀。网上有非常多的学习路线,我给大家做一个简单的总结。这也是我通过个人的经验,总结的适合自己的学习路线,另外我觉得重点的地方我会用加粗字体。
大家仅做参考,主要还是要适合自己的才是最好的。在此声明,我以下所说的所有技术都能够在B站上找到教学视频,无需花钱,无需花钱,无需花钱。重要的事说三遍,有的小伙伴一来就买几百块的课程,认为这样是有决心的表现,其实恰恰相反,这种行为在我看来是一种对自己没有信心,并且幼稚的行为,真正有决心的人不需要通过这些行为来给自己动力。
如果是和我一样的零基础的同学,学习java。我建议从javase开始入手学习。网上有些人说从html.css入手,我个人觉得不太适合我。因为javase是基础中的基础,是需要反复学习,反复推敲,反复写代码,反复记概念的一个阶段。你不管学到哪个阶段,再回过头来看javase的内容都会有一种新的理解,而jase也是你恰恰最需要不断理解,不断刷新你认知的一个板块。所以我建议先学javase,并且应该反复看。我大概花了4个月的时间学习javase,学习方式包括看视频,敲代码,看书。
另外敲代码的时候一定不要老师讲一句自己敲一句,这样你会发现,你学习到的东西非常有限,正确的做法是听完老师的一个案例,自己背着敲一遍,敲的过程中,如果有遗忘再去看看老师是怎么做的。另外学习第一遍的时候不建议看书,应该书本不是给初学者看的,第一遍应该看视频,通俗易懂,咱们现在快速上车才是最重要的。等有了基础再慢慢啃书。
javase之后咱们还是需要学习一些前端的内容。本人学习了html,css,javascript前端的三大件,后面的前段框架都是再这些基础上建立的。其中css,js重点学习,不要以为java开发就不需要前端知识 ,你可以不是全栈工程师,但是你一定要有全栈工程师的目标,不然我不建议您转行,因为如果普普通通的做个码农,我觉得很多职业是比码农好的,码农意味着压力,这点你决定转岗时建议大家考虑清楚。
之后的话可以简单的学习一些前端的框架如bootstrap,jquery。方便你的css和js的操作,jquery重点学习
下面有了这些基础之后,大家就应该慢慢的了解一个重要概念数据库的概念,数据库的种类很多,有关系型的,非关系型的,数据库管理系统也非常多,在这里推荐mysql数据库管理系统。因为目前来说mysql的市场占有率最高。并且社区版开源免费,简单易上手。mysql大家可以多花一些时间,特别需要掌握DQL语句,主外键的理解,表的设计,索引的优化等等。数据库学会很简单,学好还是需要下功夫的。
接下来首先普及一个概念,咱们java工程师,其实准确的来讲个javaweb工程师,咱们需要开发web界面,所以必不可少的后端和前段要连接到一起,包括数据库也需要整合。那么jdbc,jsp,servlet就必不可少。jdbc了解原理,非常简单,jsp学习是为了后面学习其他引擎打基础。一般现在也不用jsp编写代码。 servlet重点学习
包括里面servlet的生命周期,三大组件,servlet和jsp和mysql联合使用。这个时候。就可以在github上找一个web项目练练手啦,从后端到页面完整的一个项目下来,你会感觉你的编码能力提升了,很多,毕竟咱们学习编程不就是为了编码吗。
web部分学习完成以后,你会发现jsp好像不太好用,这个时候可以学习一些前端框架,如果vue,layui。学会之后你会发现非常香,妈妈再也不用担心我一个一个拼ajax标签了,妈妈再也不用担心我没日没夜的用css设计样式了。
下面进去入java学习的高峰,下面所学的知道是目前企业的主流开发方式。也是用的最多的开发方式。java的常用后端框架。相信大家会觉得用servlet和jsp开发的话效率比较低,并且容易出错。那这些后端框架就是保证大家的开发效率的易开发性,目前较常用的开发方式,有ssh和ssm两种组合,不明白的小伙伴可自行百度,其中ssm更加主流,技术更加新,更加容易学习。所以推荐大家用ssm框架。
ssm里面包括mybatis,spring,springmvc三大核心框架,其中spring框架需要重点学习个人觉得,java有目前的成就,至少有一小半是来自于spring框架,spring框架可以整合非常多的框架,使java开发变得更加简单。效率更高。学习完ssm以后,可以继续学习springboot框架,springboot可以理解为ssm的再一次封装。
重点学习,学会了springboot可以使的开发效率再上一个台阶。这时候公司公司需要的一些常规技术差不多已经都掌握了,咱们就要考虑团队的协作性,因为java开发不可能一直是你一个人。所以git管理,maven框架,shiro框架等等就闪亮登场了。说到这里给大家补充一点。在这之前都建议大家用eclipse做开发,首先eclipse是目前一款非常完善的集成开发工具。很多老手都习惯用eclipse做开发。
但是由于企业的需要,我们还是有必要学习idea的开发。idea是一款更加智能,更加方便的开发工具,只不过不建议新手使用,因为里面的代码提示,以及插件导入,各种各样丰富的功能对于新手的成长不利。
由于jvm的跨平台性,所以大家需要学习linux操作系统,掌握一些简单的指令即可,后期再深入学习
学到这里大家的基础已经差不多啦,下面就是一些与性能相关的。也是更加高深的技术。等不了的小伙伴可以边做做github的项目边找工作啦。如果还想继续深造的小伙伴,建议大家学习redis,rabbit,websckort,springcloud,mycat,JPA。不是这些技术作为初学者不建议太深入的学习,重点应该放在前面。因为基础不牢固,学习这些无异于建造空中楼阁,只有基础扎实了。才能更好的理解分布式,微服务,高并发,数据库优化,缓存优化,分库分表才能更加的优雅,设计模式才能更加游刃有余,代码可读性才能更好。java不是一个急于求成的学科,而是大家需要长时间奋斗的学科。
另外送大家一句话,学无止境。当时记得我学完javase,看完第一遍书的时候,以为自己天下无敌,然后突然发现,我靠后面还有那么多。然后一直到上个月学完了springcloud.然后突然发现,我靠还有那多设计模式,那么多底层代码。那么多性能优化,那么多原理。也许有一天我会一切都变得游刃有余,但我觉得就算那时也远远不是我的终点。牛逼的人太多了,牛逼的技术太多了,优雅的代码太多了,我能学完吗,怎么可能别开玩笑了。我能做的就是身体和灵魂一直在路上。
另外大家记得劳逸结合,革命不是一天就能胜利,但是只要我们不放弃,当革命胜利的那天你会感激今天这么努力的自己。共勉

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值