百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
N

NuProcess

> 编程语言
开源

低开销、无阻塞 I/O、用于 Java 的外部进程实现

740 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

低开销、无阻塞 I/O、用于 Java 的外部进程实现

NuProcess

[![][Build Status img]][构建状态] [![][Shippable Status img]][可发货状态] [![][license img]][license] [![][Maven Central img]][Maven Central] [![][Javadocs img]][Javadocs] 这是一种低开销、非阻塞 I/O、用于 Java 的外部进程执行实现。 它是 java.lang.ProcessBuilder 和 java.lang.Process。

您是否曾经被困扰于这样一个事实:每当在 Java 中创建一个进程时,您都必须创建两个或三个"泵"线程(对于每个进程),以从"stdout"和"stderr"管道中提取数据,并将数据泵入"stdin"。如果您的代码启动了大量进程,那么您可能会有数十个或数百个线程在做无用的工作,仅仅是泵数据。

NuProcess 4.x 需要 Java 25 或更高版本。3.x 及早期版本基于 JNA,支持 Java 1.7 及更高版本。

这主要是关于内存的问题 在速度方面,NuProcess 和标准的 Java Process 类之间没有明显的差异,即使在运行 500 个并发进程时也是如此。 在某些平台上,如 MacOS X 或 Linux,NuProcess 比 java.lang.Process 快 20%,对于大量进程而言。 但是,当涉及内存时,就有明显的差异。 例如,500 个线程的开销与 NuProcess 使用的一个或几个线程相比是非常大的。

此外,在基于 Unix 的平台(如 Linux)上,在创建新进程时,java.lang.Process 会使用 fork()/exec() 操作。这需要在执行 exec 操作之前先创建 Java 进程的临时副本(fork)。在 Linux 上运行测试时,

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言