分类:编程语言

Spring整合Hessian与分析

前言 上一篇文章Hessian入门体验与分析介绍了hessian的简单入门,并且从源码层面对Hessian的调用流程进行了分析;发现使用原生的Hessian还是比较繁琐的,下面看看Spring与Hessian进行整合并且进行简要分析。 使用 提供三个模拟块,分别模拟client,server以及被依赖的jar;对应的模块名称分别是:hessianClient,hessianServer以及hessianJar 1.hessianJar介绍 hessianJar主要提供被hessianClient和hessianServer依赖的公共类,这里主要提供了接口类IHessianService和poj…

阅读全文 »

基于JMS实现RPC功能

前言 JMS的点对点消息传送模式允许JMS客户端通过队列(queue)这个虚拟通道来同步和异步发送、接收消息;点对点消息传送模式既支持异步“即发即弃”消息传送方式,又支持同步请求/应答消息传送方式;点对点消息传送模式支持负载均衡,它允许多个接收者监听同一队列,并以此来分配负载;所以完全可以以JMS的点对点消息传送模式实现一套RPC框架。 准备 jdk:jdk1.7.0_80 jms:apache-activemq-5.10.0 serialize:protostuff 整体结构 整个实现包括:rpc-jms-common,rpc-jms-client,rpc-jms-server; 以及测试模…

阅读全文 »

HttpClient执行Https请求与分析

Https介绍 HTTPS:为了保证隐私数据能加密传输,采用SSL/TLS协议用于对HTTP协议传输的数据进行加密,也就是HTTPS。 SSL:SSL(Secure Sockets Layer)协议是由网景公司设计,后被IETF定义在RFC 6101中,目前的版本是3.0。 TLS:TLS可以说是SSL的改进版。是由IETF对SSL3.0进行了升级而出现的,定义在RFC 2246,实际上我们现在的HTTPS都是用的TLS协议。 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息;TLS/SSL中使用了非对称加密,对称加密以…

阅读全文 »

Ivy入门:Eclipse整合Ivy

前言 最近因为来的一家新公司,项目中大量使用了ivy来进行依赖管理,并没有用现在相对主流的Maven;两者可以进行简单的比较,Ivy仅提供依赖管理功能,但是Maven是一个软件项目管理综合工具,能够管理构建、报告、文档,以及根据中心化的信息来管理依赖,Ivy更多的是和Ant一起使用。 Eclipse整合Ivy 1.ivy插件安装 Help->Eclipse Marketplace…输入ivy,如下图所示: 点击安装即可,安装完在Window->Preferences下出现了ivy目录,如下图所示: 2.简单实例 ivy官网地址:http://ant.apache.org/ivy/ …

阅读全文 »

Hessian入门体验与分析

简介 Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能;相比WebService,Hessian更简单、快捷。 官网地址:http://hessian.caucho.com/index.xtp 下面主要针对Hessian入门级使用,以及进行部门源码分析。 简单使用 提供三个模拟块,分别模拟client,server以及被依赖的jar;对应的模块名称分别是:hessianClient,hessianServer以及hessianJar 代码结构如下图所示: 1.hessianJar介绍 hessianJar主要提供被hessianClient和he…

阅读全文 »

Dubbo的一次体验与分析

Dubbo是什么 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案; 其核心部分包含: 远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。 架构图如下:来自官网 Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的…

阅读全文 »

Java Random分析

前言 最近测试经常反应游戏中出现随机的地方,比如:开宝箱,装备的掉落以及属性的随机等,表现的不尽如意;所以开始怀疑我们的随机算法,而我们使用的就是JDK自带的Random类,跟他们解释他们也不太明白,没办法只能以一种更加直观的方式展示给他们看更具有说服力,刚好也可以更加深入的了解一下Random类。 简介 打开Random类的源代码,在类注释中可以看到如下说明: 此类的实例用于生成伪随机数流。此类使用48位的种子,使用线性同余公式 (linear congruential form) 对其进行了修改(请参阅 Donald Knuth 的The Art of Computer Programmi…

阅读全文 »

异步编程RxJava-介绍

前言 前段时间写了一篇对协程的一些理解,里面提到了不管是协程还是callback,本质上其实提供的是一种异步无阻塞的编程模式;并且介绍了java中对异步无阻赛这种编程模式的支持,主要提到了Future和CompletableFuture;之后有同学在下面留言提到了RxJava,刚好最近在看微服务设计这本书,里面提到了响应式扩展(Reactive extensions,Rx),而RxJava是Rx在JVM上的实现,所有打算对RxJava进一步了解。 RxJava简介 RxJava的官网地址:https://github.com/ReactiveX/RxJava, 其中对RxJava进行了一句话描…

阅读全文 »