4个回答
展开全部
java 和 python 属于不同的进程,你这个是进程间通信。进程间通信的常见方法是通过网络,比如用 tcp 。
目前常见的跨语言 RPC 方案有 ZeroMQ + protobuf 、Thrift 等。
如果你是新手,我只能说不同的语言之间是不能随便互相调用的。只能通过进程间通信的方法。
另一种不通过进程间通信的办法是用 Java 的 JNI 做一个 dll ,然后用 Python 的 ffi 调用 这个 dll 。这样代码都在同一个进程里,你需要学习 JNI 和 Python CTypes 。
目前常见的跨语言 RPC 方案有 ZeroMQ + protobuf 、Thrift 等。
如果你是新手,我只能说不同的语言之间是不能随便互相调用的。只能通过进程间通信的方法。
另一种不通过进程间通信的办法是用 Java 的 JNI 做一个 dll ,然后用 Python 的 ffi 调用 这个 dll 。这样代码都在同一个进程里,你需要学习 JNI 和 Python CTypes 。
追问
非常感谢啊,回答的很详细,还告诉我要去学习什么内容。感谢至极。 那也就是说,以我目前水平来看,我是不能够编写这样一个简单的api的咯? 那如果只是写个api给java程序员调用呢?也是返回一个string。
追答
那就写一个类好了:
class Test {
String getString() {
return "test";
}
}
像这样
展开全部
建议写webservice 让python调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个只能通过协议实现吧,自己这里起一个service,接受tcp 或者应用层诸如http协议
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个问题绝对不是新手的问题。。。我也不知道。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询