Python 与 Java 集成?为什么不!
来源:
Jaxenter
实际上,将系统编程和脚本语言相结合并不是一个奇怪的新概念:只是很少使用。对于具有通用二进制应用程序接口的编程语言,完全有可能将它们组合成单个库或可执行文件。虽然这让事情变得更加困难,但有一些工具可以提供帮助。Python 和 Java 实际上是相辅相成的。例如,您可以将其中一种用于典型的子任务,另一种作为脚本语言来扩展应用程序的设置。例如,在集成其他语言时,JavaScript 通常不会在 Web 浏览器之外使用,至少与 Perl、Tcl、Visual Basic 和 Python 等其他脚本语言相比是这样。然而,所有这些语言通常都与其他语言结合在一起。Python 传统上与 C 和 C++ 结合在一起,而 Visual Basic 通常是 Windows 平台上 C++ 的首选脚本语言。Perl 和 Tcl 一样,普遍用于 C/Unix 上。Python 在 Windows 上使用得更频繁,因为它可以轻松地与 Microsoft Scripting Host 架构以及 COM 集成。另外,它也非常适合 macOS 工具。
为什么选择 Java 和 Python?
Python 是一种面向对象的脚本语言,非常适合 Java。结合完全用 Java 编写的 Python 解释器(例如 Jython),您可以用 Python 编写整个小程序,然后它可以在任何兼容 JDK 的浏览器中运行,代码执行速度几乎与 C/CPython 一样快。Jython 解释器将 Python 源代码直接翻译为 Java 字节码,速度令人难以置信。但其他 Java 脚本解决方案(Java/TCL、Java/Perl 等)将 JVM 附加到这些语言的 C 实现上,这不仅产生了可移植性问题,而且这些解决方案本身并不像我们希望的那么容易。
一起使用 Java 和 JPython 的最佳方式是什么?
有许多经过验证的工具可以在 Java 中实现 Python,反之亦然,因此您可以用另一种语言运行一种语言的命令。以下是一些将 Python 与 Java 集成的最佳工具的简短列表:
Jython
是用 Java 实现的 Python。
JPype
- 允许您使用 Python 运行 Java 命令。
Jepp
- Python 中内置的 Java。
JCC
是一个 C++ 代码生成器,用于从 C++/Python 调用 Java。
Javabridge
是一个用于从 CPython 运行 JVM 并与之交互的包。
Py4j
- 允许您在 Python 中运行 Java 命令。
Voc是
BeeWare
工具的一个组成部分。将 Python 代码转换为 Java 字节码。
p2j
- 将 Python 代码转换为 Java。不再开发。
使用这些工具有多种方法。每个都有自己的优点和缺点。例如,您可以在 Jython 中构建整个应用程序的原型,经过几轮测试和重新设计后,用 Java 重写所有内容。这使您可以在项目早期利用开发脚本语言所提高的灵活性和速度。然而,您的最终产品将需要比您刚开始仅使用 Java 编写时更详细一些。如果您担心 UI 库,Jython 可以连接到与常规 Java 相同的 UIL,因此转换 Java 应该是轻而易举的事。然而,如果您尝试构建一个大型项目,事情就没那么简单了。您可能会遇到具有独立开发周期的各种组件和层(例如顶级组件)的缺点。当然,当您接近稳定版本时,您可以用 Java 重写各个组件,或者只是从一开始就只用 Java 编写一些组件。另一种选择是仅重写那些性能很重要的组件。这样,您可以将高级组件保留在 Jython 中,这意味着您只需要重写较低级组件,并且在某些情况下您根本不需要重写任何内容。
Jakarta EE 和 Eclipse MicroProfile 简介
来源:
DZone
还没有听说过 Jakarta EE 和 Eclipse MicroProfile 吗?因此,是时候了解 Java Enterprise 标准是如何开发的了。这两种技术将来肯定会对您有用,因为它们非常适合构建云原生和现代企业应用程序。
什么是雅加达 EE?
Jakarta EE 是一组用于用 Java 编写企业应用程序的规范(JAX-RS、CDI、JPA、JSON-P 等)。这些规范是定义 API 以及技术如何交互的文档。
规范文档就像具有正式定义的接口,这些接口的实际实现取决于应用服务器供应商(例如WildFly、Open Liberty、Payara、TomEE)。为了防止供应商错误地实施规范,每个规范都提供了技术兼容性工具包 (CTS)。这是一组用于验证特定规范的实现的合规性的测试。一旦应用服务器传输了所有规范的CST,它就符合整个标准。多年来,Java EE 一直是编写企业应用程序的标准方式。Java EE(以前称为 J2EE)长期以来一直受到 Oracle 的支持。2017年,Oracle决定不再在其支持下开发企业标准,并将其转移给Eclipse基金会。出于法律原因,他们不得不重新命名并决定将产品命名为 Jakarta EE。
您可以在官方网站
上找到所有 Jakarta EE 规范,并且可以在 Eclipse 基金会网站上获取有关规范流程当前如何运作的更多信息。
什么是 Eclipse MicroProfile?
由于 Java EE 的新功能发布和调整过程相当缓慢,一群供应商和社区成员决定在 2016 年创建 MicroProfile。该项目的主要目标是帮助开发人员跟上时代的步伐,并优化现有的微服务架构平台。目前,Eclipse MicroProfile 包含 12 种规范。其中四个也是 Jakarta EE 的一部分。这使您可以专门使用 MicroProfile 创建独立应用程序。所有规范均独立于供应商,并且随应用程序服务器一起实施。Jakarta EE 规范可以被视为构建企业应用程序的坚实基础。除此之外,Eclipse MicroProfile 还填补了构建分布式系统的空白,因为该技术遵循
十二因素应用
程序方法。
CodeGym 是一个从零开始学习 Java 语言编程的在线课程。本课程是初学者掌握 Java 语言的绝佳方式。它包含 1200 多个可即时验证的任务,以及基本范围内的 Java 基础理论。为了帮助你在教育上取得成功,我们实现了一组激励功能:小测验、编码项目以及有关高效学习和 Java 语言开发人员职业方面的内容。