当前位置: 首页 > news >正文

主页网站建设做简单的html网站

主页网站建设,做简单的html网站,网页界面设计中表单的组成部分有哪些提示信息,做网上购物网站文章目录 1 什么是本地方法1.1 本地方法的好处1.2 声明本地方法1.3 实现本地方法1. 生成头文件2. 编写C语言实现3. 编译C代码4. 运行Java程序 1.4 使用JNA1.5 总结 2 本地方法栈2.1 特点2.2 本地方法栈与Java虚拟机栈的区别2.3 本地方法栈的工作流程2.4 总结 无痛快速学习入门J… 文章目录 1 什么是本地方法1.1 本地方法的好处1.2 声明本地方法1.3 实现本地方法1. 生成头文件2. 编写C语言实现3. 编译C代码4. 运行Java程序 1.4 使用JNA1.5 总结 2 本地方法栈2.1 特点2.2 本地方法栈与Java虚拟机栈的区别2.3 本地方法栈的工作流程2.4 总结 无痛快速学习入门JVM欢迎订阅本免费专栏 1 什么是本地方法 首先要知道什么是本地方法本地方法并不是 JVM 自己的方法也不是 jre 里面的方法而是指那些操作系统自己的方法如C/C方法它们在操作系统目录里。可以这么理解本地方法就是计算机操作系统对外提供的方法JVM 通过调用这些方法可以实现 Java 程序和计算机的交互。 1.1 本地方法的好处 访问操作系统资源直接调用操作系统的API例如文件系统、网络接口、图形用户界面等。性能优化对于某些计算密集型任务使用C或C等语言实现可以显著提高性能。使用现有库利用已经存在的C/C库避免重复开发和维护。硬件访问直接访问硬件设备例如摄像头、传感器等。 所以如果我们想优化计算密集型任务的性能或是调用 Java 中没有实现的计算机功能我们可以自己实现一个本地方法。 1.2 声明本地方法 在Java中本地方法通过native关键字声明。例如 public class MyClass {// 声明本地方法public native void nativeMethod();// 静态块中加载本地库static {System.loadLibrary(mylib); // 加载名为mylib的本地库}public static void main(String[] args) {new MyClass().nativeMethod(); // 调用本地方法} }1.3 实现本地方法 本地方法的实现通常使用JNIJava Native Interface或JNAJava Native Access来完成。以下是使用JNI实现本地方法的步骤 1. 生成头文件 使用javah工具生成包含本地方法签名的C头文件。假设上面的Java类保存为MyClass.java编译后生成MyClass.class然后运行 javah -jni MyClass这将生成一个名为MyClass.h的头文件内容如下 /* DO NOT EDIT THIS FILE - it is machine generated */ #include jni.h /* Header for class MyClass */#ifndef _Included_MyClass #define _Included_MyClass #ifdef __cplusplus extern C { #endif /** Class: MyClass* Method: nativeMethod* Signature: ()V*/ JNIEXPORT void JNICALL Java_MyClass_nativeMethod(JNIEnv *, jobject);#ifdef __cplusplus } #endif #endif2. 编写C语言实现 根据生成的头文件编写C语言实现。例如 #include jni.h #include stdio.h #include MyClass.h// 实现本地方法 JNIEXPORT void JNICALL Java_MyClass_nativeMethod(JNIEnv *env, jobject obj) {printf(Hello from native method!\n); }3. 编译C代码 将C代码编译成动态链接库。假设C文件名为mylib.c编译命令如下 在Linux上 gcc -shared -o libmylib.so -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux mylib.c在Windows上 cl -I%JAVA_HOME%\include -I%JAVA_HOME%\include\win32 -LD mylib.c -Fe mylib.dll4. 运行Java程序 确保动态链接库在Java程序的库路径中然后运行Java程序 java -Djava.library.path. MyClass1.4 使用JNA JNA是一种更简单的方式来调用本地库不需要编写C代码。以下是一个使用JNA的示例 添加JNA依赖在项目中添加JNA的依赖。如果你使用Maven可以在pom.xml中添加 dependencygroupIdnet.java.dev.jna/groupIdartifactIdjna/artifactIdversion5.8.0/version /dependency定义接口定义一个接口来映射本地库中的函数。 import com.sun.jna.Library; import com.sun.jna.Native;public interface MyLib extends Library {MyLib INSTANCE Native.load(mylib, MyLib.class);void nativeMethod(); }调用本地方法 public class MyClass {public static void main(String[] args) {MyLib.INSTANCE.nativeMethod(); // 调用本地方法} }1.5 总结 本地方法是Java程序中的一种特殊方法其声明在Java代码中但实现由非Java语言编写。通过本地方法Java程序可以访问操作系统资源、优化性能、使用现有库和直接访问硬件设备。常见的实现方式包括JNI和JNA。 2 本地方法栈 2.1 特点 线程私有每个线程都有自己的本地方法栈与Java虚拟机栈一样本地方法栈也是线程私有的。存储结构本地方法栈中的每个栈帧Frame对应一次本地方法的调用。栈帧中包含本地方法的参数、局部变量、操作数栈等信息。调用机制当Java代码调用一个本地方法时JVM会创建一个新的栈帧并将其压入本地方法栈。本地方法执行完毕后栈帧会被弹出并丢弃。 2.2 本地方法栈与Java虚拟机栈的区别 用途不同Java虚拟机栈用于支持Java方法的执行而本地方法栈用于支持本地方法的执行。实现方式Java虚拟机栈的实现由JVM规范规定而本地方法栈的实现通常依赖于具体的JVM实现和操作系统的ABIApplication Binary Interface。数据类型Java虚拟机栈主要处理Java类型的值而本地方法栈可能涉及更广泛的C/C类型或其他原生类型。 2.3 本地方法栈的工作流程 方法调用当Java代码中调用一个声明为native的方法时JVM会查找该方法的本地实现。栈帧创建JVM为本地方法创建一个新的栈帧并将其压入本地方法栈。参数传递调用本地方法所需的参数会被从Java虚拟机栈复制到本地方法栈的栈帧中。方法执行本地方法在本地方法栈中执行可以访问操作系统资源、硬件设备等。结果返回本地方法执行完毕后结果会被从本地方法栈复制回Java虚拟机栈然后继续执行Java代码。栈帧弹出本地方法栈中的栈帧被弹出并丢弃。 2.4 总结 本地方法栈是JVM中用于支持本地方法调用的重要数据结构。通过本地方法栈Java程序可以调用用其他语言编写的代码从而实现更广泛的功能和更高的性能。
http://www.hkea.cn/news/14350004/

相关文章:

  • php中做购物网站的教程网站你懂我意思正能量晚上在线观看不用下载免费魅族
  • 电子商务网站建设系统功能18款免费软件app下载推荐
  • 公司互联网站全面改版自媒体时代做网站有前途吗
  • 网站登录模版互动营销公司
  • 自助定制网站开发公司贵阳seo技术
  • 商城模板网站模板现在什么网页游戏最好玩最火
  • 国内服务器做彩票网站安全吗建设网站方法有哪些
  • 做网站怎么引流制作网页网站的软件
  • 嘉定网站建设哪里便宜怎么做网站动态框
  • 网站建设相关视频河南平台网站建设找哪家
  • 怎么制作网站vi页面个人主页界面网站
  • 宁波江北区网站推广联系方式广州网站建设公司奇亿网站建设
  • 网站建设包括wordpress king主题下载
  • 宁夏建设厅违规通报网站网站欢迎页面怎么做
  • 深圳网站建设伪静态 报价 jsp 语言团购网站销售技巧
  • 电子商务网站开发技术论文网站域名区别吗
  • 做网站需要几大模板徐州编程培训机构
  • 企业网站制作教程长春火车站时刻表
  • 如何让域名到网站上海排名seo公司
  • 江门网站建设技术托管知名网站制作公司排名
  • 重庆建筑工程模板网站不可以做seo优化吗
  • 河北建设厅网站打不开是什么原因如何做软件app
  • 临沂做网站多少钱单页营销型网站
  • 社交网站备案南昌高端网站制作
  • 萧山网站建设那家好给一个公司做网站维护
  • 百度网站空间湖南做网站seo
  • 承包工程在哪个网站百度导航最新版本
  • 青岛网站建设开发外包qq是由哪家公司开发的
  • 驾校网站建设方案徐州网络推广
  • 网站 拉新专题网站建设策划