文章预览
作者 | Benjamin Eckel
译者 | 明知山
策划 | Tina 在 JVM 这类托管运行环境中,执行本地代码的需求往往不可避免。这种情况通常出现在需要调用用 C 语言实现的加密、压缩、数据库操作或网络通信功能时。 以 SQLite 为例,据其开发者 所述,它是 JVM 应用程序中使用最为广泛的数据库开发库。但 SQLite 是用 C 语言编写的,那么它是如何在 JVM 应用程序中运行的呢? 动态链接是我们现今处理这个问题的最常见的方式,在各种编程语言中已成功应用数十年,而且效果很好。然而,当应用于 JVM 环境时,这种方法可能会带来一系列问题。另一种解决方案是将代码库迁移到不同的编程语言,但这也同样面临着挑战。 本文将探讨在 JVM 中集成本地扩展的潜在缺陷,并简要分析将代码库移植到其他编程语言所面临的挑战。此外,我们将介绍如何将 WebAssembly(Wasm)
………………………………