我需要一些来自c ++代码的外部程序调用的帮助.
我必须javap.exe
多次(可能超过100)从我的程序中调用(来自JDK包),但调用system("javap.exe some_parameters")
非常慢.对于一组参数,它的工作非常好,但重复的调用是system()
不可接受的.我认为这只是因为访问硬盘和应用程序运行的成本(但我不确定).
我能做些什么才能获得更好的表现?我可以"保存javap.exe
在RAM中"并"直接"调用它.或者可能有人知道我怎么能获得java级的描述和方法签名javap.exe
?
Java VM开始运行并不便宜,它的初始化很可能占用了你的大部分时间.幸运的javap
是,可以直接通过Java代码获得功能.我建议你编写一个小的Java应用程序,虽然类似于javap
一个调用,但你需要数千个.(虽然......也许你已经可以只使用一个了?javap 毕竟会采用多个类文件......)