Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PHP多次运行.jar文件-可伸缩性?_Java_Php_Jar_Scalability - Fatal编程技术网

Java PHP多次运行.jar文件-可伸缩性?

Java PHP多次运行.jar文件-可伸缩性?,java,php,jar,scalability,Java,Php,Jar,Scalability,我正在为化学工业构建一个web应用程序。它基本上是在化学结构数据库中搜索的。需要进行大量的化学信息计算,并且有许多用Java编写的开源解决方案 我现在想知道该用什么编程语言。我需要在Java中使用一些函数,我不想用Java编写整个系统,因为我不熟悉用Java编写web应用程序 所以我有这个想法准备一些带有所需函数的.jar文件,并通过命令行在PHP中使用它们。我想知道这个解决方案的可伸缩性 在PHP中调用.jar文件(例如,在一个周期内调用1000次)是否很快? 传递给.jar的参数可以是多长时

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

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

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

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


谢谢你的建议。

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

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

您的问题是对的。除了速度可能较慢之外,混合使用PHP和Java可能也不是一个明智的想法。您应该使用100%PHP或100%Java,但不能两者混合使用。我认为两者都能满足你的需要,所以我认为你应该更好地研究这个问题

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

但是,假设这两个选项都不是您希望选择的路径:
我认为参数大小的任何限制首先是操作系统的限制。但是,如果您认为您可能正在命中这些数字,那么您可能应该考虑向文件写入并从这些文件中读取这些信息。p> 你质疑这一点是对的。除了速度可能较慢之外,混合使用PHP和Java可能也不是一个明智的想法。您应该使用100%PHP或100%Java,但不能两者混合使用。我认为两者都能满足你的需要,所以我认为你应该更好地研究这个问题

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

但是,假设这两个选项都不是您希望选择的路径: 我认为参数大小的任何限制首先是操作系统的限制。但是,如果您认为您可能正在命中这些数字,那么您可能应该考虑向文件写入并从这些文件中读取这些信息。p> 这是可以做到的

你提到了参数。我想您指的是命令行参数。您是对的,这可能是不可伸缩的。相反,输入使用标准输入,输出使用标准输出

您提到调用jar文件1000次。我想您的意思是调用jar文件的main方法。这将是非常缓慢的。相反,在java中尽可能多地实现,因此每个请求都会启动jar文件几次。一个满满的电话是可以接受的。只是没有任何循环

基本上,在java中准备整个RequTest的所有数据,并将其打印到从php读取的标准输出

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

这是可以做到的

你提到了参数。我想您指的是命令行参数。您是对的,这可能是不可伸缩的。相反,输入使用标准输入,输出使用标准输出

您提到调用jar文件1000次。我想您的意思是调用jar文件的main方法。这将是非常缓慢的。相反,在java中尽可能多地实现,因此每个请求都会启动jar文件几次。一个满满的电话是可以接受的。只是没有任何循环

基本上,在java中准备整个RequTest的所有数据,并将其打印到从php读取的标准输出


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

不,效率不高。您将运行1000个JVM副本。加上启动/关闭这些JVM的开销。您最好使用一个合适的java服务器,比如Tomcat。@MarcB这应该是一个答案:)不,它没有效率。您将运行1000个JVM副本。加上启动/关闭这些JVM的开销。您最好使用一个合适的java服务器,比如Tomcat。@MarcB这应该是一个答案:)