1

我正在为化工行业构建一个 Web 应用程序。它基本上在化学结构数据库中搜索。需要进行大量化学信息学计算,并且有许多用 Java 编写的开源解决方案。

我目前想知道使用什么编程语言。我需要在 Java 中使用一些函数,我不想用 Java 编写整个系统,因为我不熟悉在其中编写 Web 应用程序。

所以我有了这个想法,准备一些带有所需功能的 .jar 文件,并通过命令行在 PHP 中使用它们。我想知道这个解决方案的可扩展性。

例如在一个周期内调用 1000 次 PHP 中的 .jar 文件是否很快?传递给 .jar 的参数可以多长时间?我假设大型数组转换为字符串作为参数。我怀疑这是否是一个好主意,为什么我不这样做?

谢谢你的想法。

4

3 回答 3

3

不,它没有效率。您将运行 1000 个 JVM 副本。加上启动/关闭这些 jvm 的开销。你最好使用一个合适的java服务器,比如Tomcat。

于 2012-09-26T14:07:46.303 回答
1

可以办到

你提到参数。我假设您的意思是命令行参数。你是对的,这可能是不可扩展的。相反,使用标准输入作为输入,使用标准输出作为输出。

您提到调用 jar 文件 1000 次。我假设您的意思是调用 jar 文件的主要方法。这将非常缓慢。而是尽可能多地在 java 中实现,因此每次请求启动 jar 文件几次。少数电话可能是可以接受的。只是没有任何循环。

基本上为java中的整个请求准备所有数据并将其打印到您从php读取的stdout。

当然,如果你有时间学习 jsp+servlet,在 servlet 容器中运行会更快。

于 2012-09-26T14:28:32.440 回答
0

你对此提出质疑是对的。除了可能很慢之外,混合 PHP 和 Java 也可能不是一个明智的主意。您应该使用 100% PHP 或 100% Java,但不能同时使用两者。我认为两者都能够满足您的需求,因此我认为您应该更好地研究这个问题。

我个人会建议 Java,因为它相当广泛地处理后端和前端,并且在线上有很多支持和库可用。如果您希望坚持使用 PHP,那么我认为您也可以这样做,尽管您应该小心构建代码,否则您可能会轻易地使您的 Web 应用程序复杂化。

但是,假设这些选项都不是您希望采用的路径: 我认为参数大小的任何限制首先是操作系统的限制。但是,如果您认为您可能会达到这些数字,您可能应该考虑写入文件并从中读取这些 jar。

于 2012-09-26T14:11:03.900 回答