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

使用 VS code + Oracle java 插件搭建java语言原生的notebook环境

使用 VS code + Oracle java 插件搭建java语言原生的notebook环境, 相较于基于Juypter的方案, 有更好的LSP语言提示, 更快的运行速度.
注意插件是 Oracle 出品的那个 java 插件, 如果已经安装了Redhat或微软的 Java 扩展,最好卸载, 以免与Oracle java插件命令和配置混淆。

安装和配置Oracle java插件

  1. 安装 Java 扩展, 注意选择 Oracle 出品的那个。 只有 Oracle java 插件原生支持 notebook 功能, 它并不依赖Python Juypter环境.
  2. 在VS code命令面板输入 JDK 字样,可以找到 JDK Downloader, 可以自动下载Oracle JDK 或 Open JDK, 下载并按照即可。
  3. 在VS code命令面板输入 JDK 字样,可找到 Select an installed JDK, 选择Java插件绑定哪个JDK 。
  4. 如有必要设置 maven 私服地址
    在 vscode oracle-java 插件安装目录下搜索 maven\conf\settings.xml, 在文件中设置私服地址。

使用 Oracle java 插件编写简单程序

  1. 在VS code命令面板输入 Java 字样,选择创建一个 maven 项目,包含一个 pom.xml 和 主程序 java 文件。
  2. 运行和调试: 在主程序 java 文件的 main 方法上方, 会有 Run main和Debug main的镶嵌命令,可以运行或调试。
  3. 编译: 在VS code命令面板输入 Java 字样,可以选择 compile workspace。

使用 Oracle java 插件编写notebook

  1. 使用vs code打开一个已有的 java 项目中
  2. 在VS code命令面板输入 Java 字样,选择创建 notebook 命令, 即会生成一个ijnb 文件。
  3. 在 notebook 的 java cell中,输入一个 hello world测试一下。
System.out.print("hello world");
  1. pom中引入一个外部jar包。 比如引入 hutool。
        <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.44</version></dependency>
  1. 通过VS code 命令 java compile workspace, 触发下载外部 jar 包
  2. 通过vscode 命令 reload window, reload notebook 以便当前notebook文件可以引入pom新下载的jar
  3. 在 notebook 的 java cell 导入 hutool 的 StrUtil测试。
import cn.hutool.core.util.StrUtil;
String hello=StrUtil.upperFirst("hello world");
System.out.print(hello);

搭建一个数据分析工具箱

  1. 引入 tablesaw、tablesaw plotly类库, 它们提供类似于 pandas 和matplotlib的功能
  2. 引入 duckdb 类库, 读取 csv/parquet 文件, 使用sql进行数据分析处理.
  3. (可选)引入 DFLib 类库, 相比 tablesaw 功能较弱, 也是另一个类似 pandas dataframe 功能的类库, 但chart现实功能较弱.
  4. (可选)优化算法库 jMetal
  5. (可选)计算学习算法库 smile/tribuo/Weka 等

说明: duckdb/tablesaw/DFLib都可访问csv等外部数据源, duckdb可使用sql进行数据处理, tablesaw/DFLib可使用data frame的方式进行数据处理, 另外tablesaw/DFLib都可通过jdbc访问db, 所以可以结合sql和dataframe两者的优势进行数据处理.

资料

https://github.com/jtablesaw/tablesaw
https://jtablesaw.github.io/tablesaw/
https://dflib.org/
https://jmetal.readthedocs.io/
https://haifengl.github.io/overview.html
https://tribuo.org/learn/4.3/docs/

http://www.jsqmd.com/news/705260/

相关文章:

  • 3分钟搞定OFD转PDF:免费开源神器Ofd2Pdf使用全攻略
  • [SWPUCTF 2021 新生赛]gift_F12 WP
  • Web3数据基础设施Mega:模块化架构与实战部署指南
  • AIHawk:基于Python与GPT的自动化求职智能体开发实践
  • JoyCon-Driver:让Switch手柄在Windows上重获新生的终极方案
  • Java String增删改查操作详解
  • 终极指南:用RimSort彻底解决环世界MOD管理难题,告别游戏崩溃
  • OpenClaw vs Hermes Agent
  • 2026湖南企业获客新机遇:GEO正在取代SEO,AI问答已成主战场 - 星城方舟
  • 【评测系列4】测试视角:我通宵测了 ChatGPT Image 2:100%通过背后,藏着1个危险信号
  • ITK-SNAP医学图像分割:从入门到精通的完整操作指南
  • VAC-Bypass-Loader技术实现深度解析:Windows进程注入与反作弊绕过机制
  • 【MCP 2026低代码集成权威指南】:20年架构师亲授5步落地法,错过再等三年!
  • 23岁业余爱好者借助ChatGPT攻克60年未解数学难题,新方法或有广泛应用
  • 上海永辉超市卡回收指南 - 京顺回收
  • Arm Total Compute时钟控制架构与低功耗设计解析
  • XGBoost数据预处理实战:类别编码与缺失值处理
  • 风控误杀为什么总压不下来?从样本回溯、规则调优到效果评估一次讲透
  • WASM边缘服务上线倒计时:Docker Compose v2.22起支持wasm32-wasi,但92%开发者还没启用这个flag
  • FinAgent-从多数据源分析、Agent 编排到 Debate / Memory / Reflection 的工程化落地(二)
  • 如何自动同步SQL异构表数据_利用触发器实现实时数据复制
  • 画图工具推荐:绘制架构图、流程图
  • DESIGN.md:用Markdown构建AI可理解的设计系统,实现精准UI生成
  • AndroidStudio中文语言包深度解析:IDE本地化架构设计与实战应用
  • 哔咔漫画下载器:打造个人离线漫画图书馆的终极解决方案
  • Edgi-Talk开发套件:边缘AI全栈解决方案解析
  • MCP 2026AI推理集成灰度发布SOP,支持毫秒级流量切分与自动回滚(内置2026AI-RTT协议v0.9.3-beta签名验证机制)
  • 揭秘浮点数:从数值表示到编码及特殊值处理
  • 保姆级教程:用GD32F103的DAC+TIMER+DMA生成正弦波,示波器实测波形稳如老狗
  • UE4 GAS Buff 模块源码阅读