冷暖自知
学习规划(2022.3.10)
你这个,相当于零基础来学了,接下来在学习的过程中,得多打码,打好基础功,总的学习方向是学习 Java=》Javaweb=>SSM=>Springboot=>项目=〉刷面试题,安排如下:
1、先学 Java基础,多多打码,把基础打扎实。
2、之后学 Java 进阶:Java进阶,里面的集合,String,StringBuilder,多线程,单例模式等都是面试高频考点,然后里面的实战内容,可做可不做了,另外集合部分,源码分析那些,有点难,如果吃力的话,先硬着头皮看过去也行,后面面试时得复习。
3、学完就直接学做项目相关的吧,按照课程大纲的 第四,五,六,七 来学,下面强调下各个内容的要点:
第四阶段::javaweb 的项目可以不用做,主要就是入门下 html+js+css,如果你懂,也可以跳过,还是就是学习下 cookie/session/serlvet 这几个重点的内容。
第五阶段:docker,nginx和消息队列先不写,项目需要用到再学
第六、七阶段:ssm 项目其实可以不用做(感兴趣想做也行),也可以直接做第七阶段的两个springboot 的项目。
之后就是复习我给的面试题,然后投递简历,看你学习速度了,这个是大致安排,学习过程有什么疑惑,再微信私聊我讨论哈。
然后每周来更新下学习进度,也可以星球那里打卡哦。
每周学习跟进
第一周
1.看完计算机组成原理和计算机网络视频,计组只是大概了解了下,cpu执行指令的过程,二进制数,原码、补码、反码,浮点数怎么存储的,为什么会丢失精度,计网把常见的协议都学习了下。
2.Tcp协议三次握手可以避免失效请求在连接,为什么第二次的时候不拒绝连接而要等到第三次呢?
3.学的过程中可以举一些生活中的例子来帮组理解,tcp可靠,udp不可靠,手机打电话,必须等到对方接通后,我们才能把信息传递给他,发短信,对方不一定收得到信息,信息可能会丢失。
第二周
1.学习了mysql基本语法和计算机系统视频,表连接查询,以前也接触过mysql所以学起来有点快,把牛客网mysql50题做了基本上可以写出来,就是关键字要靠提示,对进程线程有了更深的理解,还有锁。
2.对银行家算法避免死锁还有一些不太理解。
第三周
1.把数据结构体系课程看完了,除了视频中红黑树,其它数据结构和排序算法都自己实现了一遍,对数据结构理解加深了很多,以前只知道用list,映射就用map,不会选择合适的数据结构,为什么使用,crud的时间复杂度就根本就不知道。
2.红黑树发生自平衡次数为什么比avl少。
3.把红黑树看成23树,就很自然而然的可以得出红黑树的性质,把红节点跟它的父节点看成一个整体,添加或删除节点,把可能的情况画一画,再通过左旋转右旋转,颜色反转就可以保持这部分节点平衡。
ps:波波老师的数据结构和算法讲的真不错,有时间的话我觉得还是看看,收获还是挺大的。
第四周
1.看了算法面试专题视频,学完了前7小节,后三节还没看,把视频中的例子和练习都写了下,学到了很多解题方法,第一次知道了循环不变量,循环不变量定义好了,变量的含义都很清晰了,对于一些变量的初始值很容易就写出来(以前有点靠记忆),对于不能用直觉想到的,还是要借助别人的思路,不能自己单独写出来。
2.对递归中的局部变量的含义还不是很理解。
3.链表问题舍得用指针,画出来,执行完一步又是怎么变化的,不容易绕晕自己,写递归明确函数的语义,把递归写出来,看第二次返回啥,把第二次结果组装成第一次的结果,不知道思路的时候可以先暴力,然后再分析暴力过程中做了哪些不必要的操作,优化它。
第五周
1.把mysql45讲看完了,事务隔离级别的实现通过视图,每个事务操作一次数据,该数据都有历史版本。索引的实现方式,数组、哈希表,树,各自的优缺点,B+树没学过,暂时是通过二叉树理解的。
2.Mysql加锁的规则还不是很理解,锁的实现。
3.把pdf的例子都自己跑一遍,先可以自己分析下是什么结果。
第六周
1.把新的jvm课程看完了,感觉还只是了解了下jvm,对类的加载连接初始化了流程了解了下,内存的分配,堆的分代,啥时候执行gc,不同gc的执行流程。
2.对运行时数据区中的方法区认识还有点模糊。
下周开始java技术栈的学习,再把算法后三节看完再把例子和练习做一做,之后每天一二道算法题,java基础就不看了,进阶中的重点复习一下。
第二阶段学习规划(2022.6.23)
你先把 Java 技术栈走一下,做两个项目,之后就一边复习一边试着去面试里,就学习 javaweb=>ssm=>springboot这些,就看 所有课程大纲入口 的第四,五,六,八这几个,下面做一些详细说明:
(1)、第四阶段Javaweb的项目可做可不做,看你兴趣,主要简单入门下前端 + 了解 cookie 和 session 这些。
(2)、第七阶段的 SSM 项目可以做一下。
(3)、第八阶段我们入门 springboot,然后就做一下那个 SpringBoot电商系统 + 论坛社区项目,之后做一下那个 springcloud 的项目,就是把 SpringBoot电商系统 重构成 springcloud 了。
每周学习跟进(一个月连续没打卡会被移除目录)
第六周(6.27-7.3)
1.java进阶重点内容复习了下,学到了以前没有注意到的一些细节,入门了html,css,js,cookie,jsp,session,servlet的工作原理生命周期,看完视频对一些不理解的地方有时候就找些文章看看,可能会有不一样的收获。
2,tomcat对每一个请求的处理应该用的是多路io复用技术吧(epoll),对每一个请求都开一个线程这谁顶得住。
第七周(7.4-7.10)
1.学了json和过滤器,把第四阶段的web项目做了,整体还好,明白了整体逻辑(我怎么感觉就是crud),前段js和html还好说,css就一言难尽了,后端出逻辑错误或者异常基本debug一下就定位到了,前端出错浏览器控制台也没信息排查就有点难受了。
2.文章7篇。
第八周(7.18-7.24)
1.把第五阶段入门看完了
文章10,后面摸鱼去了
第九周(8.1-8.15)
回家了一趟,完了半个月,