我现在是大二的学生,准备在大三大四自学java,现在就看了马士兵j2se视频,和看了一本java学习笔记,请问以后怎么学才能是自己在两年后达到企业用人标准呢,呵呵,具体要掌握哪方面的知识啊,请大家推荐一些教程和书籍,我是软件工程专业的。现在感觉公司用java的不少,学校也不教,准备自学,希望大家多多指点

解决方案 »

  1.   

    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著的 
               书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。 
               最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平
     
    我看到的,拿来和大家分享!
      

  2.   

    建议学习中看一本书就行了  但是你要坚持看下去--->《thinking in java》
      

  3.   

    java基础很重要,打劳基础后学习开源框架等就比较得心应手,另外抽时间多研究学习下算法==
      

  4.   


    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著的  
      书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。  
      最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平
      

  5.   

    补充几点:
    jquery,ext
    数据库;
    oracle,mysql
      

  6.   

    学会怎么在实际中解决问题和别人怎么解决问题的能力吧,csdn上面有很多程序员,你不妨多看看他们是怎么想的
      

  7.   

    就学一本java编程思想啊,大家还能不能推荐几本好书。感谢中