作者:一粒沙子

个人愚见,在你有Java基础的前提下,首先推一波《阿里巴巴Java开发手册终极版》,每一条简洁的规约都有很多琢磨的地方,琢磨中结合自己写的代码会有不少的收获,不仅能养成良好的编码习惯,更是对基础的夯实。比如有一条强制

“只要重写 equals,就必须重写 hashCode。”

那但凡你有点死磕精神自然会去找详细资料知个所以然,一连串就能挖出很多东西。还有比如其中的mysql规约也很简明实用,第一条写的就深得我心:

【强制】业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。

说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。

当你搞明白这短短35页的规约其中原理,我想绝对能胜任一个初级程序员的工作。

然后推荐还是阿里巴巴一个大佬出品的《深入分析Java Web技术内幕》,这本书是我当初看的最快最易懂收获又最多的一本书,设计的知识很多很全面,包括Web请求过程、HTTP协议、DNS技术和CDN技术。其次深入介绍Java技术,包括I/O技术、中文编码问题、Javac编译原理、class文件结构解析、ClassLoader工作机制及JVM的内存管理,我记得当时我看一遍十层DNS解析我就记住了,我这样一个小学背《静夜思》都有困难的同学都能轻易的理解记忆,你说它有多通俗易懂!

其次再推荐周志明的《深入理解Java虚拟机》,其实看大佬们写的“深入”感觉在吓我们,明明写的很通俗易懂,哈哈。这本书就庖丁解牛般把JVM剥开让我们看,其实我觉得最开始介绍当初各大厂商JVM层出不穷斗宝最有意思,过瘾感不下于看一个武侠故事。

最后不能不带上Java四大名著,《java编程思想》,《effective Java》,《java核心技术》,《java编程语言》,这几本我都有看,但都是挑着看,除了《effective Java》其余都只看了一点或者一部分,确实都是好书,但我还是力荐上面几本。

还有如果是0基础的话,我不建议一上来就啃什么《java编程思想》,甚至《head first Java》都不推荐,这些都没有看视频自己模仿着去写代码去搭建项目边际效益高,当你有了一定的编码经验再来看才会有收获,不然有收获但是很低。就像上小学大多数都是普通学生,我们也都会只预习老师下节课要讲的课本,预习多了反而没有太大作用,预习完老师再讲然后课下再复习,按这个节奏走不说一百分,90分以上没有问题!

作者:kevin

1.写jdbc吧,基本的增删改,还有获取表的结构信息

2.写io流吧,文件复制,用socket实现简单的http服务器

3.看jdk源码,能看到多少就多少

4.会用常用的spring,mybatis框架即可

不要否定自己,多点自信多点努力

曾经没有规划过自己的人生,那现在就认真规划落实,最好每年有个年底总结,自己得到了什么,明年需要做什么

平时多写代码,多看源码,多看官方文档,有疑问多写测试案例,进步最快,不要看别人的博客,视频,浪费时间

你现在不适合看书,需要多写代码,熟悉java的语法,常用的类

不要觉得别人多牛逼,你努力多了你会遇到很多吃瓜观众,白天crud,晚上打打游戏

可以看《代码大全》,虽然c++写的,但是对你的代码书写有很好的帮助

工作

半年后就看mybatis源码吧,

一年后就看spring源码吧

顺便看看netty吧

只有看源码才能感受到设计模式的威力,平时写博客谈设计模式都是纸上谈兵,没一点毛用

代码风格就学习spring,netty的代码风格吧,kafka代码也写得非常美,我还没来得及看

平时多造轮子,比如log4j这种工具类,但是最好写写带有生命周期的框架(你以后会理解的)

人生路很长,希望你好好规划,至少不要后悔

附上学习线路图:

学java如何制定自己的学习线路,有什么好书推荐?