韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python常见问题 > python怎么调用java类

python怎么调用java类

头像

爱喝马黛茶的安东尼

2019-11-23 11:01:465306浏览 · 0收藏 · 0评论

由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 python 调用 java 方便。下面就整理一下在 python 调用 java 过程中需要哪些操作。(默认是 linux 的 Ubuntu 上调用)

首先 linux 上的 jdk 是一定需要安装的,这个过程在这里就不表了,python 都是 linux 自带的,这里默认是 python2.7。

安装 jpype

python 调用 java 主要是靠在 python 中 import jpype 来实现的。

jpype 的安装极其容易,在 http://jpype.sourceforge.net/  中下载 JPype-0.5.4.2.zip 并将它放置到随便一个文件夹下,笔者给放到了/home/UsrName/jpype/ 下面,然后在该文件夹下:

unzip Jpype-0.5.4.2.zip
cd Jpype-0.5.4.2
python setup.py install

就安装完成了(如果有报 Permission denied 的错误,请把最后一个指令改为 sudo python setup.py install),此时可在 python 中执行:

#python
>>>import jpype
>>>

Jpype 安装完成。

利用 Jpype 调用 Java

我们就简单调用 java 中自定义函数来举例:

先附上简单的 java 代码,作用是给定字符串返回加工后的字符串,以及给定两个参数返回两数之和。

public class JpypeDemo {
    public static String sayHello(String user){  //注意!作为被 python调用的接口函数,需要是静态的,否则 python 
    端会报错
        return "hello" + user;
    }
    public static int calc(int a, int b){    //注意!作为被 python 调用的接口函数,需要是静态的,否则 python 
    端会报错
        return a + b;
    }
    public static void main(String[] args){  
    }
}

将其打包为 jar 文件,这里我将打包好的文件命名为 JpypeDemo.jar(不会打包的小伙伴请百度),并将其放置于 python 脚本所在的目录下。

然后再给出 python 端使用 java 的 jar 包的代码:

import jpype
from jpype import *
import os.path
jarpath = os.path.abspath('.')       #这个函数用来获取当前 python 脚本所在的绝对路径
startJVM("/usr/local/java/jdk1.8.0_181/jre/lib/amd64/server/libjvm.so",  "-ea",  
"-Djava.class.path=%s" % (jarpath + '/JpypeDemo.jar'))

这个 startJVM 函数作用是加载 Java 虚拟机,其第一个参数必须是你的 Java 的 jdk 的安装位置,每个人的安装位置不一样,我的地址就是上面加粗的那一段(注!!!有的教程上说可以直接通过 getDefaultJVMPath() 函数获取 Java 地址,不建议用!不建议用!不建议用!因为这个函数获得的地址很有可能是电脑自带的 oracle 版的 Java,并非我们自己安装的 Java,这样由于环境变量的问题会导致报错!);  第二个参数意译不明,反正加上就对了 ;  第三个参数是你打包好的 jar 包所在的绝对路径,可以看到我将 JpypeDemo.jar 和前面所得到的当前目录的路径结合起来。

JDClass = JClass("JpypeDemo")       #申请一个 Java 类(神奇~)
jd = JDClass
jprint = java.lang.System.out.println  #申请 Java 输出类的输出函数
jprint( jd.sayHello(" waw ") )      #调用该类中的 sayHello 函数,并用 Java 输出函数打印 Java 返回值
jprint( jd.calc(2, 4) )        #调用该类中的求和函数,并用 Java 输出函数打印 Java 返回值
#关闭 Java 虚拟机,可写可不写,不写会在程序结束时自动关闭
shutdownJVM()

执行上述程序,得到输出:

hello waw
6
JVM activity report:
    classes loaded: 32
JVM has been shutdown

于是我们就可以快乐的在 python 中使用 Java 了。

python学习网,大量的免费python视频教程,欢迎在线学习!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

欧美人与性口牲饺配视频免费| 欧美电影免费观看电视剧大全 | 《与上司做爰HD》| 《酒店激战》动漫1-5集免费观..| 我老公跟我一晚上用很多卫生纸 | 一品国精和二品国精的文化意义| 可切换老司机模式浏览器 | 小俊在雪姨身上耕耘小说免费阅读 | 一边做饭一边狂躁的原因分析| 55影院最新免费看电视剧| 摸的下身已洪水泛滥怎么办| 免费观看《艳乳欲乱2》| 叔嫂发生过关系后的心理变化| BOBO浏览器(海外版| 全黄做爰100分钟视频| 《黏糊糊的你》动漫免费观看| 免费视频在线观看人数在哪直播| 中字《喝醉的丈夫被结城送回家》| 两男一女一起做运动什么心理| 掀开超短裙老师的裙子挺进去| 色搞| 白色变态蕾丝超薄开档连身袜| 李丽珍爱的精灵| WWW.XJXJXJ48.GO..| 成品免费PPT网站入口| 男人为什么最后要加速| 苍老师40集全免费播放| 蜜桃浏览器| 女性肛交一次肛门多久恢复| 成品PPT网站大片| 高校女教师| 毒液电影| 下面好湿~想要~深一点| 《不忠》免费观看完整版电影| 免费高清在线观看免费的PPT软..| 可以进入任何网站的浏览器| 《湿点》未增减板相似| 窝窝影院在线观看免费播放电视剧 | 在婚房被伴郎C了2个小时的后果| 法国《口咬》电影完整版| 《妻欲公与媳》免费看