基础知识 学习方法

Java学习路线
先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本 书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很 长,也可能很短,这要看学习者自身水平而定。

不要被IDE纠缠 
在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JAVA的时候,要学语言本身的东西,不要太在意IDE的附加功 能,JAVA编程在不同IDE之间的转换是很容易的,过于的在意IDE的功能反而容易耽误对语言本身的理解。目前流行的IDE有 jbuilder,eclipse和eclipse的加强版WSAD。用好其中一个就可以了,推荐从eclipse入手j2ee。因为Jbuilder更 适合于写j2se程序。

选择和学习服务器使用配置 =D R t -
当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,tomcat为学习web服务首选。而应用服务器 目前主要有三个:jboss、weblogic、websphere。有很多项目开始采用jboss,并且有大量的公司开始做websphere或 weblogic向jboss应用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最容易上手的。学习服务器使 用配置最好去询问有经验的人(有条件的话),因为他们或许一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把主要时间放在 学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问。

学习web知识 Jj=/ G T
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习: .'l:8SxT?L
html,可能要用到dreamwave等IDE。 ZO(T u%xU
Javascript,学会简单的数据校验,数据联动显示等等 Zw cmUq
b],MA_pI?=
J2eeAPI学习 (x 6 lxJ'
学习j2eeAPI和学习服务器应该是一个迭代的过程。 6t FbC\gV
先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。 S{=>TQn\2H
学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。这本应属于j2se学习中,这里拿出来强调一下。 W ,9cn M?2
学习jndi api,它和学习ejb可以结合起来。 xVql.;/Bf
学习ejb api,推荐书《精通ejb》 Y@;4 PEH$
经过上面的这些的学习,大概可以对付一般的应用了。 $'>. rfV|6
有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。 K 7 ~sgu#o
aQ?DVu3#U,
学习ejb设计模式和看代码(最重要) e?(P& THu
设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee) k 8 N}1Bv
无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的 =u 5 ! [KD
目前有很多开源的工程可以作为教材: n\[ 9cS.`=
jive论坛 "v t <
petstore sun公司 \ jS W
dune sun公司 MFUzFS |,
等等,研读一个,并把它用到自己的工程中来。 Vehapm;4(e
z2a9nh k_9
J2ee其他学习 (+ _]=
当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如 structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习原理和理论是最 最重要的事。 a G VS f)z
o <otp WP
目前常见j2eeAPI j!4R Z B"
JavaServer Pages(JSP)技术1.2 _75ZS <N
Java Servlet技术2.3 . b hB 8
JDBC API 2.0 q $b4 pu
Java XML处理API(JAXP)1.1 $ ; . oy J
Enterprise JavaBeans技术2.0 /7pxy!L~
Java消息服务(JMS)1.0 [2)C`Ic @l
Java命名目录接口(JNDI)1.2 {h i |N b
Java事务API(JTA) 1.0 uu xs{/M p
JavaMail API 1.2 c' s]W p~
JavaBeans激活架构(JAF)1.0 \{ hDUOm I
J2EE连接器体系结构(JCA)1.0 S( zo P>}3
Java认证和授权服务(JAAS)1.0 } > { ]% s
学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的 /M9 3(aE
上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲。回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。

======================================
J2EE总体的学习计划 

第一部分:
    JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固)
    要求:对java的封装,生命周期等有一定的了解;
          异常------掌握try-catch-finally的使用
          IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。
          多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。理解线程间的同步与互斥。
          集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。
          数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement类和接口、PreparedStatement接口、ResultSet接口。
          还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。.
          另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。
参考:《Java编程思想》、张孝祥视频教学。

第二部分:
    JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
    要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。
          RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用类和部署、编译RMI应用程序。
          HTML--------了解HTML语言的语法、各种标签。
          JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。
          JavaBean-------理解JavaBean的特点和事件模型。
          XML--------了解XML语言的语法、DTD、Schema。
          Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet事件侦听器、配置web.xml。
          UML-------掌握用例图、类图、活动图、顺序图、状态图。
          Aglet-------学会安装使用tahiti服务器,掌握Aglet API。[以后再学,在彭老师的项目才会用到]
          开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工具使用。
          另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器
      参考书:《JSP2.0技术手册》林上杰编著;
            《深入体会Java Web开发内幕---核心基础》
      在JSP上不要花太多时间,在时间放在servlet多一些.

第三部分:
    流行MVC架构和Java对象持久化技术。包括webwork、Spring、Hibernate
    要求:MVC-------理解MVC设计模式、处理过程。
          webwork-------理解webwork实现MVC的机制、工作流程。掌握配置webwork应用、webwork控制器组 件、webwork应用的国际化、异常处理、webwork标签库。(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学 webwork,但要必须要了解一下Struts)
          Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。
          Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。 
                  学习过程:先学习webwork2,再学习Hibernate,最后学Spring。

          下面的东西有时间了解一下:
          测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具EasyMock/JMock,熟 悉其中一种。(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码, 或多或少的) 
          UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作.   
          AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架.
                  (ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了) 

  参考书:《webwork in action中文版》
        《精通Struts》、《精通Hibernate》孙卫琴著,
        《Spring技术手册》林信良著
        《JUnit in action中文版》Vincent Massol著的
          书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。
          最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平。 

 

######################################################################

 

1. 计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(记住理解最重要!)
咚闫?控制器,存儲器,輸入設備,輸出設備
程序是所有指令的有序集合
程序與數據一樣存儲,按程序編排的順序,一步一步地取出指令,自動的完成指令規定的動作
CUP(中央處理器)也稱為微處理器,是微機的核心部件,實際上就是計算機咚闫骱涂刂破鞯募象w.
2. 机器语言和微指令集的概念。
3. 程序的概念。
4. 汇编语言是低级语言但不是机器语言。
5. 高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等)
6. 编译程序和解释程序的概念和其原理。
7. HTML、XML等是标识性语言。
8. Prolog是人工智能语言。
9. 操作系统OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,还有一些实时OS,嵌入OS。)
10. Windows编程说白了就是Windows API的调用。(很多程序员只是会编windows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是coder)
11. VC++、VB、BC、BCB、Delphi、VFP等都只是编程的工具和环境,不是编程语言。
12. 面向结构的设计概念。
13. 面向对象的概念。
14. 软件工程的概念和原理。
15. 数据库的概念。(要熟悉一些著名的数据库系统和语言的名字,如Oracle,SQL,DB2,Sybase等)
16. 了解网络概念。
17. 了解多媒体概念。
18. 熟悉和掌握数据结构和基本算法。
一些经验和体会
1. 真正的程序员用C++;
2. 动手去编程序;
3. 动脑去思考;
4. 要有良好的编程风格;
5. 读书,读好书,尽量读原版书!
6. 有自己的学习计划;
7. 总结自己的经验教训;(准备一个笔记本,记录错误和心得)
8. 不要怕学新东西;
9. 要有软件工程的思想;
10. 善于发现问题,然后去寻找答案;
11. 向高手请教;(要虚心直到你成为高手)
12. 和同行交流;(不善于交流肯定不行)
13. 懂得软件的实质,不要被千变万化的表象所迷惑;
14. 真正要学习用的是编程语言和方法,不是什么库,什么类,什么工具;(学用那些什么库都比较简单,但光会这些库,我觉得还远远不够)
15. 学习Windows编程主要是学习Windows OS和Win32 API;
16. 有空了解一下嵌入式开发;
17. 有空了解一下PDA软件开发;
18. 了解一下.NET框架和C#语言,也许它是你新的衣食父母;
19. 要有耐心,不要作浮躁的人;
20. 对程序加注释,并保留你的老程序;
21. 学到的东西越多,了解的越多,你就越接近专家;
22. 有空去逛逛CSDN,那里有你很多知己;
23. 要有信心成为一个优秀的程序员。
教材推荐
  推荐的教材主要还是针对概念来的,最好选用名校的教学用书。
1. 《计算机组成原理》(熟悉)
2. 《数据结构》(掌握)
3. 《操作系统》(了解->熟悉)
4. 《The C Programming language》(掌握)
5. 《编译原理》(了解原恚?br />6. 《汇编语言》(了解)
7. 《计算机网络》(了解)
8. 《软件工程》(了解)
9. 《关系数据库》(熟悉)
10. 《The C++ Programming Language》(掌握)
11. 《面向对象设计》(掌握;结合C++学习)

 

 

你可能感兴趣的:(编程,应用服务器,Hibernate,J2SE,Webwork)