精灵巫婆 发表于 2015-1-18 11:09:56

了解下JAVA的Java远程通信可选手艺及道理

为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。
在散布式服务框架中,一个最基本的成绩就是远程服务是怎样通信的,在Java范畴中有良多可完成远程通信的手艺,比方:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间究竟是些甚么干系呢,它们面前究竟是基于甚么道理完成的呢,懂得这些是完成散布式服务框架的基本常识,而假如在功能上有高的请求的话,那深切懂得这些手艺面前的机制就是必需的了,在这篇blog中我们未来一探求竟,举一反三,接待人人供应更多的完成远程通信的手艺和道理的先容。
基础道理
要完成收集呆板间的通信,起首得来看看盘算机体系收集通讯的基础道理,在底层层面往看,收集通讯必要做的就是将流从一台盘算机传输到别的一台盘算机,基于传输协定和收集IO来完成,个中传输协定对照着名的有http、tcp、udp等等,http、tcp、udp都是在为某类使用场景而界说出的传输协定,收集IO,次要有bio、nio、aio三种体例,一切的散布式使用通信都基于这个道理而完成,只是为了使用的易用,各类言语一般城市供应一些更加切近使用易用的使用层协定。
使用级协定
远程服务通信,必要到达的方针是在一台盘算机倡议哀求,别的一台呆板在吸收到哀求落后行响应的处置并将了局前往给哀求端,这个中又会有诸如onewayrequest、同步哀求、异步哀求等等哀求体例,依照收集通讯道理,必要完成这个必要做的就是将哀求转换成流,经由过程传输协定传输至远端,远端盘算机在吸收到哀求的流落后行处置,处置终了后将了局转化为流,并经由过程传输协定前往给挪用端。
道理是如许的,但为了使用的便利,业界推出了良多基于此道理之上的使用级的协定,使得人人能够不必往间接操纵这么底层的工具,一般使用级的远程通讯协定会供应:
1、为了不间接做流操纵这么贫苦,供应一种加倍易用或贴合言语的尺度传输格局;
2、收集通讯机制的完成,就是替你完成了将传输格局转化为流,经由过程某种传输协定传输至远端盘算机,远端盘算机在吸收到流后转化为传输格局,并举行存储或以某种体例关照远端盘算机。
以是在进修使用级的远程通讯协定时,我们能够带着这几个成绩举行进修:
1、传输的尺度格局是甚么?
2、怎样将哀求转化为传输的流?
3、怎样吸收和处置流?
4、传输协定是?
不外使用级的远程通讯协定其实不会在传输协定上做甚么多年夜的改善,次要是在流操纵方面,让使用层天生流和处置流的这个历程加倍的贴合所利用的言语或尺度,至于传输协定则一般都是可选的,在java范畴中出名的有:RMI、XML-RPC、Binary-RPC、SOAP、CORBA、JMS,来详细的看看这些远程通讯的使用级协定:
--------------------------------------------------------------------------------------------------------------------------------------------------
RMI
RMI是个典范的为java定制的远程通讯协定,我们都晓得,在singlevm中,我们能够经由过程间接挪用javaobjectinstance来完成通讯,那末在远程通讯时,假如也能依照这类体例固然是最好了,这类远程通讯的机制成为RPC(RemoteProcedureCall),RMI恰是朝着这个方针而出生的。
<p>
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。

admin 发表于 2015-1-20 15:36:54

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

金色的骷髅 发表于 2015-1-28 05:49:27

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

不帅 发表于 2015-2-2 21:55:04

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

活着的死人 发表于 2015-2-6 15:55:40

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

莫相离 发表于 2015-2-7 11:15:48

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

第二个灵魂 发表于 2015-2-21 19:42:00

Java是一种计算机编程语言,拥有跨平台、面向对java

透明 发表于 2015-3-6 21:11:28

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

再现理想 发表于 2015-3-13 09:09:43

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

愤怒的大鸟 发表于 2015-3-20 17:49:59

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页: [1]
查看完整版本: 了解下JAVA的Java远程通信可选手艺及道理