Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

注意事项

在进行基于Hessian的项目开发时,应当注意以下几点:
▲JAVA服务器端必须具备以下几点:
·包含Hessian的jar包
·设计一个接口,用来给客户端调用
·实现该接口的功能
·配置web.xml,配好相应的servlet
·对象必须实现Serializable 接口
·对于复杂对象可以使用Map的方法传递
▲客户端必须具备以下几点:
·java客户端包含Hessian.jar的包。C#中引用hessianCSharp.dll
·具有和服务器端结构一样的接口。包括命名空间都最好一样
·利用HessianProxyFactory调用远程接口。
简单JAVA客户端例子:
服务器端

新建一个名EasyHession的webProject项目,将Hessian.jar放入web-inf下的lib中
创建接口:
package app.demo;
public interface BasicAPI {
public void setGreeting(String greeting);
public String hello();
public User getUser();
}
实现接口:
package app.demo;
public class BasicService extends HessianServlet implements BasicAPI {
private String _greeting = "Hello, world";
public void setGreeting(String greeting)
{
_greeting = greeting;
System.out.println("set greeting success:"+_greeting);
}
public String hello()
{
return _greeting;
}
public User getUser() {
return new User("prance", "meshow");
}
}
创建一个实现Serializable的projo类也可以是Bean。
package app.demo;
import java.io.Serializable;
public class User implements Serializable{
String userName ="snoopy";
String password ="showme";
public User(Stringuser, String pwd) {
this.userName =user;
this.password= pwd;
}
public String getUserName() {
return userName;
}
public String getPassword() {
return password;
}
}
接下来是配置web.xml
<?xml version="1.0"encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>app.demo.BasicService</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
为了测试可以在编辑一个简单的test.jsp
<%@ pageimport="com.caucho.hessian.client.HessianProxyFactory,
app.demo.BasicAPI"%>
<%@page language="java"%>
<%
HessianProxyFactory factory = newHessianProxyFactory();
String url = ("http://" +request.getServerName() + ":" +request.getServerPort() +
request.getContextPath() + "/hello");
out.println(url);
BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class,url);
out.println("Hello: " + basic.hello());
out.println("Hello: " + basic.getUser() .getUserName() );
out.println("Hello: " +basic.getUser().getPassword() );
%>
将一切配置成功后,将项目发布到web 服务器上去,可以是Tomcat,Rain等等。
进入
结果如下:
Hello: Hello, world
Hello: snoopy
Hello: showme
说明服务器端已经编写成功。
java客户端

创建一个名为HessianClient的JAVAProject,载入hessian.jar包
创建与服务器端一样的接口,及基础类
public interface BasicAPI{
public void setGreeting(String greeting);
public String hello();
public User getUser();
}
import java.io.Serializable;
public class User implements Serializable{
String userName ="snoopy";
String password ="showme";
public User(Stringuser, String pwd) {
this.userName =user;
this.password= pwd;
}
public String getUserName() {
return userName;
}
public String getPassword() {
return password;
}
}
创建客户端程序

importcom.caucho.hessian.client.HessianProxyFactory;
public class BasicClient {
public static void main(String[] args)
throwsException
{
String url ="http://127.0.0.1:8080/Hessian/hello";
HessianProxyFactory factory = new HessianProxyFactory();
BasicAPI basic = (BasicAPI) factory.create(BasicAPI.class, url);
System.out.println("Hello:" + basic.hello());
System.out.println("Hello:" + basic.getUser().getUserName());
System.out.println("Hello:" + basic.getUser().getPassword());
basic.setGreeting("HelloGreeting");
System.out.println("Hello:" + basic.hello());
}
}
运行结果:
Hello: Hello, world
Hello: prance
Hello: meshow
Hello: Hello Greeting

2网游

简介

韩国首款线上军事TPS游戏《Hessian》,经过8月份的首次测试后,将于10月28日~11月1日展开二次测试,并且公开新的游戏内容。
《Hessian》号称能够忠实地呈现军事战争,让玩家有战略和战术的规划;世界观设定为近未来发生的石油大战,采用真实性极高的游戏角色,透过次世代的游戏引擎,重现真实的战争场景。
一般的FPS游戏画面,只会显示枪口和枪,而本款号称新型态TPS,摆脱FPS中的单纯作战方式,采用全面性的战争模式,玩家可以从直升机的空对地攻击到自行火炮的远距离炮击等多种战术和战略的运用,更展现真实战场的风貌。游戏中的武器分多个种类的部件,玩家可以进行装备改装,制定自己想要的武器。
《Hessian》不同于既有FPS的内容,有高度真实感,尤其是利用掩蔽物躲避敌人攻击,以预测射击或牵制射击等分散敌人主力,扭断脖子等多种真实动作,都做得非常地有真实性。
游戏需求游戏配置为CPU P4 3.0GHz,RAM 2G,VGA Geforce 7600GT,属于中等级的要求。
公开新的游戏内容

新内容1:独创的战斗方式,通过CTS体验的近战战斗乐趣
《Hessian》中的武器分为主武器、辅助武器、投掷武器、近战武器。其中,最独特的就是近战武器。与一般FPS游戏的折刀概念不同,进入对方无法反抗的特定攻击状态。
一测中公开的悄悄靠近敌人身后的‘夹头(HeadLock)’,受到玩家关注。此次二测将公开的近战武器具有射击游戏中所没有的独创战斗方式近战战术支援(CTS:Close Tactical Support)。近战侦察、近战支援型的战略游戏成为可能。
「近战支援CTS」是以标记(红色烟雾弹)指定坐标,后方多个地域发射追击炮给予支援的系统。
「近战侦察CTS」是配备有红外线传感器的无人机(UAV)搜索指定区域,向我方传递敌人位置信息的系统。
新内容2:新游戏任务「空袭任务」
一测时,《Hessian》公开歼灭任务和个人任务,二测将添加新游戏任务「空袭任务」。玩家为成功完成各种任务,歼灭敌人,在指定的地方铺设炸弹,同时为在战场中生存下来,与佣兵展开决战。
空袭任务是在限定时间内,将中转装置GDT安装在指定的区域,以成功完成导引空中攻击的任务。安装地区有2个区域,各区域安装的阵营已指定。该任务以先胜制进行,特定阵营获得整体一半以上场数的胜利,即视为获胜,游戏结束。
新内容3:使用第3人称视角的多种演出
与既有FPS游戏不同,《Hessian》中的游戏角色具有利用地形地物的掩蔽,使用绳索移动于建筑物之间,通过固定武器攻击敌人等多种攻击。
新内容4:电影般的演出
单机游戏中的视频截取(Cut Scene)在《Hessian》中实现。摆脱FPS游戏的第1人称视角,玩家能在游戏中饰演动作/战争电影中的主人公,过足战斗瘾。
新内容5:新游戏角色安东尼奥
意大利出身的佣兵安东尼奥将在二测中登场。安东尼奥是意大利北部城市都灵的一个平凡地方公务员家庭的独生子,在罗马大学所学专业为历史学,不明原因进入意大利国家宪兵队(Carabinieri)反恐怖特别行动勤务组/大队(GIS),成为一名PMC特工。
除新游戏角色外,《Hessian》还将公开SMG(冲锋枪)、AR(突击步枪)、SR(狙击来复枪)、防御武器、防具、STOG等新道具,玩家通过多种武器使用各种战略战术,体验更为逼真的游戏。

矩阵
在数学中,海赛矩阵是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵,此函数如下:
如果f所有的二阶导数都存在,那么f的海赛矩阵即:
H(f)ij(x)=DiDjf(x)
其中,即
(也有人把海色定义为以上矩阵的行列式)海赛矩阵被应用于牛顿法解决的大规模优化问题。
混合偏导数和海赛矩阵的对称性
海赛矩阵的混合偏导数是海色矩阵主对角线上的元素。假如他们是连续的,那么求导顺序没有区别,即
上式也可写为
在正式写法中,如果f函数在区域D内连续并处处存在二阶导数,那么f的海赛矩阵在D区域内为对称矩阵。
在R^2→R的函数的应用
给定二阶导数连续的函数,海色矩阵的行列式,可用于分辨f的临界点是属于鞍点还是极值。
对于f的临界点(x0,y0)一点,有,然而凭一阶导数不能判断它是鞍点、局部极大点还是局部极小点。海赛矩阵可能解答这个问题。
H>0:若,则(x0,y0)是局部极小点;若,则(x0,y0)是局部极大点。
H<0:(x0,y0)是鞍点。
H=0:二阶导数无法判断该临界点的性质,得从更高阶的导数以泰勒公式考虑。

hession的更多相关文章

  1. 关于hession 随笔

    今天遇到一个问题,纠结了很久也没有解决,情况是这样的, 我这个项目使用的是 hession  通信.我做的业务很简单,只是新加了一个接口 ,这 个接口是广告那一块的,数据库在之前的项目里面都没有使用到 ...

  2. Hession集成Spring + maven依赖通讯comm项目 + 解决@ResponseBody中文乱码

    hessian结合spring的demo         hessian的maven依赖: <!-- hessian --> <dependency>         < ...

  3. Hession矩阵与牛顿迭代法

    1.求解方程. 并不是所有的方程都有求根公式,或者求根公式很复杂,导致求解困难.利用牛顿法,可以迭代求解. 原理是利用泰勒公式,在x0处展开,且展开到一阶,即f(x) = f(x0)+(x-x0)f' ...

  4. SpringMVC使用Hession发布远程服务

    (1)三个项目,Api(存放提供者和消费者共有的xx,例如实体类以及服务接口等等).Service(服务提供者).Provider(服务消费者) Api部分代码 package cn.coreqi.e ...

  5. hession矩阵的计算与在图像中的应用

    参考的一篇博客,文章地址:https://blog.csdn.net/lwzkiller/article/details/55050275 Hessian Matrix,它有着广泛的应用,如在牛顿方法 ...

  6. Hession实现远程通讯(基于Binary-RPC协议)

    一.开发工具 1.jdk1.6 64位 百度网盘地址:https://pan.baidu.com/s/1Zwqfmi20X4ANNswZzPMzXQ 提取码:k50r 2.apache-maven-3 ...

  7. hession RMI 远程调用

    /** * * @author administror * 在java中,需要去extends 继承java.rmi.Remote 接口,才能称为在于服务器流的远程对象. * 各客服端调用 * */p ...

  8. Hession矩阵(整理)

    二阶偏导数矩阵也就所谓的赫氏矩阵(Hessian matrix). 一元函数就是二阶导,多元函数就是二阶偏导组成的矩阵. 求向量函数最小值时用的,矩阵正定是最小值存在的充分条件. 经济学中常常遇到求最 ...

  9. spring remoting源码分析--Hessian分析

    1. Caucho 1.1 概况 spring-remoting代码的情况如下: 本节近分析caucho模块. 1.2 分类 其中以hession为例,Hessian远程服务调用过程: Hessian ...

随机推荐

  1. 斐讯k1路由器刷Breed BootLoader(不死UBoot)教程

    刷入Breed BootLoader: 因为这个K1路由器可以开启telnet服务,所以此处刷Breed可以不使用编程器刷Flash芯片的方法进行. 1.打开K1路由器的Telnet服务. 电脑通过有 ...

  2. thinkPHP的用法之M

    M方法 //添加 $res = M('comment')->add($data); //成功返回新增ID,失败返回false //删除 M('myop_myinvite')->where( ...

  3. WebService开发

    一.什么是WebService: 简单通俗来说,就是企业之间.网站之间通过Internet来访问并使用在线服务,一些数据,由于安全性问题,不能提供数据库给其他单位使用,这时候可以使   用WebSer ...

  4. sql脚本多服务器操作

    --创建链接服务器exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','IP' exec sp_addlinkedsrvlogin 'srv_lnk','f ...

  5. 打造最高效的科研环境之Emacs插件们

    0 盲人摸象 作为初学者,迫切的需求就是直接上手Emacs并打造包含自动补全命令在内的科研环境. 和网上众多的插件安装的教程相比,我认为找到一个与自己需求匹配的Emacs配置环境来得更方便. 本例中, ...

  6. Mongodb插入记录

    Mongodb下文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 MongoDB ...

  7. 移动apache访问日志后如何立即生效

    一次偶然测试发现移动了apache下的access_log日志后或者修改了access_log的名称,该移动的日志或修改名称的日志文件仍记录了apache访问信息,即没有实时生效,后来查了资料才知道: ...

  8. iOS 开发之控件快速学习(一)

    最近一个朋友想转iOS所以我开始写一些初级iOS学习博客!也希望第一些初学的朋友有所帮助,!好吧进入今天的正题,我们今天主要完成如下界面的显示! 好的一起打开Xcode一下几步我截图说明:

  9. daydayup3 codeforces144C

    上古的c还是很简单的,一直逗比忘记加EOF了,直到看了数据才发现 题意:给你两个字符串a,b,求问字符串a里有多少个子串排列后可以生成字符串b,‘?’可以替换为任意小写字母 思路:统计第一个子字符串小 ...

  10. html5之canvas画图基础

    HTML5+CSS3的好处是,你可以编写一个页面分别用于不同的平台,只需要设置不同的css样式就可以了,现在基本主流浏览器都支持全新的HTML5和CSS3,因为它的跨平台开发.因为是原生代码所以它的页 ...