ubuntu20.04 java 开发环境搭建及 JNI 使用

本文详细介绍了在Ubuntu 20.04上安装Java 11,配置VSCode插件,以及如何使用JNI进行Java与C++交互,包括头文件生成、C++实现、编译和Java调用C++示例。
java开发环境搭建及JNI使用

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

1. VSCODE 插件

  • Code Runner
  • Extension Pack for Java
  • Maven for Java
  • Debugger for Java
  • Test Runner for Java
  • Project Manager for Java
  • Language Support for Java™ by Red Hat
  • Java Debugger

2. ubuntu20.04安装Java

​ 默认的ubuntu20.04源仓库包含了两个openJDK软件包,Java Runtime Environment(JRE)和Java Development Kit(JDK)。JRE主要包含了Java虚拟机(JVM),类和允许你允许Java程序的二进制包。JDK包含JRE和用于构建Java应用的开发/调试工具和库文件.
Java11s java的一个长期支持版本,同时也是Ubuntu20.04的默认Java开发和运行环境。

  • 安装

    sudo apt-get update
    sudo apt-get -y install openjdk-11-jdk
    java --version
    
  • 设置Java默认版本

    java  --version
    sudo update-alternatives --config java
    

    已经安装的Java版本都会输出,输入想要设置为默认的序列化,按enter即可

  • Java_HOME环境变量

    # 首先查看Java的安装位置
    update-alternatives --config java
    
    # 打开/etc/environment文件
    sudo vim /etc/environment
    # 将JAVA_HOME指定到OpenJDK11,在文件末尾添加
    JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    
    # 运行下述命令让shell生效
    source /etc/environment
    
    # 验证JAVA_HOME环境变量
    echo $JAVA_HOME
    
  • vscode Java_HOME环境变量配置

    settings.json

    "java.jdt.ls.java.home": "/usr/lib/jvm/java-11-openjdk-amd64",
    

3. java 编译

# 编译单个文件
javac test.java
javac test

# package
javac -d . *.java
java animals/MammalInt

javac -d ../ JNIDemo.java Java2Cplusplus.java BaseClass.java
javac test.java
java -Djava.library.path=./JNIDemo  test

# JNI
javac -h . JNIDemo.java
javap -s -p  Java2Cplusplus.class

# cpp
g++ -fPIC -I /usr/lib/jvm/java-1.11.0-openjdk-amd64/include/ -I /usr/lib/jvm/java-1.11.0-openjdk-amd64/include/linux/ -shared -o libcom_huhu_test_JNIDemo.so com_huhu_test_JNIDemo.cpp

4. JNI

4.1. JAVA调用C++

import com.huhu.test.*;
/* 文件名 : MammalInt.java */
public class test
{
   
   
    public static void main(String[] args)
    {
   
   
        //加载C文件
        System.loadLibrary("com_huhu_test_JNIDemo");
        JNIDemo jniDemo = new JNIDemo();
        jniDemo.testHello();
        int[] data = {
   
   1, <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

002237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值