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>
目录
相关文章
|
安全 Java Go
Java vs. Go:并发之争
【4月更文挑战第20天】
807 1
|
Cloud Native Nacos 数据库
2024年最新版Nacos安装教程(史上最详细保姆级教程)
2024年最新版Nacos安装教程(史上最详细保姆级教程)
5692 3
并发与并行的区别(详细介绍)
并发与并行的区别(详细介绍)
11048 0
|
存储 SQL NoSQL
ClickHouse和Doris超大数据集存储
ClickHouse和Doris超大数据集存储
1913 0
|
4月前
|
机器学习/深度学习 人工智能 API
一篇说人话的文章,告诉你 Django、Flask、FastAPI 到底怎么选
Django 是功能齐全的“全家桶”,适合快速搭建完整应用;Flask 灵活轻量,适合小型项目与自定义开发;FastAPI 性能强劲,专为高并发与 API 设计。三者定位不同,适用场景各异,学习顺序建议:FastAPI → Django,提升开发效率与理解深度。
365 10
|
机器学习/深度学习 边缘计算 人工智能
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025) 2025 2nd international Conference on Edge Computing, Parallel and Distributed Computing
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025) 2025 2nd international Conference on Edge Computing, Parallel and Distributed Computing 机器学习 计算学习理论 数据挖掘 科学计算 计算应用 数字图像处理 人工智能
258 6
|
Web App开发 编解码 前端开发
构建响应式Web应用的最佳实践
构建响应式Web应用的最佳实践
243 0
|
9月前
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
501 0
一文彻底搞明白C语言的数组
|
计算机视觉
增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?
本文介绍了增量学习中的三种主要模式:任务增量学习(Task-incremental)、域增量学习(Domain-incremental)和类别增量学习(Class-incremental),它们分别关注任务序列、数据分布变化和类别更新对学习器性能的影响,并列举了每种模式下的代表性数据集。
2331 4
增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?
|
SQL 关系型数据库 MySQL
使用OceanBase进行大规模数据迁移的最佳实践
【8月更文第31天】随着业务的不断扩展,数据迁移成为了企业日常运营中不可避免的任务之一。对于那些正在从传统的数据库系统向分布式数据库系统过渡的企业来说,数据迁移尤为重要。OceanBase 是一个由阿里巴巴集团开发的高性能分布式关系数据库,它以其高可用性、水平扩展能力和成本效益而闻名。本文将探讨如何使用 OceanBase 进行大规模数据迁移,并提供相关的最佳实践和代码示例。
1056 1