繁体   English   中英

执行内存jar

[英]Executing an in memory jar

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

这是一种可以实现它的方法:

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

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

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

  4. 现在,您可以使用自定义类加载器来进一步处理它。 以下是您可以参考的一个示例

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM