Java Jython是什么?它有用吗?
我知道Python,但Jython是什么Java Jython是什么?它有用吗?,java,python,jython,Java,Python,Jython,我知道Python,但Jython是什么 我什么时候需要Jython 缺点是什么 我想是慢了吧 请详细说明!谢谢。引用: Jython是JPython的继承者,是用Java编写的Python编程语言的一个实现 至于它可能有什么用途: Jython程序可以无缝地导入和使用任何Java类。除了一些标准模块外,Jython程序使用Java类而不是Python模块 Jython、IronPython和CPython的性能测量表明,在某些情况下,Jython和IronPython在大数据集上的性能都优
- 我什么时候需要Jython
- 缺点是什么
- 我想是慢了吧
Jython、IronPython和CPython的性能测量表明,在某些情况下,Jython和IronPython在大数据集上的性能都优于CPython。Jython是一种在JVM上运行的Python实现。 理论上,Jython比CPython慢一点 您可以在这里找到一些基准:
JVM做了一些很好的动态优化,但可能没什么好激动的。JRuby有时通过优化大量运行的代码路径在JVM()上运行得更快,但这是Ruby,而不是Python Java库是主要原因。许多公司都有大量可以用Python编写脚本的Java代码。还有一些开源框架(Struts和EclipseSpring),您可以使用Jython编写脚本
我什么时候需要Jython 当您想用Python编程,但需要(或想要)在Java虚拟机上运行结果,或使用现有Java组件时 缺点是什么 Jython可能无法与Python 100%兼容,尽管任何不兼容都会被视为bug。如果您以后想要/需要在CPython上运行,则必须重写任何使用Java组件的代码 我想是慢了吧 这取决于您的特定用例。在某些情况下,它实际上可能比CPython快;当然,这取决于您运行的特定JVM——这些JVM会一直变得更好
我什么时候需要Jython 例如,在代码中添加一种好的脚本语言 缺点是什么 主要缺点是Jython落后于官方的CPython发行版。目前,您可以获得与Python2.5.2兼容的Jython版本,而CPython版本为3.1 此外,一些深奥的模块也不受支持。通常,您不会注意到和/或很难找到Java替代品 我想是慢了吧 和什么相比?通常,它要么足够快,要么不够快时,你可以用大约1000行速度更快的Java替换几行Python。还有两个原因:
- 将脚本嵌入到大型Java应用程序中李>
- 使用Java线程在Jython中编写多线程程序李>
- 我什么时候需要Jython
您可以使用Jython为WebSphereApplicationServer编写管理脚本。这些脚本用于自动化常见的管理任务,并在WebSphereApplicationServer中配置安全性
WebSphere利用JMXAPI创建MBean,这些MBean作为内部WebSphere对象的API公开。由于Jython脚本基于Java,并且在JVM上运行,因此它们可以访问这些对象,并可用于配置WebSphere
此外,用Jython编写代码很有趣,您可以学习一门新语言
我什么时候需要Jython 我需要Jython来测试JDBC驱动程序。我使用的一些应用程序使用ODBC,一些使用JDBC。使用Jython,我可以从一个Python源代码测试这两种类型的驱动程序
(为了测试ODBC,我使用JDBC-ODBC桥)。如果您了解Python,并且已经接受了“pythonic”的工作方式,那么Jython允许您将这种理念引入JVM堆栈。如果您这样做,就不仅仅是添加脚本功能 在我们最新的项目中,所有定制和业务逻辑都是在Jython中构建的,同时我们仍然可以利用一些经过测试的Java库,如Solr、Jasperreports、Quartz、Jetty、Velocity等等 它确实被编译成字节码,然而,添加了一个额外的层,但是与使用ORM而不是直接的JDBC没有什么不同 你在生产力上所获得的远远超过了在性能上所损失的微乎其微 在服务器端,Jython很少成为瓶颈。对于迷你桌面应用程序,可能会有问题,但这在很大程度上取决于您正在尝试做什么
最新的JDK,加上Jetty或Tomcat等容器都非常成熟和稳定,在许多情况下,在上面添加Python可以实现这两个方面的最佳效果。为了获得良好的速度性能或实现真正的多线程程序,直接从java(本机)调用Python脚本是最好的方法。只需准备好python脚本,然后让java完成其余的工作,以便并发调用到python脚本中。下面的文章也很有趣:现在我们知道Jython在某些基准测试中渐进地比CPython快。Jython不像java那样编译成字节码。字节码完成了CPython所做的所有出色的动态运行时工作,因此比Java慢得多。回答不错。我有一个现有的Java应用程序,想做一些文件解析,这在Java中可能会很乏味。使用Jython可以让我用python语法(file.read()、list.split()等)进行解析吗?