学习JAVA,我建议这样做

之所以写这篇文章,是因为最近有小伙伴从某知名国企跳槽出来,转行互联网开发。刚开始听到这个消息时,第一反应是不信。东北的国企可是响当当的铁饭碗,说扔就扔?在三番五次确认之后,那哥们的确是把铁饭碗扔了。本文我们不讨论职业选择,只讨论一个问题,也是那个伙伴问我的问题:跨专业到软件开发,如何快速让自己的能力达标并月入过万。

我是搞软件开发的,也许可以给出一些建议。对于非软件类的大学毕业生来说,转软件开发最容易的方向是JAVA开发。不过,也必须客观的说一句,JAVA这东西上手容易,但是如果你仅仅达到上手的水平,也就只能做个外包啥的,没有太大的竞争力。所以,我建议想要转JAVA开发的同学按照以下流程来系统的学习Java:

写文章不易,觉得好的花可以关注我,会积攒好运!

  1. Java基础知识

推荐书籍:李兴华的《JAVA开发实战经典》

笔者知道有做广告的嫌疑,但对于真心想学JAVA的同学,看完此书以后你一定会感谢我的。这本书通俗易懂,推荐给零基础学JAVA的同学。如果你有C语言的基础,看起来会很快。但请不要太快,毕竟知识是需要时间来沉淀的。一定要从头到尾通读这本书,通读!因为基础很重要。俗话说“根基不牢,地动山摇”。

书中关于JAVA图形界面的部分可以略过,需要的时候再学习。根据经验来看,图形编程的部分好像很少用到。


2. J2EE or J2SE

JAVA语言有三个领域:J2ME,J2SE,J2EE。J2ME是JAVA嵌入式设备编程,JAVA语言早期兴起的时候,是在J2ME领域发威的。J2SE是JAVA桌面级应用。J2EE是JAVA企业级应用,即JAVA Web应用,也是现在需求最旺盛的领域。

如果你是因为Android学的JAVA,那么把第一本书看完之后就可以去学Android的知识了。笔者对Android不是专业的,所以就不在此舞文弄墨了。

如果你是因为J2EE学的JAVA,那么笔者继续给你推荐第二本书:李兴华《JAVA Web开发实战经典》。

我目前是在职Java开发,如果你现在也想学习Java技术,在入门学习Java的过程当中有遇见任何关于学习方法,
学习路线,学习效率等方面的问题,你都可以申请加入我的Java学习交流qq群961722976。里面聚集了一些正在自学Java的初学者,
裙文件里面也有我做Java技术这段时间整理的一些Java学习手册,Java面试题,Java开发工具,PDF文档书籍教程,需要的话都可以自行来获取下载。

这本书主要致力于讲解MVC框架,以及他的前世今生。MVC是J2EE中大多数框架的设计灵魂,所以一定要好好理解MVC的工作流程以及为何要这样设计。深刻的理解MVC的原理,能让你开发的Java代码通俗易懂,结构清晰,高内聚且低耦合。

3. Spring框架

前两步学完,你可以去开发Java Web应用了。但是还不够,为何?因为一些大牛们发现,Web开发总是关于servlet,filter,listener,其中有大量的可重用代码和大量的配置项。因此有了框架,比如Struts,Spring,SpringMVC,Hibernate,Mybatis。

诸如此类。是不是头大了,不过别担心。记得笔者在第二步中说过的话,一定要深刻理解MVC。上面的框架中,你当然不需要全部学习,但Spring是一个例外。笔者建议你弄懂Spring的方方面面,这不是一个容易的任务,笔者自己也在持续学习中。这里,笔者继续推荐书籍《Spring in Action》。这是一本实战类的书籍,可以让你对项目快速上手。

等你用熟练了Spring之后,记得去逐渐理解Spring的源码。在具体的项目中,通常是SSH组合或者SSM组合。通过上面的学习,你已经能够熟练的使用JAVA。

4. Mysql

Mysql是一个数据库软件,它不是唯一的数据库软件,但绝对是最常用的一个。

现在,你可以去找工作JAVA开发的工作了。。。

不过。技术这东西,向来是一个积累的过程。你可以继续深入的深造:

5. 对于设计模式入门,笔者推荐《Effective JAVA》机械工业出版社。这本书不是专门讲解设计模式的,但其中的编程原则可以帮助你理解设计模式。

6. 对于JAVA虚拟机,笔者推荐《深入JAVA虚拟机》机械工业出版社。这本书帮助你理解Java语言的底层运行机制。

7. 对于JAVA多线程,笔者推荐《JAVA并发编程实战》机械工业出版社。

8. 对于Web容器,笔者推荐《How Tomcat works》。这是一本绝版书。可以帮助你理解“你的Web程序是如何与Web容器进行交互的”。

9. 由于Java服务级应用大多运行在linux操作系统上,所有笔者推荐大家去学习下Linux运维知识,推荐《Linux运维之道(第2版)》,个人觉得比《鸟哥的Linux私房菜》要好一些。






你可能感兴趣的:(学习JAVA,我建议这样做)