`
hellogood
  • 浏览: 10578 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

推荐JAVA学习路线

 
阅读更多
原文链接:http://blog.csdn.net/yizhenn/article/details/53232728

一直以来,都想写一篇介绍Java学习路线的博客。为什么有这个想法?原因有两个,其一:笔者从大三开始学习JAVA,至今也3年了。由于身边缺乏老司机带路,只能自己一步步探索,深知没人指路的痛苦。所以看过很多垃圾的书籍(没办法,国内书籍市场门槛太低),但功夫不负有心人,一些经典的书籍也都撸过了(关于书籍,下文中会介绍)。其二:由于JAVA进入门槛低,所以存在一些学个SSH框架就觉得JAVA不过如此之流,对此笔者只能呵呵。由于笔者是个JAVA死忠粉,所以写这篇文章也是希望大家能对JAVA有更深入的认识。话不多说,进入正题!

笔者见过一些人,学习JAVA直接从工程上手,然后看别人的代码,照葫芦画瓢(不得不承认,JAVA很容易照葫芦画瓢)。但笔者不推荐这种方式,为什么不推荐?因为这样你可能写出类似这样的四不像代码List<Map.Entry<String,String>>。哈哈,言归正传。
对于初学JAVA的童鞋,笔者推荐的书籍是李兴华的《JAVA开发实战经典》,笔者知道可能会有做广告的嫌疑,但对于真心想学JAVA的同学,笔者相信你们看完此书会感谢我的。这本书是推荐给从零开始学JAVA的同学,如果你有C语言的基础,看起来会非常快。但请不要太快,毕竟有些知识是需要时间来沉淀的。一定要从头到尾通读这本书,为何?因为基础很重要。俗话说“根基不牢,地动山摇”。书中关于JAVA图形界面的部分可以略过,需要的时候在学习。因为根据经验来看,图形编程的部分好像很少用到。
有了第一步对JAVA基础知识的积累,相信你一定知道了JAVA语言的三个领域:J2ME,J2SE,J2EE。J2ME是JAVA嵌入式设备编程,JAVA语言早期兴起的时候,是在J2ME领域发威的(你可以把现在很火的Android开发认为是这一领域)。J2SE是JAVA桌面级应用。J2EE是JAVA企业级应用,即JAVA Web应用。也是目前JAVA开发者主要活动的领域。这里,笔者想声明,如果你是因为Android学的JAVA,那么把第一本书看完就可以去学Android的知识了。如果你是因为J2EE学的JAVA,那么笔者推荐你继续学习第二本书:李兴华《JAVA Web开发实战经典》。这本书主要自己讲解MVC框架,以及他的前世今生。MVC是J2EE中大多数框架的设计灵魂,所以一定要好好理解MVC的工作流程以及为何要这样设计。深刻的理解MVC的原理,能让你的Java代码通俗易懂,结构清晰,高内聚低耦合。这也是很多C语言开发者搞JAVA时候的痛点,一定不要面向过程好么!
前两步学完,理论上来讲你可以去开发Java Web应用了。但是还不够,为何?因为一些大牛们发现,web开发总是关于servlet,filter,listener,其中有大量的可重用代码和大量的配置项。因此有了框架,比如Struts,Spring,SpringMVC,Hibernate,Mybatis。诸如此类。是不是头大了,不过别担心。记得笔者在第二步中说过的话,一定要深刻理解MVC。上面的框架中,你当然不需要全部学习,但Spring是一个例外。笔者建议你弄懂Spring的方方面面,这不是一个容易的任务,笔者自己也在持续学习中。这里,笔者推荐《Spring in Action》。这是一本实战类的书籍,可以让你对项目快速上手。等你对Spring用熟了之后,记得去逐渐理解Spring的源码。再具体的项目中,通常是SSH组合或者SSM组合。
上面三步搞完,你就可以参与JAVA WEB的开发了。笔者希望你确保自己完成了前三步的学习,再参与到web开发中。否则我只能祝你遇到个好的队友了。
基本招式已经搞定,现在,你可以抽一些时间来提高自己的内功了,对于JAVA虚拟机,笔者推荐《深入JAVA虚拟机》机械工业出版社,学完此书,你可以理解诸如下面的代码:
[java] view plain copy 在CODE上查看代码片派生到我的代码片
Integer a=1; 
Integer b=1; 
Integer c=200; 
Integer d=200; 
System.out.println(a==b);//true 
System.out.println(c==d);//false 
再比如为什么使用内部静态类可以实现单例模式等等。然后对于JAVA多线程编程,笔者推荐《JAVA并发编程实战》机械工业出版社。学完虚拟机和多线程,笔者相信你的内功一定大增。
最后回归基础和源码吧。比如那本神书《Java编程思想》。你完全可以不在最后的阶段看,但千万不要把此书作为入门书籍,大牛除外吧。
哦对了,关于tomcat,笔者推荐《How Tomcat works》,这是一本绝版书,可以帮助你理解“你的web程序是如何与web容器进行交互的”。
至于以后,老兄,让我们携起手来一起探索吧,很期待我们可以因此拥有一段纯洁的革命友谊。
至此,笔者想说的就说完了,如有建议,欢迎讨论。
分享到:
评论

相关推荐

    动力节点老杜推荐Java学习路线

    我们为您推荐的高效Java学习路线 尊敬的用户,恭喜您着手学习Java编程语言!我们为您准备了一份高效的Java学习路线,助您快速掌握Java开发技能。 阶段一:基础入门 学习Java的基本语法和数据类型,了解变量、...

    java学习路线(鱼皮)

    Java学习路线(鱼皮)是一条完整、实用、开源的学习路线,旨在帮助学习者快速掌握Java开发的所有知识点,并提供了丰富的资源推荐和学习建议,以便学习者更好地学习和掌握Java开发技术。 知识点: * Java编程基础 *...

    最全JAVA学习路线一条龙思维导图(附资源链接)PS:程序员鱼皮

    最全JAVA学习路线一条龙思维导图(附资源链接)PS:程序员鱼皮 1. 最新,完整一条龙的大厂 Java 学习路线,从入门到入土 2. 同时适用于想全面学习 / 快速求职的同学,可以根据符号来定制自己的专属学习路线 3. 给出...

    java学习路线.zip

    java学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习路线.zipjava学习...

    java 学习路线图-2018最新

    java 学习路线图-2018最新 以有趣和好理解的方式展示Java和Web的内容 设计一些略有挑战的练习 创造一些便于理解和消化知识点的方式,享受这个创造的过程

    java学习路线总结.zip

    java学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zipjava学习路线总结.zip...

    鱼皮 - Java 学习路线导图.xmind

    鱼皮 - Java 学习路线导图.xmind

    Java学习路线,Android学习路线,Java全套路线视频下载连接

    ### Java学习路线与Android学习路线详解 #### 一、Java学习路线概述 Java作为一种广泛使用的编程语言,在软件开发领域有着举足轻重的地位。对于初学者来说,掌握正确的学习路径至关重要。以下是一份详细的Java学习...

    鱼皮 - Java 学习路线一条龙版本 V2.xmind

    鱼皮 - Java 学习路线一条龙版本 V2.xmind

    java学习路线脑图

    本文将基于"java学习路线脑图"的标题和描述,深入探讨Java学习的知识点,包括相关框架和技术。 首先,Java基础是所有Java学习者的起点。这涵盖了基本语法、数据类型、流程控制语句(如if-else、for、while)、类和...

    疯狂java学习路线图

    疯狂java 学习路线图从java基础到深入 熟练掌握java技术

    B站韩顺平老师Java学习路线

    B站韩顺平老师Java学习路线

    java学习路线图

    java学习路线图,学习路线明细,前端后端学习框架,对于无从下手的初学者还是比较有用的

    鱼皮—Java 学习路线一条龙 .xmind

    鱼皮—Java 学习路线一条龙 .xmind

    java学习路线总结.doc

    Java学习路线是一个逐步深入的过程,尤其对于初学者来说,一个清晰的计划至关重要。以下是对Java学习路线的详细解析: **第一阶段:Java基础** - **Java开发介绍**:理解DOS命令,掌握JVM(Java虚拟机)、JRE(Java...

    Java学习路线图

    详细介绍学习Java的路线,让你清晰掌握Java学习路径。

    java学习路线XMind图

    java学习路线图,包含基础、初级、中级、高级开发人员需要学习的技术

    JAVA学习路线XMIND文件

    对应作者JAVA学习路线博客中的图片资源

Global site tag (gtag.js) - Google Analytics