CSDN 的同学们,大家好,我是二哥呀!
学 Java 其实不难,重要的是找到好的学习资料和学习方法,然后付诸实践。
这里给大家分享一些我的经验心得,希望能给大家一些启发和帮助。
一开始不要啃那些经典书!切记切记切记!
说出来不怕你笑话,我上大学的时候,老师安排的一本教材是《Java 编程思想》,足足 880 页,拿到手的时候就像捧一本圣经,以为从此自己就要走上一条幸福的康庄大道。可好景不长,我发现自己根本就看不懂,一心想着要转专业,幸好名额有限,没转走!
这本书现在还摆在我的桌子边,书角已经破损了!
当然了,这本书之所以这么破,是因为我的确在后来又重看了好几遍,确实如获至宝,但一开始,绝不适合作为入门书。
《Java 核心技术卷》这本书我也不推荐,因为里面的内容过于琐碎,该说的不该说的,里面都有,读起来就没有多大劲,如果没耐心地话可能就对学习 Java 失去了兴趣。
大家先看看我整理的这份 GitHub 星标 115k+的 Java 教程,超级硬核,里面涵盖了 Java 所有的知识点,包括 Java 语法、Java 集合框架、Java IO、Java 并发编程和 Java 虚拟机,内容不多,只讲重点:点击下载
来看一下目录吧!
1)如果你是初学者,第一次接触 Java
我的建议是,不要去钻细节,先让自己对 Java 的整个知识体系有一个鸟瞰的全局图,让自己知道,“啊,原来学习 Java 最终是要学这些核心知识点的。”
这就够了!
2)如果你是初学者, 已经学过一段时间 Java 了
OK,你可以细细致致把这份教程给过一遍,不要放过任何一个知识点,有不懂的地方,就去百度、就去谷歌,直到自己彻底搞懂为止,如果还不懂,没关系,你可以私信我,或者加入学习小组,和其他同学一起学习。
3)如果你不是初学者,有很多 Java 的学习经验了
那么就可以把这份教程当做是手边的一份温习资料,尤其是当你打算面试跳槽的时候,就可以重新读一遍了。里面这些知识点基本上是面试的常客,我列举一些,你自检一下:
new Integer(123) 与 Integer.valueOf(123) 的区别在于什么?
String 不可变的好处是什么?
请说一说你对字符串常量池的理解。
了解深拷贝与浅拷贝的区别吗?
说说重写与重载的区别吧。
请说说Fail-Fast机制吧?
研究过 ArrayList 和 LinkedList 的源码吗?
说说你对 HashMap 的理解。
synchronized 了解吗?
ReentrantLock 了解吗?
AQS 了解吗?
运行时数据区域可以划分为几块呢?
垃圾收集算法了解吗?
垃圾收集器有哪几种呢?
类加载机制了解吗?
等等
这些是我印象中比较深刻的一些,你能答上来哪些题呢?
最后的心声
为了整理这份 PDF,我可是费了老大劲,希望大家能够珍惜这份劳动成果。
GitHub 星标 115k+的 Java 教程,超级硬核,点击可 download
我是二哥呀,希望这份教程能够帮助到你笔芯