小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
NativeIO 源码解析

NativeIO通过JNI实现Java未实现的IO接口,提升性能。初始化在静态代码块中完成,确保线程安全。核心功能包括初始化异常对象和文件描述符,支持多种底层IO操作,如获取持久内存路径和内存映射。

NativeIO 源码解析

小令童鞋
小令童鞋 · 2025-12-14T09:15:40Z
将GPU级性能引入企业Java:CUDA集成实用指南

Java可以通过JNI与CUDA集成,尽管不是原生设计。这种集成可实现高达100倍的性能提升,适用于加密和分析等计算密集型任务。CUDA支持大规模并行处理,超越Java的线程限制,适合企业系统。

将GPU级性能引入企业Java:CUDA集成实用指南

InfoQ
InfoQ · 2025-06-05T11:00:00Z
黄凯:用Java扩展PostgreSQL:克服集成挑战

桥接Java与C旨在结合两者优势,满足不同需求。通过JNI,C应用可利用Java库和API,反之亦然。以SynchDB为例,它是一个PostgreSQL扩展,利用Java实现异构数据库复制,面临跨语言内存管理和线程兼容等挑战。有效的批处理和协调对性能和稳定性至关重要。

黄凯:用Java扩展PostgreSQL:克服集成挑战

Planet PostgreSQL
Planet PostgreSQL · 2025-05-08T20:56:02Z
JavaOne 2025:纯Java中的函数和内存访问

Per-Åke Minborg在JavaOne 2025上介绍了JEP 454,外部函数和内存API,旨在替代JNI,解决维护成本高和效率低的问题。FFM API提供安全高效的本地内存访问,支持结构化访问和直接调用本地函数,简化开发流程。

JavaOne 2025:纯Java中的函数和内存访问

InfoQ
InfoQ · 2025-04-04T05:00:00Z
JavaOne 2025 第二天:外部函数与内存API、虚拟线程、平台工程、Jakarta EE的演变

2025年JavaOne大会将于3月19日在加州举行,讨论外部函数与内存API、虚拟线程、Kubernetes与Java的结合,以及Jakarta EE的演变。演讲者将探讨JNI缺陷的解决方案、虚拟线程的应用及Java现代化的挑战,同时提及Jakarta EE 11的新规范和潜在特性。

JavaOne 2025 第二天:外部函数与内存API、虚拟线程、平台工程、Jakarta EE的演变

InfoQ
InfoQ · 2025-03-26T16:10:00Z
Android NDK:使用JNI和C++实现日志记录

本文介绍了如何在Android项目中集成NDK日志库,以便从本地代码记录日志。首先,确保安装NDK和CMake,并创建新的Android项目。然后,通过JNI将C++日志功能与Kotlin代码连接,最后提供示例代码以展示如何调用这些日志功能。

Android NDK:使用JNI和C++实现日志记录

DEV Community
DEV Community · 2025-03-15T06:20:44Z
掌握 Java 本地接口:高效集成与性能的最佳实践

Java Native Interface (JNI) 是一个允许 Java 应用与 C/C++ 等本地代码交互的框架。正确实现 JNI 对性能和稳定性至关重要,开发者应减少 JNI 边界交叉,优化资源管理,处理异常,并确保线程安全。遵循最佳实践可以实现高效、可靠的 JNI。

掌握 Java 本地接口:高效集成与性能的最佳实践

DEV Community
DEV Community · 2025-02-02T11:39:25Z

OpenJDK质量小组推动使用OpenJDK构建测试FOSS项目,以提升发布质量。JDK 24通过JEP 472引入默认完整性政策,要求开发者明确批准可能破坏完整性的特性,并对JNI和FFM的受限操作发出警告。新工具jnativescan可帮助识别使用JNI的库。

质量推广提醒 - JDK 24 准备限制本地访问

insidejava
insidejava · 2024-12-09T00:00:00Z

这篇文章来自Oracle的Java团队,分享了Java技术的最新发展、项目进展和团队动态,并讨论了Java在行业中的应用和未来趋势,为开发者提供有价值的见解。

JEP 目标 JDK 24:472:准备限制 JNI 的使用

insidejava
insidejava · 2024-10-16T00:00:00Z

作者Lucas Wasilewski在有限条件下编程,尝试用Java连接Postgres数据库,不依赖Gradle或Maven。他通过JNI和libpq库实现,并创建了一个简单的CRUD库。随后,他挑战解析10亿行CSV文件,通过多线程和StringBuilder优化性能,将处理时间缩短到20秒以内。尽管未达到理想时间,他学到了许多技术细节,并分享了项目代码。

20 Million Lines in 20 Seconds

DEV Community
DEV Community · 2024-10-09T18:08:12Z

作者开发了Rust库rs4j,用于简化在Java库中使用Rust代码。rs4j通过生成JNI代码,将高计算量任务转移到更快的运行时,提高性能。它简化了本地接口的创建,减少了代码量。文章介绍了如何配置和使用rs4j,包括Cargo.toml设置、构建脚本等,并分享了语法、代码生成和内存管理的细节。作者对项目表示自豪,并提供了相关链接。

rs4j:构建JNI框架

DEV Community
DEV Community · 2024-10-01T19:04:53Z

文章介绍了如何在Android上使用C++和OpenGL ES创建蓝色方块,并通过Jetpack Compose展示。内容包括配置CMakeLists.txt、使用GLSurfaceView和Renderer类、编写着色器,以及通过JNI在Kotlin/Java中调用C++代码。适合有基础的读者参考。

在Android中使用C++创建OpenGL方块:参考指南

DEV Community
DEV Community · 2024-09-28T04:23:22Z
演讲:利用特殊硬件:绘制JVM性能的未来蓝图

本文讨论了在Java虚拟机(JVM)中使用专用硬件(如GPU和向量单元)的情况。它探讨了Project Panama和Project Babylon等项目,旨在优化JVM以适应先进的硬件。文章还提供了使用JNI、Aparapi、Project Sumatra和TornadoVM来利用专用硬件的案例研究。它强调了这些项目的挑战和好处,以及它们对JVM中硬件利用的未来影响。

演讲:利用特殊硬件:绘制JVM性能的未来蓝图

InfoQ
InfoQ · 2024-07-19T10:11:00Z

这篇文章介绍了一个rust/java互操作的样例集,欢迎大家一起补充和完善样例。

rust 通过 jni-rs 与 java 互操作样例

Rust.cc
Rust.cc · 2024-07-17T03:27:52Z
JEP 472:准备在JDK 24中限制JNI的使用

JEP 472提议限制将来的Java版本中JNI和FFM API的使用,以增强安全性和性能。该提议包括对JNI使用发出警告和调整FFM API。目标是要求开发人员对任何JNI和FFM API的使用进行明确批准。文章解释了JNI使用的风险,如内存损坏和绕过访问检查。提议建议采取分阶段的方法限制JNI的使用,并提供了启用本地访问的选项。文章还提到了一个新工具,jnativescan,用于帮助识别使用JNI的库。过渡到更严格的JNI限制可能需要进行调整,但将有助于构建更安全的Java生态系统。

JEP 472:准备在JDK 24中限制JNI的使用

InfoQ
InfoQ · 2024-07-15T13:50:00Z

在本文中,作者详细介绍了JNI的实现过程。首先,作者解释了在系统启动过程中,JNI的构建阶段,包括加载核心库、创建虚拟机对象和注册JNI函数。然后,作者讲解了在Java调用JNI函数时的运行时阶段,包括解析native方法、链接到汇编代码和调用注册的JNI函数。最后,作者介绍了在JNI调用Java函数时的过程,包括加载so库、调用JNI_OnLoad函数和通过函数信息调用Java函数。

JNI的源码实现分析

六虎
六虎 · 2024-04-08T00:22:26Z

本文通过性能基准测试比较了Java本地调用API的性能,发现外部函数接口优于JNI。测试结果显示JNA较慢,JNR略快于Bridj,但仍落后于JNI。JDK的外部API性能比JNI快两倍。Panama API本身比纯Java慢一点,但在本机调用性能方面领先。可以使用池化Arena进行分配并传递Linker.Option.critical()/isTrivial()给downcallHandle选项来进一步提高性能。

JDK外部函数Panama API性能超过了JNI

极道
极道 · 2023-08-09T22:40:00Z

Rust Maven插件简化了在Java中使用JNI和Rust的过程,支持cargo build和cargo test功能,可自定义编译和复制二进制文件位置。通过在pom.xml中配置路径,可以构建多个Rust crate。

rust-maven-plugin:在Java Maven项目中编译和捆绑Rust JNI库

极道
极道 · 2023-07-02T03:41:00Z

近期工作中有Rust和Java互相调用需求,这篇文章主要介绍如何用Rust通过JNI和Java进行交互,还有记录一下开发过程中遇到的一些坑。 JNI简单来说是一套Java与其他语言互相调用的标准,主要是C语言,官方也提供了基于C的C++接口。 既然是C语言接口,那么理论上支持C...

Rust与Java交互-JNI模块编写-实践总结

Rust.cc
Rust.cc · 2022-09-25T13:37:04Z

在 Android 中通过 JNI 去操作 Bitmap。

Android JNI 之 Bitmap 操作

多媒体开发札记
多媒体开发札记 · 2018-07-25T05:36:50Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码