3个月Java速成记,一文记录Java学习过程

博主分享了3个月内从零基础到掌握Java核心技术的学习历程,包括JAVA基础知识、设计模式、并发编程、Spring、MyBatis、Spring Boot和Maven等。强调了设计模式的应用和并发编程的重要性,推荐结合实际项目学习,并提供了相关学习资源和时间安排建议。

​3个月时间掌握Java基础知识,分享楼主的学习心路历程。

往期精选(欢迎转发~~)

前言

我是4月25日开始确定要好好学习Java,上周6月26日完成Java的第二阶段学习,总共学习Java共计64天,加上之前对基本知识的30天学习,共计约90天,算下来刚好3个月。下面简单记录一下我的Java学习轨迹,如何从Java小白,到基本掌握Java技术栈的常用基础知识。

温馨提示:本文中的所有文章,都可以进入我的公众号“楼仔进阶之路”获取。

JAVA基础知识

我是于今年3月,将JAVA的基础知识整体初步学习了一遍,主要是结合书籍《JAVA疯狂讲义》,包括Java的基本语法、集合、泛型、并发编程等基本知识。

因为项目需要,也简单学习了Spring、Spring Boost、Maven和Mybatis,只是很粗略的学习那种,比如说@Service注解是干啥用的,Mybatis是怎么操作DB等(其实主要是因为看不懂项目代码,用来扫盲用的。)

学习时间:3月1日 - 3月30日

设计模式

这个其实和Java没有太大关系,但是我还是把它列进来,因为在开发Java的过程中,不可避免会用到各种设计模式,所以希望尽快把这块的坑填完。

学习时间:4月25日 - 5月8日

学习内容:

  • 《设计模式系列1 - 模板模式&策略模式》

  • 《设计模式系列2 - 工厂模式》

  • 《设计模式系列3 - builder模式》

  • 《设计模式系列4 - 组合模式》

  • 《设计模式系列5 - 单例模式》

  • 《设计模式系列6 - 代理模式》

  • 《设计模式系列7 - 装饰器模式》

  • 《设计模式系列8 - 门面模式》

学习资料:菜鸟教程

学习心得:

  • 不建议大家拿一本书,从第一个设计模式看到最后一个设计模式,如果这样的话,我保证你记住的,永远是最后一个设计模式。

  • 设计模式需要结合实际的项目,才能体会的更加深刻;

  • 如果当下没有实际的项目,可以回顾一下之前做的项目,然后再结合某个具体的设计模式进行学习;

  • 设计模式不建议一次性学成,我是先结合当下和之前的项目,通过前6篇文章,将自己遇到的设计模式进行总结,最后两篇是项目中遇到该设计模式,然后才去学习。

总结:建议大家先结合之前的项目,对自己用到的设计模式进行总结学习,然后后面项目遇到相关设计模式,再进行该设计模式的学习,这样才能学以致用。千万不要抱着一本书,或网上的某个教程,去啃设计模式!!!

------- 真正的系统学习,是从下面开始的!!!-------

------- 真正的系统学习,是从下面开始的!!!-------

------- 真正的系统学习,是从下面开始的!!!-------

JAVA并发编程

这个是JAVA语法中非常核心的知识,学习这个的前提,是大家先掌握JAVA的基本语法,建议大家可以花一周时间快速看完一本讲解JAVA基础语法的书籍。

学习时间:5月9日 - 5月24日

学习内容:

  • 《Java并发编程系列1 - 基础知识》

  • 《Java并发编程系列2 - volatile》

  • 《Java并发编程系列3 - synchronized》

  • 《Java并发编程系列4 - final》

  • 《Java并发编程系列5 - 对象的共享》

  • 《Java并发编程系列6 - 同步工具类》

  • 《Java并发编程系列7 - 线程池基本知识》

  • 《Java并发编程系列8 - 多线程实战》

  • 《Java并发编程系列9 - 锁》

学习资料:

  • volatile:https://blog.csdn.net/u012723673/article/details/80682208

  • 并发编程资料:https://redspider.gitbook.io/concurrent/di-yi-pian-ji-chu-pian/2

  • 内存模型(一般般):https://blog.csdn.net/javazejian/article/details/72772461

  • 陈晓明:http://ifeve.com/java-memory-model-0/

  • spring非常好的文章:https://www.cnblogs.com/szlbm/p/5512931.html

  • 栅栏:https://blog.csdn.net/qq_38293564/article/details/80558157

  • 线程同步工具:https://blog.csdn.net/yjc0403/article/details/84912279

  • 线程池:https://blog.csdn.net/mu_wind/article/details/113806680

学习心得:

  • 学习周期会比较长,我是分2个阶段学习,先学习内存模型部分,再学习并发编程部分;

  • 最好结合书籍《java并发编程实战》来看,可以让你对并发编程有个整体的认识,其实这本书只是补充,对于你需要掌握的并发编程相关知识,里面的知识点可能只覆盖30%-40%;

  • 一定要动手去写Demo,不要只看不写,否则很容易忘记;

  • 最好是每看完一部分内容,能从你的项目中,找到类似的代码进行学习,这个印象更加深刻。(我最后是看完了我同事写的一个并发编程框架,后续如果让我自己写,我应该也能写出来)

Spring

这个不用我多说吧,我刚开始学习Java,感觉最头疼的就是这个Spring,里面一堆注解,看得我头都大了,难怪Java的学习成本比较高。

学习时间:5月25日 - 6月5日

学习内容:

  • 【Spring基础系列1】基于注解装配Bean

  • 【Spring基础系列2】很全的Sping IOC基础知识

  • 【Spring基础系列3】Spring常用的注解

  • 【Spring基础系列4】注解@Transactional

  • 【Spring基础系列5】Spring AOP基础(上)

  • 【Spring基础系列5】Spring AOP基础(下)

  • 【Java基础系列】Lombok常用注解

学习资料:

  • 菜鸟教程

  • 原理篇:https://zhuanlan.zhihu.com/p/29344811

  • 很详细的原理篇:https://www.jianshu.com/p/b60c30fdcc65

  • Configuration注解:https://www.cnblogs.com/cxuanBlog/p/11117039.html#%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5%EF%BC%9Abean-%E5%92%8C-configuration

  • transactional:https://blog.csdn.net/jiangyu1013/article/details/84397366

  • https://blog.csdn.net/mingyundezuoan/article/details/79017659

  • https://www.cnblogs.com/clwydjgs/p/9317849.html

  • Spring IOC知识点一网打尽:https://juejin.cn/post/6844903609067372558#heading-30

学习心得:

  • 先学习注解,将项目中遇到的常用注解全部给扫盲掉,除了Sprin g的注解,还有Lombok常用注解;

  • 主要掌握IOC和AOP知识,所以这个可以分2块来学习;

  • 一定要自己写Demo跑一下,否则就是白学了!!!

  • 学习过程中,比如学习某个注解,或者AOP,看完基础知识后,找项目中用到的地方,看使用姿势。

MyBatis

如果用到MySQL,或者其它DB,这个你是跑不掉的,哎,Java的框架,就是TM的多。

学习时间:6月6日 - 6月12日

学习内容:

  • 【MyBatis系列1】基础知识(上)

  • 【MyBatis系列1】基础知识(下)

  • 【MyBatis系列2】MyBatis与Spring整合

  • 【MyBatis系列3】MyBatis SQL执行流程

  • 【MyBatis系列4】MyBatis与Spring Boost整合

学习资料:主要看的菜鸟教程

学习心得:

  • 这个光看菜鸟教程,其实只能学到一些皮毛,最好是结合菜鸟教程,然后到网络去完善你的知识,比如掘金、知乎等;

  • 八股文部分还是需要掌握,可以让你对MyBatis更了解;

  • 不建议大家上来就看源码,可以稍微初步过一下别人写的博客;

  • 一定要写Demo!一定要写Demo!一定要写Demo!重要的事情说三遍!自己去集成MyBatis和Spring和后面的Spring Boost。

  • 最好的学习方式,当然还是项目啦,我学完基础部分,就开始去趴项目代码了,只要是MyBatis的部分,我都不放过。(小米中台有个地方用到MyBatis,涉及到各种接口的高深操作,我看了一天都没看懂,后面技能提高了,再回过头去看)

Spring Boost

又是TM的Java框架,以后谁再告诉我转技术栈影响不大,我要和他拼命。

学习时间:6月13日 - 6月20日

学习内容:

  • 【Spring Boot系列1】一文带你了解Spring Boot(上)

  • 【Spring Boot系列1】一文带你了解Spring Boot(下)

  • 【Spring Boot系列2】还在为配置文件注解头疼?一文带你全部搞定!

  • 【Spring Boot系列3】自动化配置详解

  • 【MyBatis系列4】MyBatis与Spring Boost整合

学习资料:

  • 教程:http://c.biancheng.net/spring_boot/

  • 一篇搞定:https://juejin.cn/post/6844904024286691335#comment

  • 非常好的一篇搞定的文章:https://juejin.cn/post/6844903984780541959#heading-2

  • 面试题:https://juejin.cn/post/6844904125709156359

  • 原理分析:https://juejin.cn/post/6854573218498347022

  • 很好的原理分析文章:https://blog.csdn.net/mnicsm/article/details/93893669

  • 非常全的流程解析:https://blog.csdn.net/hfmbook/article/details/100507083?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

学习心得:

  • 先掌握框架的八股文知识,主要是框架的加载流程;

  • 实战部分主要掌握Spring Boost的配置部分,然后还有里面常用的注解;

  • 还是需要自己写Demo,MyBatis与Spring Boost整合,已经给你安排上了;

  • 这个就是更抽象版的框架,建议只先掌握上述知识,后面项目中遇到相关知识,再深入学习。

Maven

这块内容不多,主要是项目管理部分,一周时间绝对够。

学习时间:6月20日 - 6月26日

  • 菜鸟教程

  • 教程:https://www.runoob.com/maven/maven-tutorial.html

  • 一篇搞定:https://juejin.cn/post/6844904021392654350#heading-18

  • 入门教程:https://juejin.cn/post/6844903543711907848#heading-16

  • 水文一篇:https://juejin.cn/post/6844903839435341832#heading-2

学习心得:

  • 先掌握基础知识部分,菜鸟教程足矣;

  • 找几个Java项目,看看pom.xml是怎么写的,然后自己再去研究一下,基本就OK了;

  • 后面还是跟着项目成长。

后续学习

  • 微服务框架:Dubbo + SpringCloud

  • WEB编程:SpringMVC + Servlert/JSP + Tomcat

  • 进阶学习:《JAVA编程思想》 + 《深入理解Java虚拟机》

学完这些,应该才能进入Java的中级水平,下半年估计需要继续在Java中卷了,不过应该不会按照目前的这种学习强度,更多的时间会投入到公司的项目中,虽然目前又回到一线,但还是希望能在公司有更长远的发展,光靠这些其实远远不够,以后还得继续往管理发展。

学习时间安排

这个非常重要,很多人给自己列了一堆计划,就是很难实时,总结一句话就是“代码都写不完,天天改bug,哪有时间学习”,可以参考《发一篇水文,对自己的学习做一个总结》,如果你也能每天6点起床,每天坚持学习2个小时左右,无论哪门技术,相信你也能速成。

后记

距离上一篇水文《发一篇水文,对自己的学习做一个总结》,刚好一个月时间,这个算是第二篇水文吧,等我把后续需要学习的知识掌握的差不多了,就是我的第三篇水文了。

这周学习动力有些不足,一方面是因为自己的一些私事,另一方面是在思考一些问题,希望这个周末能调整好心态,开启新一轮的学习。

欢迎大家多多点赞,更多文章,请关注微信公众号“楼仔进阶之路”,点关注,不迷路~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值