大学生活
大一
大一上册学校教的C语言,那时候自己什么都不懂,就懂每天写代码,听着学长说代码多写就好了,然后自己就努力地多写,然后就感觉很难。然后自己也会去实现一些简单的C语言的例子,比如控制电脑关机,自己去做一些简单的小游戏,比如贪吃蛇等等。仍然保持着强烈的学习欲望和求职欲望,不断学习才知道自己是有多么菜!!!
下册学的数据结构,然后中午不睡觉,用C把大部分的数据结构和一些算法都实现了一遍,比如链表,栈,队列,树,图。至今令人非常感人….依然很菜很菜。如下图:
大一寒假开始接触前端,但是感觉自己学的很菜,也没懂原因,可能有好的资源能够帮你更好地入门,有了好的资源能够帮你更加快速地建立知识体系,能够快速学习!!!后来我找到黑马的2018版的资源,那时候的视频还是很好的。我也自学完html,css,js,jquery,bootstrap,canvas,h5,css3,还有就是移动适配,自己经常去实现一些简单的小例子,比如轮播图,比如tab栏切换,总之大部分的效果都可以用js去手写出来,自己也找到了一个很好的网站,自己去模仿里面的一些资源,也自己去模仿一些网站的主页。比如自己去模仿京东的首页,还有自己去模仿学校的官网。自己去学这些就费了很长的时间。
前端的东西真的很多,比如一个CSS里面就真的好多东西,什么还有PS的简单使用,emmmm太多了,截个图。
真的是多的太恶心了,自己又要去调样式,改参数,这个本身的工作不难但是比较耗时,需要的是耐心。
给大家推荐两个网站:
https://www.php.cn/ 这是php中文网,有很多工具和手册。
https://www.jq22.com/jqueryUI-1-jq 这是前端效果,比如一些好看的效果。
通过老师的指导,我学会了在本地搭建网站,用的还是php2016工具箱,玩过的大家都知道。
这些学完了我开始接触java,一开始看的还是高琪的java300集,emmmm,感觉效果不是很好啊。
大二
大二的时候开始学java,我在国庆期间就把java撸完了,几乎都没休息,7天嘛,先过一遍,看的还是尚硅谷的宋红康老师,感觉真的很细啊,讲的超级好,建议小白可以看这个入门,然后自己去补充前端剩余的东西,比如node,git,ajax,webpack,vue,uniapp,小程序等等。补充的好累啊,因为东西都是太多了。
大二开始刷牛客,基本上有的一天有的一天不刷,基本上处于这个状态。大体上就是这样的。
终于前端可以收线了,学前端太累了,倒不是它复杂,而是真的去考验你的耐心。
我去,我忘了说我的java路线,国庆看完之后嘛,就我们的课设是java做一个swing应用,自己当时去努力地实现了一个音乐播放器,但是写出来的好丑,基本上是swing,但是播放器的功能,什么添加歌曲,删除歌曲,暂停播放循环播放都自己去实现了。
大二寒假,我开始自学python,先是python语法,以及网络编程,后来就是python常用的一些库,还有就是Python的爬虫,具体的也就是如下图。
大二下册,开始学习javaweb,计算机网络,数据库,计算机组成与原理,计算机网络看的还是王道的视频,自己也看了很多,javaweb看的是尚硅谷老师的视频,其实也是很艰难,数据库乱码,这个真的好烦,真的超级难受,自己去排错排一天,所以现在看见一般性的问题都不会卡住,因为只要你去定位错误,去思考,去debug大体上还是可以解决bug的。这一阶段进步的还是比较快的。
大二暑假正是学习的好机会,趁着他们不学习,我自己把有关于java基础的东西都自学完了。这个阶段进步确实非常大。大体上是哪些东西呢?
这些都看完,并且自己去做完,还是感觉不错的,牛客也在不断地刷题当中,自己也去做了一个基于netty的类似于微信聊天的项目。
大三
大三我们开始学了大数据的一些相关概念,比如hadoop,spark,hbase等等,自己也去学了很多这方面的东西,但是这些东西也自己去搭建集群,自己去实现,所谓理论实操小总结嘛,还是比较好的。因为大三维护了自己的绩点所以学其他的很少很少,唯一的是学操作系统,自己去实现操作系统的调度算法,还是不错的。自己去写linux的命令,去配置linux的环境,什么网卡,什么JAVA环境变量emmmm,反正配置吐了,写了好多好多。
大三寒假我开始做了一个基于node和vue的音乐播放网站,自己去充实了很多,也做了一个基于dubbo和ssm的soa项目,自己也去明白了项目开发的一些具体细节,给我的感受很深。
大三下册,我们开始学一些挖掘挖掘的算法,还有就是自己去实现一些机器学习的算法,自己也去看一些难一点的视频,比如宋老师的300多集的jvm,自己去做了很多笔记,学了很长时间,这个阶段就开始学一些难的东西。
比如spring源码,自己去手写ioc和aop,去背面试题,去理解里面的一些设计思想,自己去看一些源码,我顺便总结了一个面试常问的spring问题。BeanFactory 和 ApplicationContext有什么区别?等等
有需要的自取;https://lvxueyang.vip/post/489ef953.html
还有就是spring mvc,那么请问你会手写一个mvc其实一个优秀的框架有很多优秀的设计思想,需要我们去了解去体会,所谓去实现无非就是学习别人的思想等等。
还有mybatis 那么你能手写一个orm框架吗?框架需要注意什么,mybatis的缓存等等!!!
还有springboot ,jvm的底层,juc的相关知识点,还有redis,mysql的底层等等。
自己也去画一些图。
太多了就去看我博客
redis底层你懂不懂,mysql底层你懂不懂,我学到了什么地步,就是mysql的底层,甚至每一个文件是干什么,它的文件组成,好处是什么,想看的就可以看一下我的博客。
还有就是设计模式,你了解设计模式,自己去简单地去实现每一种设计模式等等。
当然还有计算机网络,我计算机网络总结了5w字,你会不会,很多啊,还有操作系统,还有linux底层,那么linux去如何排查,去调优,还有tomcat底层,启动流程等等,nginx的限流算法等等好多啊。
还有就是
消息队列:rb,rocketmq,kafka你了解它们的机制吗,它们的底层!!!当然这些我都学完了,要会用,要多学等等。
分布式:netty dubbo zookeeper spring cloud spring cloud alibaba你能把他们的问题都回答出来吗,你能吊打面试官吗?
当然还有最重要的算法,我刷了460道力扣,那么还差多少呢?你能看见题秒杀吗?差的很多的,当然我算法还是看了恋上数据结构与算法,自己去实现,感觉受益非常大。
学无止境,继续前进,未来可期,不要停留下学习的脚步!!!
你以为这些就完了吗?
大四
牛客刷题到了700,力扣460道。
看书看了290本,没有完成目标400本的要求。
体重需要减肥,这是一个值得思想的地方
我竟然保研了!!!
总结
自己的软实力不行,需要提升自己的软实力,多读书,多交流,多学习,很多东西都是缺乏尝试,很多东西你都提前放弃了,这是非常不好的,不利于自己的发展,还有就是犹豫不决,对于目标顾虑的太多反而影响了自身的发展不利于自己的进步,这是非常不好的,总而言之,自己有很多缺点需要不断地去进步去改正,人总是要深刻反思自己,自己有哪些缺点,要反复地去认识自己,要致知于行,要多听多做多看,敢于尝试,这样才能发展好自己。
这就是java后端的学习路线。