我在最开始接触Java的时候看了两本书《Java编程思想》和《headfirstJava》。《Java编程思想》号称Java编程界的圣经,做Java开发的基本人手一本,这本书由浅入深讲的特别详细,比较适合小白入门。这本书很厚,真的要读完至少得花半年的时间,后来我就把它当做我Java的字典,供查询知识点使用。《headfirstJava》这是一本有趣的书,headfirst系列的书都是以比较诙谐幽默的方式讲解知识,特别适合培养兴趣。如果看完这两本书,没问题,你已经进入Java的圈子了。看书一定要沉得住气,真的看进去才能有效果。
动手不?必须动手!
编程说到底还是个动手的活,所有程序都是程序猿大军敲出来的。不动手,不仅提高不了编程技能,简直就是学不会编程的(不仅限于Java,所有的编程语言都是如此)。在看书和看视频的时候,从helloworld!开始,无论是视频中的还是书中的每一个例子都要自己动手敲一遍,不仅能加深记忆,更能促进对知识点的理解。
博客将是你进步的阶梯
不止刚入门的小白,就连有多年开发经验的老年程序猿在某些知识点上都会存在困惑。看不懂也怎么办?完全搞不明白怎么办?周围没有大神请教怎么办?互联网给我们提供了丰富的资源,百度一下总是要得,技术大牛们会把自己的理解图文并茂的以非常通熟易懂的方式展示在其博客中,堪称简单易懂。多读技术博客,也是提升自己编程水平的一个捷径,多关注技术大牛的博客。
计算机专业四把利剑补一下
数据库,编程必不可少的技能。数据库是什么?我会增删改查就够了吧。非也,数据库的水感觉比编程要深一些。还是由浅入深的学一遍,增删改查操作是最基本的要求。数据库设计、数据库的锁、数据库的索引、分布式数据库、数据库的优化等,这些总是要了解的,应该是要懂才行。数据库将是你学习编程之路的必经之路,必须得淌一遍。这里推荐一本书《MYSQL技术内幕》。
计算机操作系统,复杂的微机原理、汇编就算了,Windows操作系统、linux操作系统熟悉不?了解了系统架构,对今后的项目开发十分有益。不熟悉的话就得补一补。Linux的命令什么cat、cd、list、tail、kill等必须要会,不然你怎么部署服务器。
数据结构,这个是四把利剑之中相对比较重要的一把剑了。如果你不懂这个,那就别谈学编程了,队列、堆、栈、图、树等,这些都是要懂原理,还要能编程写出来。太难的红黑树啥的就先放放吧。
计算机网络,互联网网络时代不懂网络,那还怎么写程序。网络协议必须得懂,面试的时候经常问的,三次握手?TCP、UDP有啥不同?301是啥代号?这些基本的操作,对于小白来说可能看不太懂,没关系,学习就会懂了。
经历了以上的洗礼,你将不再是小白,下面要提升技能了。
来看看底层到底是啥样的
JVM(Java虚拟机),Java程序跑的起来全靠JVM的鼎力相助。如果不了解它,怎么能写出高性能的Java程序呢。JVM呢,内容还是不少的,体系结构、内存管理、垃圾回收等这些都是提升你编程水平的辅助。还有一个比较重要的内容JVM调优,你得会调教它,它才会更听话,更好的帮你干活。这里推荐一本书《深入理解JAVA虚拟机》,深入了解一下。
框架总要懂得
JAVAweb的框架很多,主流的有三大件SSH框架、Mybatis框架等。其中Spring框架要跟它深入交流一下,毕竟用它的比较多。什么IOC、AOP面试官都喜欢问它们。要是答不上来,好尴尬没法胜任工作了。推荐一本书,便于了解内幕----《Spring技术内幕》。
大数据时代,大数据算法懂一些
读研的时候,看过两本书,一本《Spark快速大数据分析》,一本《Hadoop权威指南》。工作之后,这方面用的比较少。如果不打算从事大数据方面的工作,了解一下就可以啦。
算法,算法,还是算法
算法乃程序之灵魂,一个好的算法可以达到事半功倍的效果。如果你曾经疑惑为什么今日头条能给我精准推荐我想看的内容?为什么马云爸爸知道我最近在淘宝上想买什么?为什么天猫能抗住双十一的数据洪流?为什么我的快递先送到某地再送到我这里?这些问题的答案很简单两个字“算法”。在我们这算法工程师的工资我只能仰视,学算法准没错。推荐两本书《编程珠玑》,《算法之美》。看完之后,我相信你会来一句这么神奇,竟然还有这种操作。
项目实践
到了检验学习成果的阶段了,怎么检验,还是动手。动手做一些小的项目,把所学到的知识点融合运用一下,找不足,查缺漏,而后继续学习,继续提高。