5

假设我有一个 java 进程,它以字节 [] 的形式从受信任进程接收可运行的 jar 文件,有没有办法调用它而不必将 jar 文件写入磁盘然后调用它(启动一个新的运行 jar 的进程)?

4

2 回答 2

8

这是您可以完成它的一种方法:

  1. ByteArrayInputStreambyte []收到的创建一个。
  2. 现在用于JarInputStream创建 jar 文件的内存表示。

    ByteArrayInputStream bis = new ByteArrayInputStream(byteArray); JarInputStream jis = new JarInputStream(bis);

  3. 这样你就可以将 jar 加载到内存中。

  4. 现在您可以使用自定义类加载器来进一步处理它。这是您可以参考的一个示例。
于 2012-09-04T09:21:40.593 回答
2

最简单的方法是将其写入 ramdisk 并完全避免内存中的想法。

于 2012-09-04T09:06:30.130 回答