Java成长之路--一个非科班生的进阶之路 (2)

听到这里,我已难以按捺住激动的心情,眼角红润:“太好了,我终于有出路了!”这对当时压力巨大的我,就像一个救命稻草,因为即使我再次二战,就算考上,等毕业已经是二十八九岁了,才能开始上班挣钱,对于一个农村娃来说,家庭压力是巨大的,而且父母身体还不好。所以尽早能工作赚钱,是我当时一个迫切的期望。

于是,没多久,我就打包好生活用品之类的,来到了当时他们租的办公场地,在一个不起眼的写字楼里,办公面积不足80平,一开始工作人员只有我、表哥、堂哥和老吴四个人,我带着我大学赚的8万块钱一起入股了这个公司。

到这里,算是正式开始了我的技术生涯。由于有了一些C语言、Python基础和计算机专业知识,对于学习Java来说上手容易多了。

我如何学习Java的

老吴是一个尽职尽责的人,对于技术分享毫不吝啬,就是我的Java启蒙导师,刚去就给我定制了3个月的学习计划,从基础到框架再到Demo,三个月时间必须全部整会,这三个月时间他们做一些前期工作。到时候我们就要进入项目开发阶段,希望我不要拖后腿,有了目标,我学习起来格外卖力。

每天在公司都是在看视频,看文档学习。当时看的视频主要是来自于B站的某马的课程。一边看视频,一边做总结笔记,最后再自己练习。

Java基础这款大概花了10天左右,基础这块还是很重要的,一定要踏实学完。现在市面上的学习资料有很多,有视频有文档,讲解的通俗易容,小白也很容易能接受。这里的核心重点就是Java的数据结构,一定要吃透,理解其本质。

掌握了Java的基本语法,可以尝试去刷一刷算法题,加深对Java语法的熟悉度和数据结构的理解度。了解时间复杂度和空间复杂度。

具备了基础知识,接下来就是要对数据库、Java Web方面的学习,这里也是很重要的一个阶段,学会这里,你就可以通过Java去操作数据库了,可以写一些入门的信息管理系统了。数据库建议把Mysql作为主要学习方向即可,MySQL目前还是现在市面上主流的数据库。数据库这里,你需要掌握SQL语法,MySQL的基本原理,能够熟练编写SQL进行增删改查,能够通过JDBC操作数据库,Java Web方面,你需要对HTML、CSS、JS、Ajax有基本了解,能写出简单的页面,对于JSP、Servlet熟练掌握,对于XML、Filte、Listener有一定了解。

有了以上知识,可以尝试从网上找一些管理系统项目,自己写一写。学到这里,大概需要三周时间,掌握这些,恭喜你,已经入门级别了。上面两个阶段,如果想看一些书籍的话,推荐《Java基础入门》、《Java Web程序开发入门》、《Java Web程序开发进阶》、《Mysql数据库入门》,我当时就是买了这些书,对于小白来说,非常适合入门学习,为了避免广告嫌疑,自己可以在淘宝搜一搜相关的数据就行。

再往下一步就是各种框架、中间件的学习了,有以下知识点,你需要熟练掌握,框架类:Spring、Mybatis、SpringMVC这三个先学完,除了熟练使用这三个框架,还还需要具备,将三个框架集成的能力,尝试使用这三个框架搭建一个简单的web工程,另外你之前需要掌握maven、Git、SVN的使用。有了SSM框架的基础后,希望你继续学习Spring Boot框架知识,因为了解了Spring Boot之后,你会发现,你之前为了把SSM框架集成费了那多精力写的配置文件的问题,在SpringBoot中将不再有烦恼。

到这里你已经具备初级开发者的能力,可以参与开发一个单体项目。但是目前很多公司基本项目都是分布式的,所以至此如果你想在一家中大小公司能够胜任开发岗位,你还需要熟知分布式相关知识。如RPC框架、Spring Cloud相关、Redis、MQ相关、ElasticSearch、分库分表、分布式事务等等,这里面每一个都需要花费大量时间去琢磨,掌握这些你已经达到了一个中级开发的水平。

以上技术点,其实基本涵盖了市面上主流的技术栈,如果你还有余力,可以去了解下大数据相关知识及云原生相关。学到这里花了大概三个月的时间,全职的学习投入,时间不算短也不算长,期间也做过一些简单的Demo,但由于没有实战过,所以对很多知识都是停留在理论,没有深刻的认识。所以技术学习是一方面,一定得多动手。

如何进阶?

从中级开发向高级开发的进阶,一般至少需要两三年的沉淀,而且一般如果自己没有明确的方向,或者没有大佬的指引,靠自己摸索,是需要很长时间的经验积累和深度学习。下面说下高级开发应该具备怎么样的素质。

1、编码能力不用阐述,该会的都得会,熟练应用进攻式编程思想保证独立模块内部逻辑能够正确运行,异常外部依赖有感知,可处理。

2、熟悉的系统设计方法论,对分布式架构设计有初步的经验。

3、熟悉开源框架原理以及核心设计思想与关键实现细节。

4、可基于架构师设定的目标主导小型分布式系统详细设计。懂得CAP的权衡,并基于合理的判断做出技术选型与方案设计。

5、基于业务的核心痛点可给出技术领域内的应对策略。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpdpj.html