想自学java
我在网上找的一些资料就是走这个路线,感觉还可以。
第一部分:
JAVA语言基础知识。包括异常、IO流、多线程、集合类和数据库。(记住基础知识一定要一直巩固)
要求:对java封装和生命周期有一定的了解;
异常-掌握try-catch-finally的用法。
IO流-掌握字节流、字符流和对象序列化的处理。熟练使用各种输入输出流类(InputStream,OutputStream,FileInputStream,FileOutputStream,DataInputStream,DataOutputStream,BufferedInputStream,BufferedOutputStream,Reader,Writer,InputStreamReader,OutputStreamWriter,BufferedWriter,ObjectInputStream,ObjectOutputStream)。
多线程——掌握实现多线程的两种方法,即继承线程类和实现Runnable接口。理解线程之间的同步和互斥。
集合类——掌握集合、集合、映射、列表、迭代器和枚举接口的使用,掌握HashSet、ArrayList、Vector、HashMap和HashTable类的使用。
数据库-掌握JDBC API的使用,包括DriverManager类、连接接口、语句类和接口、PreparedStatement接口和ResultSet接口。
还有就是对java反射机制的了解,Java1.5的新功能一定要了解和使用,泛型等等。。
此外,了解Unicode、GB2132、GBK、UTF-8和ISO8859的编码方法。
参考:Java编程思想,张孝祥视频教学。
第二部分:
JAVA网络编程。包括Socket,RMI,HTML,XML,JSP,JavaBean,Servlet。
要求:Socket-了解java.io包中windows sockets类和server windows sockets类的使用。
RMI-掌握RMI的基本工作原理,掌握远程服务接口类、远程接口类、客户端调用类的定义,部署和编译RMI应用。
理解HTML语言的语法和各种标签。
JSP-Master JSP2.0语法,隐藏对象,EL,JSTL1.1,JSP自定义标签。
JavaBean -了解JavaBean的特性和事件模型。
XML-理解XML语言的语法、DTD和模式。
servlet-掌握HTTP协议,Servlet工作流程,Servlet会话跟踪,Servlet过滤器,Servlet事件监听器,配置web.xml
UML-主用例图,类图,活动图,序列图和状态图。
ag let-学习安装和使用塔希提岛服务器和主Aglet API。
开发工具——掌握Rational Rose、ant、cvs版本控制、myeclipse、dreamweave等开发工具的使用。
另外,学习过程中要学会使用Tomcat,JBoss/Weblogic server。
参考书:林主编的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,你也无法知道用哪个框架,你只需要知道基础就可以了。
参考书:网络工作在行动中文版
掌握Struts和Hibernate,
林新亮春季技术手册。
文森特·马索尔的《JUnit in action中文版》
书只是用来入门的。其他工具一定要多英文网站,尽可能多阅读英文文档,提高自己的水平,同时有空可以下载一些开源项目的文档。
最后一句话:不管学什么技术,都不要觉得自己太优秀。学习技术只是为了提高自己做项目的能力,提高自己的水平。你做的项目效果如何才能最终体现出自己的水平?
望采纳!!!