通过JNI 实现 java与C++之间的信息传递
定义一个native 方法:
package ext;
import java.util.Hashtable;
public class TestJNI
{
static
{
System.loadLibrary("dllfile");
}
public TestJNI()
{
Hashtable htable = new Hashtable();
htable.put(1,2);
}
public native Hashtable getNameList();
public static void main(String[] arg)
{
TestJNI tstJNI= new TestJNI();
Hashtable htable= tstJNI.getNameList();
System.out.println(htable.size());
}
}
通过 javah 生成 头文件 ext_TestJNI.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jni.h"
/* Header for class ext_TestJNI */
#ifndef _Included_ext_TestJNI
#define _Included_ext_TestJNI
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: ext_TestJNI
* Method: getNameList
* Signature: ()Ljava/util/Hashtable;
*/
JNIEXPORT jobject JNICALL Java_ext_TestJNI_getNameList
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
在c++创建一个dynamic dll项目,并在 StdAfx.h 中 include 头文件 ext_TestJNI.h
StdAfx.h 代码:
#if !defined(AFX_STDAFX_H__FAD3F2E4_D6E1_4011_9791_2256C4B0BDE6__INCLUDED_)
#define AFX_STDAFX_H__FAD3F2E4_D6E1_4011_9791_2256C4B0BDE6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Insert your headers here
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include "ext_TestJNI.h"
在 CPP文件中定义 方法实现:
CPP代码:
#include "stdAfx.h&
相关文档:
转自www.bitsCN.com
摘要:本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。
一、 异常 ......
关于ZK这个框架,国内使用的用户应该比较少,国内的资料也相当的少,但是在国外,这个东西已经很多人在使用了,以前也没怎么接触过,最近开始使用ZK来做开发,发现这东西在使用的时候,还蛮有意思的,所以准备记下使用日志,留给以后回顾和大家分享
首先需要知道ZK是一个什么东西,这个框架是我国台湾的朋友开发的,他是一个事件驱动(e ......
java中的时间操作不外乎这四种情况:
1、获取当前时间
2、获取某个时间的某种格式
3、设置时间
4、时间的运算
好,下面就针对这四种情况,一个一个搞定。
一、获取当前时间
有两种方式可以获得,第一种,使用Date类。
j2SE的包里有两个Date类,一个是java.sql.Date,一个是java.util.Date
这里,要使用java.util. ......
在网上看了好多人,对jdk的环境变量配法不祥,在此小结一下
前提条件:电脑上安装了jdk
步骤:
1)我的电脑/系统属性/高级/环境变量/用户变量/新建
a)变量名:JAVA_HOME
变量值:E:\Program Files\Java\jdk1.5.0_04(jdk安装路径)
b)变量名:PATH
变量值:%JA ......