google code:
http://code.google.com/p/hessianorb/
硬件:redhat64
需要软件环境:apache-ant,C++发送http请求调用java需要安装liburl
若没有ant,需要先安装
wget http://apache.etoak.com/ant/binaries/apache-ant-1.8.1-bin.tar.bz2
解压tar -jxvf apache-ant-1.8.1-bin.tar.bz2
mv apache-ant-1.8.1 /usr/java/
vim /root/.bash_profile
在文件中添加环境变量
ANT_HOME=/usr/java/apache-ant-1.8.1
PATH=在最后面添加:$ANT_HOME/bin
source /root/.bash_profile
ant -version 测试ant安装是否成功
安装hessianorb
svn checkout http://hessianorb.googlecode.com/svn/trunk/
cd trunk/
mkdir build
cd build/
cmake ..
make
安装完成后,需要通过java接口生成对应的C++对象
../build/hessianc -classpath path-to-compiled-Java-code【编译后的class文件所在的路径】 echo【生成的C++对象的namespace】 com.example.echo.EchoService【class文件,带包名路径】
测试结果:
1:支持类型
byte[],char,double,enum,long,String,int,Object 这些java的数据类型都能够正常支持;
List<E> list的E只能是比较简单的数据类型【基本类型,简单对象等】,如果E里面还包含有List对象的属性则不能支持,但可以包含其他简单对象
java.util.Date类型在作者提供的wiki里是表示支持的,我们的测试中没有通过
2:测试性能
和正常情况下使用hessian,java远程调用java的性能差不多,并发达到5000/s
分享到:
相关推荐
标题 "C++调用java jar包测试代码" 描述了一个跨语言交互的场景,其中C++程序通过调用Java编译后的jar包来执行特定功能。这个过程涉及到多个技术点,包括Java的编译和打包,C++的编程以及两者之间的接口调用。 1. *...
本案例中,我们关注的是"C++调用Java"的实现,这在需要利用C++的性能优化和Java的跨平台特性时非常有用。我们将深入探讨这个主题,包括原理、步骤以及提供的示例文件。 首先,C++调用Java主要依赖于Java Native ...
### c++调用java工程:深入理解JNI技术 在现代软件开发中,多语言混合编程已成为常态,特别是在大型项目中,不同的编程语言被用于解决各自领域的问题,以达到最佳的性能和开发效率。C++与Java,作为两种广泛使用的...
本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...
### C++调用Java编写的WebService接口知识点解析 #### 一、基础知识介绍 - **WebService概念**:WebService是一种跨编程语言和操作系统平台的远程调用技术。它允许应用程序通过网络(如互联网)相互通信和交换数据...
本主题聚焦于如何在C++中调用Java WebService接口,这涉及到两种编程语言的互操作性以及Web服务技术的理解。让我们深入探讨这个过程。 首先,我们需要理解什么是Java WebService。WebService是一种基于标准的、平台...
"Android中C/C++调用Java代码" Android中C/C++调用Java代码是通过Java Native Interface(JNI)实现的。JNI提供了一种机制,允许Java代码和native代码之间相互调用。下面我们将详细介绍Android中C/C++调用Java代码...
### C++调用Java代码的JNI实现概述 在软件开发领域,经常会出现不同语言之间相互调用的需求。本文将深入探讨如何使用C++通过JNI(Java Native Interface)调用来实现对Java代码的调用,特别关注于用户身份验证与...
《C/C++调用Java方法详解》 C/C++与Java之间的交互,主要依赖于Java Native Interface(JNI)技术。自Java 1.1以来,JNI已成为Java平台不可或缺的一部分,它提供了一种机制,使Java代码能够调用本地(非Java)代码...
本文将深入探讨如何使用C++创建Java虚拟机(JVM),并通过JNI来调用Java函数。这是一项技术性很强的任务,需要对C++编程、Java虚拟机的工作原理以及JNI接口有深入的理解。 首先,Java虚拟机(JVM)是Java平台的核心...
标题 "c++调用jar包" 涉及的关键技术是C++程序如何与Java的jar包进行交互。在描述中提到,这是一个C++编写的动态库,它能够调用jar包中的功能,这意味着我们需要利用特定的技术来实现跨语言的通信。这个过程通常通过...
总的来说,C++调用Java Web Service涉及到的主要步骤包括:生成C++客户端代理类、构建SOAP请求、发送请求并解析响应。过程中可能需要借助如MS SOAP Toolkit这样的工具进行调试和监控,确保通信的正确性。对于复杂的...
总之,JNI实例“Java调用DLL c++调用Java”是一个实用的学习资源,它详细解释了如何利用JNI进行Java与C++的交互,无论是将本地库引入Java程序还是将Java功能嵌入C++应用。通过实践这些例子,开发者能够深入理解JNI的...
总结来说,Qt平台上的C++与Java代码交互涉及到JNI接口的使用,包括C++函数的声明、Java方法的调用、动态库的加载以及在Qt项目中的整合。熟练掌握这些技巧,将有助于开发跨语言的复杂应用程序。在实践中,应不断学习...
本文将深入探讨如何在C++和Java之间进行互相调用的实例,主要关注Android环境下的JNI(Java Native Interface)技术,同时涉及NDK(Native Development Kit)开发。 标题:“C++和Java互相调用实例”意味着我们将...
### 在C/C++中调用Java:深入了解与实践 #### 引言 随着Java的跨平台特性的普及,越来越多的开发者选择使用Java进行应用程序的开发。然而,在开发过程中,经常遇到的一个问题是Java程序启动时会弹出一个控制台窗口...
当我们需要在Java应用程序中调用C++函数或者反之时,JNI就扮演了关键角色。 1. **JNI基础知识**: - JNI头文件:在C++代码中,我们需要包含jni.h头文件,这是JNI的核心,定义了各种函数原型和数据类型。 - 导入库...
在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...
本主题聚焦于“C++调用Java源码”,这是一个使用JNI(Java Native Interface)技术来实现的典型应用场景。JNI是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。下面将详细阐述这一过程及其相关知识点...
### C++ 调用Java类:JNI技术详解 #### 引言 随着软件工程的发展,跨语言调用成为一种常见的需求。对于C++与Java这两种广泛应用的语言来说,实现互相调用不仅能提升软件的灵活性,还能更好地利用不同语言的优势。...