Python:jpype模块调用Java函数

简介: Python:jpype模块调用Java函数

简介:

JPype is a Python module to provide full access to Java from within Python

Jpype是一个Python模块,用于从Python内部提供对Java的完全访问。


github:https://github.com/jpype-project/jpype/

文档:https://jpype.readthedocs.io/en/latest/index.html


安装

pip install JPype1

1、调用java内置函数

from jpype import *

startJVM(getDefaultJVMPath(), "-ea", convertStrings=False)

java.lang.System.out.println("hello world")

shutdownJVM()

2、调用用户自定义java类

Demo.java

public class Demo{
public int add(int a, int b){
return a + b;
}

public static void main(String[] args) {
Demo demo = new Demo();
System.out.println(demo.add(1, 1));
}
}

编译测试

$ javac Demo.java 
$ java Demo
2

通过python调用java类方法

# -- coding: utf-8 --

import jpype


jpype.startJVM(convertStrings=False)

Demo = jpype.JClass('Demo')
demo = Demo()

print(demo.add(1, 1))
# 2

jpype.shutdownJVM()

备注:两文件放同一目录下

            </div>
目录
相关文章
文件覆盖写入和追加写入:使用场景、命令和技巧详解
文件覆盖写入和追加写入:使用场景、命令和技巧详解
1994 0
|
NoSQL Java Redis
redis集群拓扑结构自动更新:使用Lettuce连接Cluster集群实例时异常处理(一)
redis集群拓扑结构自动更新:使用Lettuce连接Cluster集群实例时异常处理
1849 0
|
应用服务中间件 网络安全 nginx
nginx配置http和https共存
server { listen 80; listen 443 ssl; server_name localhost;        #ssl on; ssl_certificate /usr/local/Tengine/sslcrt/linuxyan.
5560 0
|
10月前
|
机器学习/深度学习 自动驾驶 计算机视觉
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
853 13
|
网络协议 算法 网络架构
OSPF中的Summary LSA详解
OSPF中的Summary LSA详解
332 4
|
存储 Kubernetes API
Kubernetes Master节点 灾备恢复操作指南
本文档简述了Kubernetes主节点灾备恢复的相关步骤,供在发生k8s master崩溃时操作。 就算是在k8s里部署了etcd群集, 主节点控制组件的高可用节点,灾备恢复也是必须要实现的操作,才能形成完备的企业级服务方案。
10513 63
|
NoSQL 算法 Java
技术好文:Redis实现分布式锁的7种方案
技术好文:Redis实现分布式锁的7种方案
|
机器学习/深度学习 计算机视觉
深度学习与计算机视觉的最新进展
深度学习与计算机视觉的最新进展
|
存储 监控 Java
近亿级用户体量高并发实战:大促前压测干崩近百个服务引起的深度反思!
几年前,数百个服务,将堆内存从28GB升配到36GB,引发系统全面OOM的事件。
435 12
|
存储 Java 索引
32 位和 64 位 JVM 中 int 变量的大小解析
【8月更文挑战第21天】
771 0