zoukankan      html  css  js  c++  java
  • 转:Java学习路线图,专为新手定制的Java学习计划建议

    转自:http://blog.csdn.net/jinxfei/article/details/5545874

    怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:
        首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java,适合企业的大型应用开发。
    J2SE:
        新手最初学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。
    重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等
    难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等
    视频教程推荐:孙鑫的Java基础视频教程、张孝祥的Java基础视频教程,讲的都很细,而且这两位老师在教学方面都有很好的经验。
    J2EE:
            在学习了J2SE之后,你可以尝试着慢慢过渡到J2EE,当然,学习J2EE海需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等等,待会我会详细介绍这两方面的内容。J2EE有三个必学的框架,如果你说你学了J2EE,但又不会这三个框架的话,那会让人笑掉大牙,这三个框架分别是Struts、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE,J2EE还有很多其他的东西,比如EJB,作为一款重量级(此重量级不是指重量级选手那个意思,此重量级非彼重量级)框架,虽然这个应用慢慢的再被其他框架所取代,但EJB3.0的出现也给它带回一些生机,作为一个分布式应用的框架,也是大家要去学习和了解的知识。
            当然,刚才说到J2EE包含的范围很广,即使我把我所了解的所有技术说出来,也并不能代表J2EE,这是一个很深很广的学问,需要大家以后再工作的时候慢慢去发现了。我所了解的还包括:
    JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已
    JNDI: Java 命名与目录接口,J2EE重要规范之一
    EJBS: 上面已经提到过了
    RMI: 提供远程调用方法的支持,主要用于程序分布式开发
    JMS: Java消息服务,中间件技术
    JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术
    JTS: 组件事务监视器
    JTA: 事务划分的一个技术
    JAVAMAIL: Java中的邮件技术
    JAF: Java启动框架,没研究过
    Log4j,一款日志处理的框架应用
    Junit:单元测试的好帮手
    freemarker、velocity:两款不错的模板引擎
    与Flash的交互Flex:目前很多的SNS应用就是使用到了这个技术
    Web services:想知道我们论坛天气预报的效果是怎么做的吗?请关注这个技术
    SOA:面向服务架构,未来技术发展的趋势之一
    ……
            不过前面介绍到得这些都不是J2EE的基础,是属于框架应用级别的.要真正把上面说到的知识掌握好,还是的学习J2EE最核心的东西:JDBC、JSP、servlet和JavaBean,后面三个也是学习SSH的基础(Struts/Spring/Hibernate的简称).鉴于J2EE的内容太过复杂,建议大家最初只学习: JSP, servlet和JavaBean,等这个基础掌握好再把SSH学习了,再对其他J2EE技术有个大致的了解就可以出去找工作了。当然,找工作的前提除了把Java学习好,还会有一些其他的技术也是必须要掌握的。

    -_- 我很简单,Java却要求我学这么多复杂的东西。除了这些技术的东西,在这阶段,大家更多的是会接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例模式等等,还要学习建模思想(比如UML建模等等)和软件生命周期等等。这些是升华大家编程思想的手段和途径。
    数据库技术:
         数据库几乎是程序中不可或缺的一部分,在整个软件开发中更是占据了重要作用.数据库在整个软件中扮演的是地基的角色,你要修房子,就要先打好地基,你要做软件,就要先设计好的数据库.目前数据库几乎都是关系型数据库,代表的有:
    SQL Server,目前最新的好像是2008,我不是很喜欢追赶时髦,用的还是2005,不过也很不错了,在此之前还有2000.
    MySQL,最知名的开源数据库之一,我很喜欢它的小巧耐用,学过SQL SERVER数据库再学它,无师自通,易如反掌.
    ORACLE.甲骨文公司的产品,大型数据库,正版的一般公司买不起.只有看看了,不过现在Java开发60%都是会使用到这个数据库,再加上现在甲骨文已经把sun公司收购了,JAVA和ORACLE得关系更加暧昧,各位得多花些时间在这上面了.
    除了这些,你还应该了解一些桌面应用软件开发用到的数据库,比如说sqlite。你在制作安装程序的时候可以把这个数据库打包进你的安装程序。
    网页编程基础:
         网页编程基础要学的内容也比较多,但主要集中在以下这三个技术之上,大家每天看的各种样式的网页都是它们呈现的:
    HTML:超文本标记语言
    CSS:层叠样式表
    Javascript:浏览器客户端脚本语言
    现在更是流行各种JavaScript库,比如:Jquery、ExtJs等,你要是会其中的某一个库的使用,找工作so easy。
    J2ME:
         如果你在学习了以上技术还不过瘾,可以再学习手机程序的开发,就我个人看来,开发手机程序技术其实蛮简单的,难点在于优化,比如怎么让你写的程序尽量的节约手机资源,“代码诚可贵,手机价更高“,所以不得不比PC机多考虑很多成本和实用性问题。J2ME的学习的话,切忌不要单纯的再模拟器上测试,一定要找真机测试,真机和模拟器的效果之间差别是很大的。更多手机开发技术,有兴趣的朋友可以和我一起探讨。
    开发工具:
        开发工具的选择主要还是看大家的习惯,我个人比较喜欢使用eclispe,功能很强大,也很好拓展其他的功能。当让初学你也可以选择JCreator,或者最好就直接用记事本。等你熟悉了Java代码之后,就可以使用JBuilder、eclispe或者netbeans这一类的工具了。
         先说到这里先,以后大家一起完善这个帖子。尽量再给大家整理一些学习的资源在这里。也欢迎大家一起整理我文章中提到的一些技术资源和开发工具。最后,再和大家分享一句话:生命欣欣向荣,唯奋斗不息。也和大家分享一幅Java学习路线图:
    untitled

    学习步骤:
    java基础语法特性-->软件开发规范-->基本的计算机算法-->java API学习-->学习项目-->开源框架-->设计模式-->软件架构
    在整个学习过程中要不断地学习一些计算机的基础知识,不是自己能写出复杂的程序了就牛了,基础远比其它的重要(从长远来看)。
    等你全部都学通了,就可以当CTO了,呵呵我现在还在努力学基础知识

    下面是建议的学习方法:
    1、java基础语法特性先不用买书看,下载 尚学堂马士兵老师的j2se视频教程来从头开始一点点看着跟着搞就OK了;
    2、跟着那套视频搞完,你对软件开发规范也有所了解了,算法也有所了解了,然后巩固加深、扩展一下,找点数据结构的书来看看,实现几个数据结构,常见的数据结构要能实现,这样就差不多了;
    3、看完视频,你对java API也应该有所了解了,这个在学习做项目的时候慢慢熟悉吧;
    4、学习项目,自己可以找一些东西来做,也可以去网上看项目开发的视频跟着做,然后再自己做;
    5、开源框架的视频教程很多,入门的时候看看就可以了,入门了就看他们的API,然后疑难杂症可以到iteye上来问大虾们;
    6、设计模式就要花点精神了,这个必须得买几本好书,你可以去china-pub上搜一下设计模式,排在前面的几本评价不错的就是好的了;
    7、软件架构就得慢慢来了,这个必须是你在实际开发总领悟到的东西,当然也可以通过书籍来学习,不过说真的,书上得来终觉浅。
    好了,路线就说得差不多了,下面推荐几本我觉得必须去看的书:
    《java 编程思想 第四版》、《面向对象的数据库及其应用》
    我觉得这两本书是必须去看的,当然如果真想学好,《编译原理》必须得学,这样才能真正理解编程。
    就这么多了,一时半会也想不起来,这些书等你有一定的基础之后再看吧,学到第四步的时候就可以开始看了。

     
  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/TTTTT/p/5678849.html
Copyright © 2011-2022 走看看