学习了很多的知识之后,突然发现,对于同一种方法可以用不同的方式去实现,特别是对于非科班出身的我们来说,我们学习了方法和很多的新特性,这固然是好事,有一个较为完善的体系,但是对于学习的知识点,数组,容器,集合,链表,我们只是知道他们的使用方法,我们却没有关注他们的底层如何实现,有什么改进方法,为什么要用这些工具,虽然老师常常说,我们知道怎么用就行了,不用过分关注如何实现的,我只赞同一半,之前也看过很多大牛的教学的视频和书,知识点作为出去工作1-2年的程序员自然是滚瓜烂熟,可是如果只是这样,那我们只是成为了一个代码的搬运工,只会使用别人给我们的工具和接口,把太多的东西都交给了第三方或者JVM虚拟机去实现,对于程序不知道该如何优化,所以更多的关注,工具,接口,链表,数组,类,变量等等底层原理和实现方法,才是作为资深程序员应该干的事情。如果说程序的方法是一种工具,那么数据结构和算法就是程序的核心和灵魂,(借鉴自某个大牛的一句话)相信大家不仅仅是想做一个代码的搬运工,所以给大家推荐JVM虚拟机的高级特性和数据结构和算法这方面的课外扩展路径,同时我也会坚持着学习下去。 |
|