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"的实现,这在需要利用C++的性能优化和Java的跨平台特性时非常有用。我们将深入探讨这个主题,包括原理、步骤以及提供的示例文件。 首先,C++调用Java主要依赖于Java Native ...
### c++调用java工程:深入理解JNI技术 在现代软件开发中,多语言混合编程已成为常态,特别是在大型项目中,不同的编程语言被用于解决各自领域的问题,以达到最佳的性能和开发效率。C++与Java,作为两种广泛使用的...
本案例探讨的是如何使用C++调用Java函数,这通常涉及到JNI(Java Native Interface)技术。以下是对这个实战项目的详细解释: 首先,我们要理解标题"实战-C++调用Java函数"所涉及的核心知识点。C++是一种强大的系统...
本文将详细讲解在Android Studio 3.0中如何实现C++调用Java以及Java调用C++的过程。 首先,我们需要在Android Studio项目中配置NDK(Native Development Kit),它是Android用于编写和编译C/C++代码的工具集。在...
本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...
本主题聚焦于如何在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代码...
这个完整工程展示了如何在Android应用中使用JNI,实现C++与Java之间的双向调用。这种技术在需要高效计算、利用硬件加速或者复用已有的C/C++库时非常有用。 1. **JNI基础知识**: - JNI接口提供了Java虚拟机(JVM)...
### C++调用Java代码的JNI实现概述 在软件开发领域,经常会出现不同语言之间相互调用的需求。本文将深入探讨如何使用C++通过JNI(Java Native Interface)调用来实现对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的...
在本主题中,我们将深入探讨如何使用C++通过JNI来调用Java中的方法,以及如何实现C++与JavaScript的互调。这在跨平台开发、性能优化或利用现有C/C++库时尤其有用。 首先,我们需要理解JNI的基本结构。JNI接口定义了...
总结来说,Qt平台上的C++与Java代码交互涉及到JNI接口的使用,包括C++函数的声明、Java方法的调用、动态库的加载以及在Qt项目中的整合。熟练掌握这些技巧,将有助于开发跨语言的复杂应用程序。在实践中,应不断学习...
本文将深入探讨如何在C++和Java之间进行互相调用的实例,主要关注Android环境下的JNI(Java Native Interface)技术,同时涉及NDK(Native Development Kit)开发。 标题:“C++和Java互相调用实例”意味着我们将...
当我们需要在Java应用程序中调用C++函数或者反之时,JNI就扮演了关键角色。 1. **JNI基础知识**: - JNI头文件:在C++代码中,我们需要包含jni.h头文件,这是JNI的核心,定义了各种函数原型和数据类型。 - 导入库...
本主题聚焦于“C++调用Java源码”,这是一个使用JNI(Java Native Interface)技术来实现的典型应用场景。JNI是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。下面将详细阐述这一过程及其相关知识点...