假设我有一个java进程以byte []的形式从可信进程接收可运行的jar文件,有没有办法调用它而不必将jar文件写入磁盘然后调用它(启动一个运行jar的新进程?
答案 0 :(得分:8)
以下是实现目标的一种方法:
ByteArrayInputStream
创建byte []
。现在使用JarInputStream
创建jar文件的内存中表示。
ByteArrayInputStream bis = new ByteArrayInputStream(byteArray);
JarInputStream jis = new JarInputStream(bis);
这样你就可以在内存中加载jar了。
答案 1 :(得分:2)
最简单的方法是将其写入ramdisk并完全避免内存中的想法。