Java JNA —— JNI的加强版
在开发过程中,Java程序猿有时候很郁闷,要取计算机的相关信息相当无措!其实了解JNI的猿人应该知道,通过JNI调用C/C++的动态链接库就可以轻松的实现!但是有人又会觉得JNI还是有点复杂,好吧,今天就分享一下JNI的加强版——JNA,它让我们轻松了跨语言的调用,调用其他语言的方法/函数就如调用Java自己定义方法一般!好啦,不多说,直接贴代码,简单的实例,获取计算机的名称:
/*** @Description: ** @Title: JNATestServlet.java* @Package com.joyce.jna* @Copyright: Copyright (c) 2014** @author Comsys-LZP* @date 2014-2-27 下午04:26:21* @version V2.0*/
package com.joyce.jna;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.jna.Library;
import com.sun.jna.Native;
/*** @Description: ** @ClassName: JNATestServlet* @Copyright: Copyright (c) 2014** @author Comsys-LZP* @date 2014-2-27 下午04:26:21* @version V2.0*/
public class JNATestServlet extends HttpServlet {/*** @Fields serialVersionUID : TODO*/private static final long serialVersionUID = -8617706236668864317L;public interface GetComputerName extends Library {GetComputerName INSTANCE = (GetComputerName) Native.loadLibrary("dll/GetCompName",GetComputerName.class);public String GetCopmuterName();}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String computerName = GetComputerName.INSTANCE.GetCopmuterName();System.out.println(computerName);PrintWriter out = response.getWriter();out.print(computerName);out.flush();out.close();}
}
这是后台是的代码,至于怎么展示在前台上就不用我多说了吧!
动态链接库dll、jar包下载地址:http://download.csdn.net/download/luo201227/7133593
Java JNA —— JNI的加强版相关推荐
- Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27
Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27 1. Jna简单介绍1 2. Jna范例halo owrld1 3. Jna概念2 3.1. (1)需 ...
- Java通过JNI调用C++动态链接库dll,并打在jar包内 ——JNA-JNI(一)
Java通过JNI调用C++动态链接库dll,并打在jar包内--JNA-JNI(一) 系列文章: Java通过JNI调用C++动态链接库dll,并打在jar包内 --JNA-JNI(一) Java使 ...
- 用java的jni调用C语言的API,实现带图形界面的一元稀疏多项式计算器
实现步骤: 1) 完成Java代码,编写好Java调用类. 2) 编译你的Java类. 3) 用javah生成编译好的class文件对应的C/C++ 函数的头文件. 4) 实现头文件中的函数原型,编写 ...
- Java原生JNI的使用、javah指令的使用以及图解教材
Java Nativie Interface(JNI,中文名称Java本地接口)标准时Java平台的一部分,它允许Java代码和其他语言写得代码进行交互.JNI是本地编程接口,它使得Java虚拟机(V ...
- java在主程序修改函数输出,Java通过JNI调用CUDA
--NG 这段时间因为工作需要,要用到在java中调用cuda程序,但是令人蛋疼的是网上这方面的资料几乎没有,所以只好我自己摸索.我的想法是通过java的JNI接口调用cuda,但是很明显正常情况下是 ...
- Java通过JNI调用C++的DLL库
2019独角兽企业重金招聘Python工程师标准>>> Java通过JNI实现调用C++程序 好久没碰JNI这个东西了,刚工作的时候自己写过点东西,这么些年很少用到,最近一个项目又用 ...
- Java中beimage_GitHub - beconf/ImageBlurring: Android 中通过 Java 与 JNI 分别进行图片模糊;并且进行比较其运算速度。...
ImageBlurring Android 中通过 Java 与 JNI 分别进行图片模糊:并且进行比较其运算速度. 相关文章 备注消息 Screenshots RenderScript Fast B ...
- 简单暴力java文件JNI编译
创建java文件 Jkx.java 编辑java文件内容 public class Jkx {public native static boolean DecryptFile(String chars ...
- JAVA通过JNI调用C++动态链接库CLL(二)
简介 使用Visual Studio 2017新建c++动态链接库dll项目 编写JniDemo.h中getName实现并生成DLL 编写JniDemo.h在JniDemo.c实现getName方法 ...
最新文章
- Microsoft Windows 10的LTSC 2019和Version 1809更新简单说明
- JavaScript 的 Promise 和 C# 的 waitone 一样吗?请大家讨论i两句。
- 高效的沟通方式-会议
- 天翼云认证--大纲介绍
- ASp.net中Froms验证方式
- React开发(237):dva概念2state
- 小程序input实现数据双向绑定
- Eclipse Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方法
- 第二章 函数式数据结构
- 查看网络抖动_Linux下3种常用的网络测速工具
- Linux乱码和数据库乱码的问题简单排查
- 电脑双网卡访问内外网
- windows10 企业版 ltsc系统的激活
- 一个流氓眼中的物联网
- IT男吃什么最利于健康
- 科学计算机算余切,科学计算机在线算(科学计算器如何算正态分布)
- 关于博客的论文php,基于php的个人博客系统毕业设计论文
- 物流快递信息查询管理系统网站(JSP+HTML+MySQL)
- 机器学习——经典降维算法与框架综述
- 【无标题】基于51单片机和DHT11的温湿度检测系统