首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有通过java访问操作系统中另一个进程的“最佳实践”?

有没有通过java访问操作系统中另一个进程的“最佳实践”?
EN

Stack Overflow用户
提问于 2008-10-02 09:41:25
回答 4查看 525关注 0票数 3

我一直在阅读Skype4Java (java api for skype),并注意到他们使用jni来访问skype客户端。

直观地说,我假设java中已经有一个标准库,它有一个操作系统敏感的jni实现来访问其他进程。我想找一个,但是找不到。

有这样的库吗?如果没有,有没有在操作系统中访问另一个进程的最佳实践,而不一定是skype客户端?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-10-03 03:49:36

我认为也许你需要定义一下“访问”对你来说意味着什么。如果您正在谈论普通的进程间通信,那么套接字或JNI确实是您最好的选择。

Garth关于使用内存映射文件的评论很有趣-我曾多次将MMF和虚拟文件用于C应用程序之间的IPC,但我从未想到Java的MMF实现可能与本机OS虚拟文件系统兼容。这些类型的虚拟文件通常需要非常重要的设置,所以如果它能正常工作,我会很惊讶……

总而言之,除非你在应用程序之间传输大量数据,否则使用套接字可能是最通用和最有效的方式。请确保考虑到主机操作系统和Java VM之间的字节顺序:-)

票数 1
EN

Stack Overflow用户

发布于 2008-10-02 09:51:00

从Java1.4开始,您可以使用内存映射文件与另一个进程交换任意信息。详情请参见java.nio.MappedByteBuffer。

票数 4
EN

Stack Overflow用户

发布于 2008-10-02 09:56:16

这并不完全是您想要的,但可能会有很大帮助: java.net上的Java Native Access项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/161529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档