python调用的java进程在哪看

python调用的java进程在哪看,第1张

python调用的java进程在哪看?

最近在做基于python的locust压力测试,api接口程序是java版本,导致python无法匹配签名模式,需要python调用java的签名程序。

首先需要按照python依赖包

pip install jpype1

jpype调用jar包

jpype的原理是在python进程中嵌入了java虚拟机,并与虚拟机进行通信。

复制代码

import jpype

# 如果只有java程序,那需要先打成一个jar包来给python引用 ,有javajar就可以直接使用

def init_jvm():

jpypestartJVM(jpypegetDefaultJVMPath(), "-ea", "-Djavaclasspath=%s" % 'javajar')

def getsign(privateKey,publicKey):

VerCls = jpypeJClass("comsign") # 引用的java包与类名

sign = VerCls()getSign(privateKey,publicKey)

return sign

def shutdowm():

try:

jpypeshutdownJVM()

except:

pass

if __name__=="__main__":

init_jvm()

print(getsign("priyyyy","alpha1234"))

shutdowm()

复制代码

代码说明如下:

需要提供javajar,如果只有java程序,那需要先打成一个jar包来给python引

init_jvm函数中的 jpypestartJVM用来启动java虚拟机,-Djavaclasspath 用来指定我们要调用的jar包。

在getsign中,jpypeJClass用来引用sign类,通过实例化并调用getSign实现版本号的比较。

jpypeshutdownJVM()是主动关闭java虚拟机,释放资源。

创建一个函数用来计算三个数的和,如下:

下来,我们对其进行调用:

假设我们要计算这个函数返回结果的平均值。那么此时,我们只需将和值除以参数个数即可,那么参数个数怎么获取呢?你可能会说:数一下就知道了。那么假设此时有很多的参数,你还去数吗?此时,明显这个方法是不恰当的,那么有没有更加方便、高效的方法呢?我们接着往下看。

通过上面这个例子,我们不但可以获取参数个数,还可以获取所有变量名以及默认返回值。此时,我们只需根据自己的需求,去应用就可以了,那么以上的问题,就自然解决了。

以上就是关于python调用的java进程在哪看全部的内容,包括:python调用的java进程在哪看、Python获取函数参数个数和默认参数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9672581.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存