gpt4 book ai didi

java - 将 Java 类加载器与 native 库的动态加载进行比较

转载 作者:行者123 更新时间:2023-12-01 13:33:54 27 4
gpt4 key购买 nike

我试图弄清楚在大型多模块项目中,与使用 Win32 API 函数 LoadLibrary、GetProcAddress 动态加载 native 库相比,Java 类加载器有哪些优势。

使用这两种技术对部署、版本控制、API 更改的敏感性有何影响?事实上,总体维护成本。

我也想知道的一些相关问题:- 类加载器有助于防止 DLL hell 吗?- 如何实现多个模块的“并排”模式?

这是一个悬而未决的问题。即使您没有完整的答案,也请随意发表您的意见。

谢谢!

最佳答案

嗯,这是两种旨在实现同一目标的机制。动态库加载是在 JVM 或 .NET 诞生之前就已经设计和实现的,并且(这是我个人喜好的问题)后者可以更顺利地完成此任务。

应该通过在 DLL 名称中包含版本号来防止 DLL hell ,但是如果您不小心放入类路径中的内容,您可能会在 java 中得到类似的效果。

由于您可以完全控制应用程序的类路径,因此 Windows DLL 开发的并行思想在 java 中是完全可行的 - 一如既往,完全确定您的类路径中有什么。如果您想研究像 maven/gradle(构建自动化和依赖管理)和 Nexus(java 依赖关系存储库)这样的工具,它们将帮助您非常精确和轻松地管理依赖关系。

我希望你觉得这很有用

关于java - 将 Java 类加载器与 native 库的动态加载进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21401056/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com