在Jupyter notebook中安装Java kenerl,搭建Java环境

从python转学java的时候,IDEA就对应着Pycharm可以很方便的进行项目的整合debug。但有时候也需要方便展示记笔记和练习的方法。正好Python学习常用的Jupyter notebook也可以支持多种其他语言,包括Java。这里介绍了如何在Jupyter notebook中安装Java内核,方便地用笔记本的方式进行操作。

准备

  • JAVA version > 8
    终端输入java --version检查是否安装了合格的版本。
PS C:\Users\acc> java --version
java 11.0.10 2021-01-19 LTS
  • Jupyter notebook
    检查Jupyter notebook可以使用。终端输入jupyter notebook -V
PS C:\Users\acc> jupyter notebook -V
6.0.3
  1. IJava
    github上下载IJava zip包。
    网址:https://github.com/SpencerPark/IJava/releases
    在这里插入图片描述

安装

  1. 进入IJava zip包下载后存放的位置。
cd C:\Users\acc\Downloads //输入自己保存的目录
  1. 命令行解压IJava包。
unzip ijava-1.3.0.zip
  1. 发现当前目录下多了两个文件:
PS C:\Users\acc\Downloads> ls
    目录: C:\Users\acc\Downloads

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2019/5/5     23:22                java
------         2019/5/5     23:22           7471 install.py
  1. 终端输入:
python install.py --user

就java环境搭建就结束了。(安装后解压出来的java文件夹和install.py都可以删除。)

检验

  1. 检验java是否出现在jupyter notebook的kernel里。终端输入:
jupyter kernelspec list

如果看到返回kernel中存在java,则证明成功。

Available kernels:
  java       C:\Users\acc\AppData\Roaming\jupyter\kernels\java
  python2    C:\Users\acc\AppData\Roaming\jupyter\kernels\python2
  python3    C:\Users\acc\AppData\Roaming\jupyter\kernels\python3
  1. 打开jupyter notebook检验是否能正常使用。
    终端输入jupyter notebook打开页面。
    点击右上角【新建】按钮,找到java的kernel打开,即可新建JAVA文件。
    在这里插入图片描述

新建JAVA文件进行测试。
在这里插入图片描述
Java环境搭建完成。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在 Android TV 上获取蓝牙键值并将其传递给内核,您需要执行以下步骤: 1. 在 Android TV 上设置蓝牙配对设备。 2. 创建一个 BroadcastReceiver 以接收蓝牙键值。 3. 在 BroadcastReceiver 处理蓝牙键值,并将其传递给内核。 以下是一个示例 BroadcastReceiver: ```java public class BluetoothReceiver extends BroadcastReceiver { private static final String TAG = "BluetoothReceiver"; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); switch (state) { case BluetoothAdapter.STATE_OFF: Log.d(TAG, "Bluetooth off"); break; case BluetoothAdapter.STATE_TURNING_OFF: Log.d(TAG, "Turning Bluetooth off..."); break; case BluetoothAdapter.STATE_ON: Log.d(TAG, "Bluetooth on"); break; case BluetoothAdapter.STATE_TURNING_ON: Log.d(TAG, "Turning Bluetooth on..."); break; } } else if (BluetoothDevice.ACTION_KEY_EVENT.equals(action)) { int keyCode = intent.getIntExtra(BluetoothDevice.EXTRA_KEY_CODE, -1); if (keyCode != -1) { // Do something with the key code, such as pass it to the kernel } } } } ``` 您需要将此 BroadcastReceiver 注册到您的 Android TV 应用程序,并使用 IntentFilter 指定要接收的蓝牙广播。例如,您可以在 onCreate() 方法注册 BroadcastReceiver: ```java IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); filter.addAction(BluetoothDevice.ACTION_KEY_EVENT); registerReceiver(new BluetoothReceiver(), filter); ``` 在 BroadcastReceiver ,您可以处理蓝牙键值并将其传递给内核。为了将键值传递给内核,您需要使用 JNI 调用 C 函数,并将键值作为参数传递。例如: ```java public class MyNativeLibrary { static { System.loadLibrary("my_native_library"); } public static native void sendKeyEvent(int keyCode); } ``` 您需要在您的 C 代码实现 sendKeyEvent() 函数,以便它能够将键值传递给内核。例如: ```c JNIEXPORT void JNICALL Java_com_example_MyNativeLibrary_sendKeyEvent(JNIEnv *env, jobject obj, jint keyCode) { // Send key event to kernel } ``` 这是一个简单的示例,您需要根据您的特定用例进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值