易截截图软件、单文件、免安装、纯绿色、仅160KB

java远程通讯及简单实现

 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java底层领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、SOAP、EJB和JMS 等,在j2ee中,对java底层远程通讯的技术进行了封装,形成了 Hessian 、 HttpInvoker 、 XFire 、 Axis 等多种形式的远程调用技术。 但对高级程序员而言仍需要掌握Java底层领域中远程通讯的技术,尤其是rmi,xml-rpc,JMS。
1.远程服务基本原理
1)底层协议
  要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络IO来实现,其中传输协议比较出名的有http、tcp、udp等等,http、tcp、udp都是在基于Socket概念上为某类应用场景而扩展出的传输协议,网络IO,主要有bio、nio、aio三种方式,所有的分布式应用通讯都基于这个原理而实现,只是为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议。
2)应用级协议
  远程服务通讯,需要达到的目标是在一台计算机发起请求,另外一台机器在接收到请求后进行相应的处理并将结果返回给请求端,这其中又会有诸如one way request、同步请求、异步请求等等请求方式,按照网络通信原理,需要实现这个需要做的就是将请求转换成流,通过传输协议传输至远端,远端计算机在接收到请求的流后进行处理,处理完毕后将结果转化为流,并通过传输协议返回给调用端。
   在java领域中知名的远程通信的应用级协议有:RMI、XML-RPC、Binary-RPC、SOAP、JMS
  
2.RMI
2.1RMI原理
    RMI,即Java RMI(Java Remote Method Invocation),Java远程方法调用.是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。
  RMI是个典型的为java定制的远程通信协议,RMI全部的宗旨就是尽可能简化远程接口对象的使用。
    RMI的基础是接口,RMI构架基于一个重要的原理:定义接口和定义接口的具体实现是分开的。
  来看下基于RMI的一次完整的远程通信过程的原理:
  1)客户端发起请求,请求转交至RMI客户端的stub类;
  2)stub类将请求的接口、方法、参数等信息进行序列化;
  3)基于socket将序列化后的流传输至服务器端;
  


相关文档:

Sun Java Wireless Toolkit 2.3 beta新增功能


原文出处:http://developers.sun.com/techtopics/mobility/midp/articles/wtk23beta/
 
       Sun Java Wireless Toolkit越来越好,2.3beta版本增加了对于三种新的API的支持:
l         The Security and Trust Services APIs (SATSA, ......

JAVA静态方法的同步问题~~~~~~~~~~~~~

一直被同步搞得晕头转向,今天遇到了要写静态方法,总担心会不会有同步问题,结果看了以下一席话,豁然开朗~~
Every method of java will have a stack, and every invokation on that
method will have it's own 'stack frame'. So the locale data of one
method invokation will not affect others.
Please do not c ......

Java 静态代理和动态代理

 
Java 静态代理和动态代理
http://kuangbaoxu.javaeye.com/blog/192804
关键字: 静态代理与动态代理
1. 代理模式主要有两种:静态代理和动态代理 
2. 静态代理: 
比如要在输出“HelloWorld”前打印一个字符串“Welcome” 
A:先定义一个接口类 
Java代码 
pac ......

Java Filter 过滤器的使用

1、建立一个Servlet并且实现Filter接口
该类需要实现Filter接口中的init()   doFilter()    destory()方法
其中init()方法自动在项目启动的时候加载,doFilter()在调用xml配置的路径是加载,destory()方法在退出项目的时候进行。
 
public class TestFilter implements Filter{
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号