小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
Java基础
做java开发,java基础是最需要下功夫的一项。在校招时最注重的就是基础,拿不出像样的项目没关系,但是基础万万不可不牢固。
- 想要基础扎实,看书沉淀是必须的,有一些编程基础的同学推荐阅读 《JAVA核心技术 卷1》 ,可以跳过图形程序设计、事件处理、Swing、applet以及部分日志章节,如果比较吃力也可以先跳过多线程章节。
- 看完一本书,一定要多加练习去理解和吸收。科班的同学可以用java写实验,写的同时一定要多多运用学到的特性。练习阶段各种设计模式套上去用,不要怕笨重,即使是滥用特性和设计模式也是一种有效的学习。
- 有了一定量的编程经验后,可以再回过头将 《JAVA核心技术 卷1》 速读一遍,查漏补缺。同时我们开始扩宽我们的知识领域,开始进行JavaWeb的学习
JavaWeb基础
JavaWeb是一系列技术的综合,也是大多数Java学习者日后的技术方向。及早的了解JavaWeb也有利于更深层面理解,Java在完整的应用中,是如何与各个模块交互并发挥作用的。
基础篇包括Servlet和JSP的学习、tomcat的使用、理解MVC分层模式、mysql的基础用法及JDBC、了解http协议。
- 这部分的学习,我是通过 《Head First Servlets and JSP》 。这本书轻松幽默读起来很愉快,但是实在是很厚,而且部分技术已经过时,有时间的同学可以选读。
- 可以看到这部分的内容是很杂且多的,此阶段注重广度的基础学习,日后慢慢深入
- 重点要理解Servlet的原理以及生命周期。在完成这一部分的学习后,可以简单的做个小网站,包括注册登陆,增删改查等功能。如果想继续折腾,可以考虑将项目部署在阿里云或者腾讯云上,一个完整可供他人访问的项目,所获得的成就感是非凡的。
Java进阶
Java始终是我们JavaWeb开发体系中最核心的一环,唯有不停地探索,才能把握住方向和机遇。
- 在做完一个简单完整的JavaWeb项目后,我们对代码的认知和理解会提高不少,这对接下来的深入学习打下基础。Java圣经: 《JAVA编程思想》 值得仔细品读,作者的功力十分深厚,即使很多内容还无法理解,但每次读完一定会有所收获。同样建议跳过“图形化用户界面“章节,这是一本伴随我们技术成长的好书,买一本放在旁边,摸着就有底气。
- 读完编程思想,建议写一个有一定复杂度和代码量的后台项目。可以是一个http服务器,一个大型聊天室, 这一部分要强化我们的Java基础,同时也为日后的招聘积累项目经验。
- 做完项目我们又该看书沉淀技术了,此时我推荐 《Effective Java》 ,这本书并不厚但是干货十足,作者讲述Java的最佳实践和经验规则。它能帮助我们写出清晰、健壮、高效的代码,同时这本书涵盖了非常多的面试考点,一定要牢记于心!
- 最后还要深入学习Java多线程技术以及Java虚拟机原理,这两部分难度较大,理解起来比较抽象。也许日后工作中,我们很少遇到并发问题,不一定有机会进行JVM调优,但是这部分一定要认真对待,越理解底层写出的代码越高效,查bug时越准确,另外更重要的是面试常考!推荐两本书 《Java并发编程的艺术》《深入理解Java虚拟机》, 以及并发编程网:并发编程网 - ifeve.com 重点掌握java内存模型,各种锁的原理及应用,JVM GC垃圾回收原理。