我从大二的时候开始接触编程,到现在也有五个年头了。这五年我走了不少弯路、踩了不少坑。至此收到阿里offer,也算是达到了我人生第一阶段的目标。我把我这五年踩过的坑与大家分享,希望大家能少走弯路、在技术的道路上越走越远。
回归正题,我觉得Java学习过程可以分为三个阶段:
第一阶段目标:打牢基础
===========
当你准备开始接触Java前,你先等一等,因为你要做的第一件事是要打牢计算机基础,而非直接学习语言。当我做的项目渐渐多起来的时候,我愈发地感觉到计算机基础对程序员的重要性。这就像习武之人练习马步一样、达芬奇周而复始地画鸡蛋一样。从短期来看,基本功的练习并不会立即出成效。也许这个过程会伴随着枯燥乏味,但我们不能鼠目寸光,从长远角度来看,一个程序员基本功的扎实程度决定了这个程序员技术之路能走多远、能走多久。
所以我觉得,如果时间允许的话,花上大半年甚至一年的时间学习基本功也不为过。学习任何一项技术都是一样,我们需要耐得住寂寞。基本功学习的过程必然会枯燥乏味,但它对我们未来的发展之路却影响深远。所以大家一定要耐得住寂寞,迈好、并且迈稳作为程序员的第一步。
计算机基础有五大课程:操作系统、计算机网络、数据结构、算法、数据库。你究竟需要花多少时间来学习这些基础课程,这取决于你目前的状态。如果你是计算机专业的学生,并且仍处于大一或大二,那就请你珍惜每次上课的机会吧。听老师讲一遍、自己再学一遍、有问题还可以和老师交流,这样的机会实在难得,且行且珍惜。
如果你并不是计算机专业的学生,那也好办,调动你的情报搜集能力,去周边名校的计算机专业蹭课吧。我的学校靠近南大,就有很多同学潜入南大蹭周志华大佬的机器学习。去了之后才发现,200人教室里人满为患,原来都是前来蹭课的同道中人啊。
如果你即将面临找工作,那么就更应该抓紧猛攻这些基础课程。现在的互联网公司都很看重学生的基础功底,因为学校里做的项目在面试官的眼中大多都只能算是『玩具』(PS:大佬除外),所以项目经验只能算是你的加分项,基础功底才是第一要义。
如果你想要学习Java的话,我给你分享一些Java的学习资料,你不用浪费时间到处搜了,从Java入门到精通的资料我都给你整理好了,这些资料都是我做Java这几年整理的Java最新学习路线,Java笔试题,Java面试题,Java零基础到精通视频课程,Java开发工具,Java练手项目,Java电子书,Java学习笔记,PDF文档教程,Java程序员面经,Java求职简历模板等,这些资料对你接下来学习Java一定会带来非常大的帮助,每个Java初学者都必备,请你进我的**Java技术qq交流群127522921**自行下载,所有资料都在群文件里,进去要跟大家多交流学习哦。
第二阶段目标:精通Java
=============
作为一名Java程序员,对Java这门吃饭的语言必须要达到精通的程度。因为工作之后,每天接触最多的就是Java,其次才可能是你的女朋友(当然前提是得有女朋友,逃)。所谓『精通』是指你不仅得了解如何使用Java,还得明白它背后的原理,也就是得『知其然,知其所以然』。比如,我们都知道使用关键字new可以创建一个对象,但这远远不够,我们还得知道对象创建的过程是怎样的?对象创建完成后它存储在哪儿?什么时候会被GC回收?也只在有了解了它背后的原理后,我们才能写出更加高质量、高性能的代码。
当然,学习Java也不是一步登天,可以把他分成两个阶段去学习。第一个阶段先把Java用起来,也就是只需要做到『知其然』即可。当熟悉了Java的所有语法、API之后,就可以拿几个项目练练手。项目能帮助你加深对基础语法、对API的理解。当你拥有了一些项目经验,对Java也有了自己的见解,接下来就可以深入Java背后的原理了,也就是开始『知其所以然』的过程。你需要学习JVM,了解Java的内存模型、内存的管理、垃圾回收、类加载机制;你需要学习并发编程,了解如何保证线程安全的前提下,提升程序的处理速度;你也需要开始尝试阅读JDK源码,了解Java容器用了哪些数据结构,在什么样的业务场景下选择什么样的数据结构。PS:Java的整个体系结构请见上图。
技术学习总结
学习技术一定要制定一个明确的学习路线,这样才能高效的学习,不必要做无效功,既浪费时间又得不到什么效率,大家不妨按照我这份路线来学习。
最后面试分享
大家不妨直接在牛客和力扣上多刷题,同时,我也拿了一些面试题跟大家分享,也是从一些大佬那里获得的,大家不妨多刷刷题,为金九银十冲一波!
-1sxmCZsN-1714792349981)]
[外链图片转存中…(img-qHGvavfK-1714792349981)]