是否可以编写C/C++;向JVM提供java类的程序?

是否可以编写C/C++;向JVM提供java类的程序?,java,c++,jvm,Java,C++,Jvm,假设有一个用Java编写的应用程序启动器 然后,启动器运行这个C/C++类feeder(有点像引导?) 您需要运行“比方说App1”的所有Java类都已加载。 (App1是一个纯Java程序) 现在,发射器启动App1 这种情况可能吗? 编辑 我看过这个网页 他们声称他们可以用一些本机库加密jar并绕过loadClass()方法。 我想弄清楚,如果这是假的,或者这是可能的,我该怎么做 编辑2 还有一件事,有人能告诉我,为了得到这张反对票,我违反了什么社区准则吗?这样,如果我做错了什么,我就会学

假设有一个用Java编写的应用程序启动器

然后,启动器运行这个C/C++类feeder(有点像引导?)

您需要运行“比方说App1”的所有Java类都已加载。 (App1是一个纯Java程序)

现在,发射器启动App1

这种情况可能吗?

编辑 我看过这个网页
他们声称他们可以用一些本机库加密jar并绕过loadClass()方法。
我想弄清楚,如果这是假的,或者这是可能的,我该怎么做

编辑2

还有一件事,有人能告诉我,为了得到这张反对票,我违反了什么社区准则吗?这样,如果我做错了什么,我就会学习,不再做同样的事情?Thx

C++代码可以使用JNI接口加载JVM。之后,它可以:

  • 找课
  • 调用静态方法或创建给定类的对象
  • 这两种方法均可用于启动App1。如果App1是一个带有main方法的Java类,则以下代码有一个示例:


    是的。您可以在Java中调用执行此操作的方法。但是,在命令行上启动
    java App1
    可能更简单。@PeterLawrey您指的是loadClass()方法吗?我正在尝试绕过该方法。是否要加载类而不调用
    loadClass
    ?你可以写一个方法来做完全相同的事情并调用它,但我不确定你为什么要这样做。您可以用自己的实现替换标准类加载器(正如在许多商业J2EE产品中所做的那样)。所以,是的,你可以用另一个装入器代替标准的类加载器,它可以做一些JNI魔法,让C++模块在被请求的类中定位和读取。但是,在另一个加载程序完成一些C++的事情之后,它不得不调用Load Case.()。对吧?太好了!谢谢,这就是我要找的。现在我需要破解CPP代码。:)