第二个灵魂 发表于 2015-1-18 11:12:18

发布一篇剖析JBoss Remoting

还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
Java范畴中的散布式框架对照的多,剖析一个已有的远程挪用框架不管是关于盘算采用已有功效仍是本人做散布式框架,都是很需要的事变,JBossRemoting是个中很好很强年夜的一个框架,在此来对JBossRemoting举行深切的剖析,看看JBossRemoting是怎样基于java.net供应的包往办理这些成绩的,本文所剖析的JBossRemoting源码的版本为2.2.2_SP2,原本觉得会是篇不怎样长的文档,没想到还没写的具体和深切的时分就已有三十多页了,也欠好在这里间接贴出来,就把文档目次和最初的总结部分贴在这了,感乐趣的同砚们能够从这个地点下载PDF版本的文档:http://www.riawork.org/opendoc/JBoss.Remoting.Opendoc.pdf
目次:
1散布式使用概述
2剖析JBossRemoting
2.1Socket体例远程挪用
2.2多种挪用体例的撑持
2.3远程加载class的撑持
2.4高并发下的不乱性
2.5非常处置
2.6进步功能
2.7集群的撑持
3学到了甚么
4总结
总结
从对JBossRemoting的剖析中,散布式使用带来的必要深切进修的常识系统较之会合式的使用多了良多,最基本也最分明的触及到的常识系统有:收集通信(触及到的有协定、收集I/O等)、java收集编程(java.net包、NIO等)、序列化机制、并发编程、池手艺等,就这些常识点每一个拓睁开来说都能够讲成年夜篇乃至一本书的范围,关于年夜型散布式应用而言,触及的常识系统就更多了,比方还必要把握cluster情况下的处置(良多工具到了集群情况下庞大水平相对是必要以翻倍来盘算的,并且良多如今的处置体例城市变得不可用)、loadbalance战略等,本文也只是对JBossRemoting的一些基础和关头的特性举行了剖析(最入手下手的时分盘算叫深切剖析JBossRemoting的,不外写到最初发明实在还有良多细节和深切的部分并没有写,因而仍是更名叫剖析JBossRemoting了),个中实在另有良多细节是值得研讨和进修的,但愿有研讨的同仁们奉献出其他方面的研讨或指出本文毛病的中央,十分感激。
年夜型的散布式使用中不成能请求每一个开辟职员都往把握这些常识系统,因而关于年夜型散布式使用而言,供应一个散布式的框架长短常有需要的,做到将散布式使用触及的相干常识点只管的剥离,就像Erlang,做到将并发的基本常识分别。
JBossRemoting办理了良多散布式使用所需面临的成绩,是今朝可选的开源散布式框架中一个很不错的选择,而且其在包管高并发场景下的不乱性和功能提拔上也做了良多的事情,但仍是有良多可提拔的空间,比方一致的远程挪用的API上(还能够进一步增强透明化的oneway、异步的挪用)、NIO的撑持、异步伐用的提拔(大概能够思索供应分离MQ完成的异步伐用)等等,而假如要成为年夜型散布式使用的支持平台,不管是功能上仍是功能上,JBossRemoting另有很多必要改善和提拔的中央。
散布式使用较之会合式使用在对象的接口的计划和利用上也有了更高的请求,比方不要呈现依托参数援用传送来隐性的添补一些值、远程对象应是线程平安的、只管不要呈现频仍挪用远程对象的征象、只管削减往复传输年夜对象的征象等等细节。
散布式使用对照会合式使用而言,不管是开辟仍是支持框架上都庞大了良多,因而尽管散布式使用绝对会合式使用而言,可以带来呆板设置请求下降、体系布局加倍明晰和松耦合、下降保护的庞大度等等长处,但仍是应当做到能不散布式就只管不要散布式。

Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.

老尸 发表于 2015-1-20 17:06:17

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

山那边是海 发表于 2015-1-29 13:16:02

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

飘灵儿 发表于 2015-2-6 01:19:47

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

柔情似水 发表于 2015-2-14 19:50:28

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

小魔女 发表于 2015-2-28 14:43:18

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

第二个灵魂 发表于 2015-3-4 05:13:16

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

仓酷云 发表于 2015-3-10 21:50:25

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

只想知道 发表于 2015-3-11 16:51:01

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

活着的死人 发表于 2015-3-11 22:47:48

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

深爱那片海 发表于 2015-3-19 15:13:48

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

若天明 发表于 2015-3-28 16:25:17

Java 编程语言的风格十分接近C、C++语言。
页: [1]
查看完整版本: 发布一篇剖析JBoss Remoting