学习路线

第一步: 熟练Unix系统原理、Unix开发环境、Unix常用命令。熟练构建Unix下的Java开发环境。
第二步: 算法基础、常用数据结构、企业编程规范。掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。
第三步: 掌握java语言面向对象语言的共性:Java面向对象面向对象特性:封装、继承、多态等。掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本实现原理。
第四步: JDK核心API语言核心包、异常处理、常用工具包、集合框架。熟练掌握JDK核心API编程技术;理解API设计原则;具备熟练的阅读API文档的能力;JavaSE核心异常处理、多线程基础、IO系统、网络编程、Swing组件、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性。熟练掌握JavaSE核心内容,特别是IO和多线程;初步具备面向对象设计和编程的能力;掌握基本的JVM优化策略。XML XML语法、XML解析(SAX、DOM)、Dom4j组件、Digester组件。熟练掌握XML语法规则;理解DOM模型;熟悉Java对XML的各种解析方式。
第五步: SQL语言SQL语句基础和提高、SQL语句调优。熟练的掌握SQL语句;掌握一定的数据库查询技巧及SQL语句优化技巧。Oracle数据库开发Oracle体系结构及系统管理、Oracle数据库高级编程、数据库设计基础。掌握Oracle体系结构及核心编程技术。
第六步: 连接数据库:JDBC JDBC核心API(Connection、Statement、ResultSet)、JDBC优化技术(缓存技术、批处理技术、连接池技术)。理解JDBC作为规范的设计原则;熟练掌JDBC API;具备使用JDBC对数据库进行高效访问的能力。
第七步: 软件工程基础软件过程和软件活动;需求设计、概要设计、详细设计基本原则和文档规范;配置管理的基本概念和必要性;CVS、SVN基本操作;Ant简介理解软件过程的普遍概念和基本的软件活动;理解迭代的意义;掌握Ant、CVS、SVN等常用配置管理及部署工具。
第八步: OOAD及设计模式面向对象基本设计原则、工厂模式、策略模式、适配器模式、代理模式等、门面模式。理解面向对象设计的一般原则;理解重用的意义;掌握常见的设计模式。
第九步: HTML/CSS HTML基本文档结构、掌握CSS基础语法、关于HTML文档块、链接、列表、表格、表单等。掌握HTML基本原理;掌握CSS各种选择器及常见样式设置;熟练使用HTML常用元素。
第十步: JavaScript核心JavaScript语言基础(数据类型、函数、对象、闭包)、Java DOM编程、事件模型、JavaScript面向对象编程。深入理解JavaScript语言原理;熟练的使用JavaScript对HTMLDOM进行编程;熟练掌握JavaScript对象对象封装技巧,为后续的JavaScript学习打下坚实的基础。
第十一步: Servlet/JSP Servlet生命周期及Servlet服务器、Tomcat部署配置、JSP语法、自定义标记、JSTL和EL表达式、JSP新特性、Java Web设计模式。透彻理解Servlet核心原理;熟练掌握Servlet API;透彻理解JSP引擎工作原理;透彻理解标记库原理;熟悉常见的Java Web设计模式;为后续的Java Web开发打下坚实的理论基础。
第十二步: Ajax Ajax基础、XHR对象、Ajax设计模式、JSON技术掌握Ajax的基本通信原理;掌握基于XML和JSON的Ajax数据规则。
第十三步: JavaScript框架JQuery、JQuery插件、DWR。掌握JQuery核心API;了解JQuery基本设计原则;了解多种JQuery插件;掌握DWR的基本原理及应用技巧。
第十四步: ssh三大框架的学习
1,Struts 2.1.6 Struts2核心控制流程、Ognl、Action、Interceptor、,Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。熟练掌握Struts2核心要件,特别是Interceptor和Result;掌握基于模板技术的Struts2 UI组件;掌握基于Ognl的数据共享方式、掌握Struts2各种定制及扩展方式;熟练掌握基于Struts2的Web开发技巧。
2,Hibernate 3.2.1 ORM概念、Hibernate核心API、Hibernate实体映射技术、Hibernate关系映射技巧、HQL查询、OSCache及Hibernate缓存技术。重点掌握Hibernate多种关联映射技巧及其实用背景,做到在合适的时候使用合适的关联方式;掌握多种Hibernate查询技巧及优化技术。
3,Spring 2.5 Spring Ioc基础、Ioc注入技巧、对象高级装配(自动装配、模板装配、组件扫描特性、FactoryBean、对象生命周期)、Spring AOP原理、AspectJ、Spring JDBC支持、Spring事务及安全管理;Spring整合Hibernate、Spring整合Struts、Spring MVC简介。深入理解Ioc和AOP的基本原理和实现方式;熟练掌握SpringIoc及AOP实现方式;熟练掌握Spring事务管理;熟练掌握Spring与其他组件的整合技术。

j2ee规范
JDBC:(JavaDatabase Connectivity)JDBC是以统一方式访问数据库的API。
JNDI:(JavaName and Directory Interface)JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。
EJB:(EnterpriseJavaBean) 封装了业务逻辑的组件。其实就是把原来放在客户端实现的代码放到服务器端,并依靠RMI进行通信。
RMI:(Remote MethodInvoke)是一组用户开发分布式应用程序的API。
JavaIDL/CORBA:(Common Object Request BrokerArchitecture)Java接口定义语言/公用对象请求代理程序体系结构。
JSP:(Java Server Pages)JSP页面=HTML+Java,其根本是一个简化的Servlet设计.
Java Servlet
XML:是一个用来定义其它标记语言的语言,可用作数据共享。
JMS:(JavaMessage Service)
JTA:(JavaTransaction API)定义了一种标准API,应用程序由此可以访问各种事务监控.它允许应用程序执行分布式事务处理。
JTS:(JavaTransaction Service)JTS是CORBA OTS事务监控器的一个基本实现。
JavaMail:用于访问邮件服务器的API,提供了一套邮件服务器的抽象类。
JAF:(JavaBeansActivation Framework)JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。
JPA:定义了Java ORM及实体操作API的标准.JPA是目前比较流行的一种ORM技术之一。ORM是对JDBC的封装。JPA是规范,Hibernate是框架,JPA是持久化规范,而Hibernate实现了JPA。AJP13是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。
MIME :(Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。
JNI: Java Native Interface 它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).
DWR:(Direct Web Remoting)允许在Javascript中访问后台web服务器上的Java代码.
CORBA:是基于面向对象技术的,它能解决远程对象之间的互操作问题。CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB),以及ORB之间的互操作协议IIOP,核心是对象请求代理。CORBA可以抽象系统平台、网络通讯及编程语言的差异。通过在CORBA技术规范中定义多种类型的服务,如名字服务(Naming Service)、事务服务(Transaction Service)、对象生命期服务(LifeCycle Service)、并发控制服务(Concurrency Control Service)、时间服务(Time Service)等功能,为应用软件开发者提供一个全面、健壮、可扩展的分布对象计算平台,使面向对象的应用软件在分布异构环境下方便地实现可重用、易移植和互操作。
利用Java创建CORBA应用
CORBA对象服务的实现方式分为两种:对象的命名引用方式和字符串化对象引用方式。不论采用何种高级语言,创建CORBA应用程序的过程大体如下:
● 编写IDL接口定义文件;
● 将接口定义文件编译为相应高级语言源代码,产生服务器框架与客户端存根;
● 基于服务器框架,编写服务对象实现程序;
● 基于客户端存根,编写客户对象调用程序;
● 分别编译客户对象和服务对象程序;
● 运行服务对象和客户对象程序;
RMI-IIOP综合了RMI的简单性和CORBA的多语言性(兼容性),其次RMI-IIOP克服了RMI只能 用于Java的缺点和CORBA的复杂性(可以不用掌握IDL)。

远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
1、RPC与RMI
(1)RPC 跨语言,而 RMI只支持Java。
(2)RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型,而RPC 不支持对象的概念,传送到 RPC 服务的消息由外部数据表示 (External Data Representation, XDR) 语言表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由 XDR 定义的数据类型才能被传递, 可以说 RMI 是面向对象方式的 Java RPC 。
(3)在方法调用上,RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。
在RPC中,当一个请求到达RPC服务器时,这个请求就包含了一个参数集和一个文本值,通常形成“classname.methodname”的形式。这就向RPC服务器表明,被请求的方法在为 “classname”的类中,名叫“methodname”。然后RPC服务器就去搜索与之相匹配的类和方法,并把它作为那种方法参数类型的输入。这里的参数类型是与RPC请求中的类型是匹配的。一旦匹配成功,这个方法就被调用了,其结果被编码后返回客户方。

2、JMS和RMI
采用JMS 服务,对象是在物理上被异步从网络的某个JVM 上直接移动到另一个JVM 上(是消息通知机制)。而RMI 对象是绑定在本地JVM 中,只有函数参数和返回值是通过网络传送的(是请求应答机制)。RMI一般都是同步的,也就是说,当client调用Server的一个方法的时候,需要等到对方的返回,才能继续执行client端,这个过程调用本地方法感觉上是一样的,这也是RMI的一个特点。JMS 一般只是一个点发出一个Message到Message Server,发出之后一般不会关心谁用了这个message。所以,一般RMI的应用是紧耦合,JMS的应用相对来说是松散耦合应用。

3、Webservice与RMI
RMI是在tcp协议上传递可序列化的java对象,只能用在java虚拟机上,绑定语言,客户端和服务端都必须是java。webservice没有这个限制,webservice是在http协议上传递xml文本文件,与语言和平台无关。

4、Webservice与JMS
Webservice专注于远程服务调用,jms专注于信息交换。大多数情况下Webservice是两系统间的直接交互(Consumer <–> Producer),而大多数情况下jms是三方系统交互(Consumer <- Broker -> Producer)。当然,JMS也可以实现request-response模式的通信,只要Consumer或Producer其中一方兼任broker即可。JMS可以做到异步调用完全隔离了客户端和服务提供者,能够抵御流量洪峰; WebService服务通常为同步调用,需要有复杂的对象转换,相比SOAP,现在JSON,rest都是很好的http架构方案;JMS是java平台上的消息规范。一般jms消息不是一个xml,而是一个java对象,很明显,jms没考虑异构系统,说白了,JMS就没考虑非java的东西。但是好在现在大多数的jms provider(就是JMS的各种实现产品)都解决了异构问题。相比WebService的跨平台各有千秋吧

Apache Commons:是一个非常有用的工具包,解决各种实际的通用问题.
Commons-BeanUtils :提供对 Java 反射和自省API的包装
常用的功能是Bean Copy。如果做分层架构开发的话就会用到,比如从PO(Persistent Object)拷贝数据到VO(Value Object)。
Betwixt:提供将 JavaBean 映射至 XML 文档,以及相反映射的服务.
Chain :提供实现组织复杂的处理流程的“责任链模式”.
CLI :提供针对命令行参数,选项,选项组,强制选项等的简单API.这是一个处理命令的工具。比如main方法输入的string[]需要解析。你可以预先定义好参数的规则,然后就可以调用CLI来解析。
Codec: 包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder.
Commons-Collections: 提供一个类包来扩展和增加标准的 Java Collection框架,java.util的扩展.
Commons-Configuration :工具对各种各式的配置和参考文件提供读取帮助.这个工具是用来帮助处理配置文件的,支持很多种存储方式.
Daemon:一种 unix-daemon-like java 代码的替代机制
Commons-DBCP :提供数据库连接池服务
DbUtils: 是一个 JDBC helper 类库,完成数据库任务的简单的资源清除代码.
Commons-Digester :是一个 XML-Java对象的映射工具,用于解析 XML配置文件.
Commons-Discovery :提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。.
Commons-EL: 提供在JSP2.0规范中定义的EL表达式的解释器.
FileUpload: 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力。
Commons-HttpClient :提供了可以工作于HTTP协议客户端的一个框架.
IO :是一个 I/O 工具集
Jelly:是一个基于 XML 的脚本和处理引擎。 Jelly 借鉴了 JSP 定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly 可以用在命令行, Ant 或者 Servlet之中。
Jexl:是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。.
Commons-JXPath: 提供了使用Xpath语法操纵符合Java类命名规范的 JavaBeans的工具。也支持 maps, DOM 和其他对象模型。.
Commons-Lang: 提供了许多许多通用的工具类集,提供了一些java.lang中类的扩展功能
Commons-Latka: 是一个HTTP 功能测试包,用于自动化的QA,验收和衰减测试.
Launcher: 组件是一个交叉平台的Java 应用载入器。 Commons-launcher :消除了需要批处理或者Shell脚本来载入Java 类。.原始的 Java 类来自于Jakarta Tomcat 4.0 项目
Commons-Logging :是一个各种 logging API实现的包裹类.
Math :是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题.
Commons-Modeler :提供了建模兼容JMX规范的 Mbean的机制.
Net :是一个网络工具集,基于 NetComponents 代码,包括 FTP 客户端等等。
Commons-Pool: 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实现.
Commons-Primitives:提供了一个更小,更快和更易使用的对Java基本类型的支持。当前主要是针对基本类型的 collection。.
commons-validator:提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。

Hibernate核心接口
Session :接口负责执行被持久化对象的CRUD 操作。但需要注意的是Session 对象是非线程安全的。
SessionFactory :接口负责初 始化Hibernate 。它充当数据存储源的代理,并负责创建Session 对象。
Configuration :接口负责配置并启动Hibernate ,创建SessionFactory 对象。在Hibernate 的启动的过程中,Configuration 类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory 对象。
Transaction :接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query 和Criteria :接口负责执行各种数据库查询。它可以使用HQL 语言或SQL 语句两种表达方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值