报错界面:

jadx启动时报错could not create the java virtual machine could not create the java virtual machine怎么解决_JVM

jadx启动时报错could not create the java virtual machine could not create the java virtual machine怎么解决_JVM_02

    以下是我搜集的一些解决办法:

1、内存原因

找到并打开eclipse安装文件夹下的eclipse.ini配置文件,修改Xms和Xmx的值

-vmargs
-Xms512M
-Xmx1024M
-XX:PermSize=64M
-XX:MaxPermSize=128M
        这几个参数的意思:

              -vmargs是表示下面是设置JVM的参数,也就是说下面都是java虚拟机的参数,对于JVM来说,内存分为堆内存和非堆内存,注意这里的堆不是c/c++里面的堆的概念,因为jvm自己管理内存,所谓堆上的内存就是jvm可以分配给java应用程序使用的内存,由-Xms和-Xmx这两个参数限定;

            而非堆内存则是JVM自己使用的,由-XX:PermSize和-XX:MaxPermSize这两个参数来限定。对于堆内存来讲,JVM根据剩余的堆内存的多少调整整个堆内存的大小,调整范围就是-Xms(最小)和-Xmx(最大)指定的范围,-XX:PermSize和-XX:MaxPermSize也是同样的道理,如果你不想JVM来动态调整的话,可以把最大和最小值设置相等,默认最小值是物理内存的1/64,最大值是物理内存的1/4,所以这个最大值就受到物理内存的限制(当然还会收到操作系统的限制)。

            经过实验发现,如果-Xms的值比-Xmx设置的大则启动会失败;而如果-Xmx和-XX:MaxPermSize设置的值的和比可用的物理内存还大,启动也会失败,我的第一个设置,两者的和超过了1G,而当时可用内存才700M,所以启动会失败,JVM在启动时会检测参数和实际可用内存。

    2、删除C:\ProgramData\Oracle\Java目录下的java.exe、javaw.exe、javaws.exe这三个文件。

   3、更新jdk

   4、修改-vm  C:/Program Files/Java/jdk1.7.0_25/bin这里,若你的eclipse并没有这些内容,就自己手动在-vmargs上面添加-vm  C:\Program Files\Java\jdk1.8.0_131\bin\javaw.exe

          或者-vm C:\Program Files\Java\jdk1.8.0_131\jre\bin\server\jvm.dll
--------------------- 
作者:今天的技术超过许嵩了吗? 
 

=====================================我是华丽的分界线=============================================

虽然网上有很多关于调整内存大小的方法,但这并不是一种较为合理的方法,况且博主的可用内存要远远高于设置的内存大小。另一方面,博主采用的JDK是1.8版本的,应该完全可用支持eclipse,因此也并没有采用上述第3条。至于第2条,博主没试过,不知道。博主采用了第4条,即在eclipse的配置文件中添加了-vm 以及 对应的jdk的bin文件夹的路径(与-vm换行),保存,退出,重启eclipse,成功!  eclipse的配置文件为eclipse.ini 可用普通记事本打开。