java虚拟机创建失败的原因整理

创建java虚拟机失败的解决方法

解决问题的步骤:

1、从eclipse文件夹中打开eclipse.ini文件

2、修改–launcher.XXMaxPermSize属性

3、将值改为512m即可

配置文件格式:

-startup

plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar

--launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807

-product

com.android.ide.eclipse.adt.package.adtproduct

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize128m

--launcher.defaultAction

openFile

-vmargs

-Dosgi.requiredJavaVersion=1.7

-XX:MaxPermSize=128m

-Xms256m

-Xmx512m

创建java 虚拟机失败,说明你配置的内存加起来超过了你计算机的实际可用内存(Xmx+MaxPermSize),或者超过了操作系统能够分配给java虚拟机的内存总和,导致虚拟机无法创建成功,所以一般改小一些就可以解决问题。

所以这几个参数需要根据实际情况配置,每台计算机的情况都是不一样,没有统一的标准。对于问题,我们要知其然,还要知其所以然,这样能学到更多。

内容扩展

Eclipse错误:'无法创建Java虚拟机'

clipse错误:'无法创建Java虚拟机'

我在Windows 7上启动Eclipse Helios时收到此错误消息:

无法创建Java虚拟机

在此输入图像描述

我的eclipse.ini看起来如下:

-startup

plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar

-vm

P:\Programs\jdk1.6\bin

--launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

-product

org.eclipse.epp.package.jee.product

--launcher.defaultAction

openFile

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

512m

--launcher.defaultAction

openFile

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms120m

-Xmn100m

-Xmx1024m

据我所知,我的JAVA_HOME设置正确。我怎样才能解决这个问题?

到目前为止我尝试过的事情:

添加javaw.exe的完整路径 -vm

P:\Programs\jdk1.6\bin\\bin\javaw.exe

-vm完全删除选项

删除--launcher.XXMaxPermSize修复了问题,但它导致permgen错误

卸下值512的--launcher.XXMaxPermSize修复问题,但它会导致PermGen的错误

减少-Xmx至512m还修复该问题。

为什么我不能将'1024m'用于'-Xmx'和'--launcher.XXMaxPermSize'?

以上就是小编结合了几篇相关内容整理的知识点,感谢大家对我们的支持。

(0)

相关推荐

  • java虚拟机多线程进阶篇总结

    1.线程池基本参数 以Executors.newFixedThreadPool()这种创建方式为例: 大家想象,假如你创建一个线程池,你想这个池子有些什么参数呢?首先这个池子必须要有一个最大值:然后还希望这个池子的线程数量有一个警戒线,到了这个警戒线的位置说明线程池暂时已经满了,如果这个时候还有人过来拿线程,我们就要把这些人抓起来扔到一个地方去让他们排队,告诉他们:请稍等,等我们的线程有空闲的时候再来处理你的事:再然后假如人排队的地方都满了,玛德,好多人,于是线程池就想办法东拼西凑又多搞出来了几

  • Java虚拟机运行时数据区域汇总

    程序计数器(Program Counter) 程序计数器作为一个概念模型,这个是用来指示下一条需要执行的字节码指令在哪. Java的多线程实际上是通过线程轮转做到的,如果是一个单核的机器(或单cpu),严格意义上在一个时间块中只会有一个线程在执行.为了线程切换以后能恢复到正确的执行位置,每个线程都需要有一个单独的计数器,每个计数器之间要是独立的互不干扰. 如果线程执行的是Java方法,那么PC指向的是正在执行的虚拟机字节码指令的区域,如果执行的是native方法,那么它是undefined. J

  • java虚拟机中多线程总结

    我记得最开始接触多进程,多线程这一块的时候我不是怎么理解,为什么要有多线程啊?多线程到底是个什么鬼啊?我一个程序好好的就可以运行为什么要用到多线程啊?反正我是十分费解,即使过了很长时间我还是不是很懂,听别人说过也自己试过,但总是没有理解透彻: 时间过了很久感觉现在对多线程有了一点新的理解,我们还是从最基本的开始,顺便看看从jvm的角度看看多线程在jvm中是怎么分配内存的,顺便和前面的几篇内容串一下: 1.现实中的多线程 举个例子:假如你一个人在家,你现在听首歌5分钟,烧开水需要10分钟,玩一局游

  • java虚拟机学习笔记进阶篇

    上一节是把大概的流程给过了一遍,但是还有很多地方没有说到,后续的慢慢会涉及到,敬请期待! 这次我们说说垃圾收集器,又名gc,顾名思义,就是收集垃圾的容器,那什么是垃圾呢?在我们这里指的就是堆中那些没人要的对象. 1.垃圾收集器的由来 为什么要有垃圾收集器啊?不知道有没有想过这个问题,你说我运行一个程序要什么垃圾收集器啊? 随意看一下下面两行代码: User user = new User("root","123456") user = new User("

  • java虚拟机学习高级篇

    还是继续说一下java虚拟机,为什么呢?因为我随意翻着别人的博客一不小心看到有关jvm的一点新的东西,挺有趣的,就按照我的理解分享一下: 还记得以前学过一首诗,"看成岭侧成峰,远近高低各不同",这一句诗的内在含义有的时候真的会让你猛然惊醒,进而如获至宝!的确,有的时候换一个角度看问题,你会发现不一样的世界. 我们平常学java的时候肯定涉及到了进程,多线程的概念,但是有没有想过操作系统也有进程和线程的概念,两者有关系吗?假如我们视角放高一点,以操作系统的角度看看一个java程序的运行,

  • java虚拟机创建失败的原因整理

    创建java虚拟机失败的解决方法 解决问题的步骤: 1.从eclipse文件夹中打开eclipse.ini文件 2.修改–launcher.XXMaxPermSize属性 3.将值改为512m即可 配置文件格式: -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_

  • MySQL外键创建失败1005原因汇总

    1.安装mysql有InnoDB的插件扩展 ./configure --prefix=/usr/local/mysql --with-plugins=csv,innobase,myisam,heap,innodb_plugin 2.找不到主表中 引用的列 3.主键和外键的字符编码不一致 4.外键字段与要做外键校验的字段类型不匹配 5.MySQL支持外键约束,并提供与其它DB相同的功能,但表类型必须为 InnoDB,非InnoDB 存储引擎会导致报错. 6.建外键的表的那个列没有index.

  • Java虚拟机之对象创建过程与类加载机制及双亲委派模型

    目录 一.对象的创建过程: 1.对象的创建过程: 2.对象的访问方式: 二.类加载机制: 2.1.加载阶段: 2.2.验证阶段: 2.3.准备阶段: 2.4.解析阶段: 2.5.初始化: 2.5.1.类的主动引用: 2.5.2.类的被动引用: 2.5.3.()方法的特点: 三.类加载器与双亲委派模型: 3.1.JVM 的类加载器: 3.2.双亲委派模型: 3.2.1.双亲委派模型的工作原理: 3.2.2.双亲委派模型的优点: 3.3.类加载器源码:loadClass() 3.4.如何破坏双亲委派

  • 深入理解Java虚拟机_动力节点Java学院整理

    什么是Java虚拟机 Java程序必须在虚拟机上运行.那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的解释: 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行. 这种解释应该算是正确的,但是只描述了虚拟机的外部行为和功能,并没有针对内部原理

  • JVM(Java虚拟机)简介(动力节点Java学院整理)

    一.概要 1.Java虚拟机(Jvm)是什么? 2.Java虚拟机是用来干什么的? 3.Java虚拟机它的体系结构是什么样子的? 4.Java虚拟机在工作做扮演什么角色? 5.Java虚拟机在运行时数据区? 二.Jvm基础概念 Java虚拟机(Jvm)是可运行Java代码的假想计算机. Java虚拟机包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收堆和一个存储方法域. 在了解Jvm之前,大家如果有兴趣的,也可以先去了解下Java 中的堆和栈. 三.Jvm 我们都知道Java源文件,通过编译

  • 整理 node-sass 安装失败的原因及解决办法(小结)

    npm install 时偶尔遇到报错:没有安装python或node-sass 安装失败的问题,百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了vpn都安装失败,最后发现原来是因为没有卸载之前安装失败的包导致的.作者本人最后的解决方案是npm uninstall node-sass,然后使用VPN重新安装了一遍就成功了.不能翻墙的同学请看下文 node-sass 安装失败的原因 npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件.由于国内网络

  • Java虚拟机JVM性能优化(三):垃圾收集详解

    Java平台的垃圾收集机制显著提高了开发者的效率,但是一个实现糟糕的垃圾收集器可能过多地消耗应用程序的资源.在Java虚拟机性能优化系列的第三部分,Eva Andreasson向Java初学者介绍了Java平台的内存模型和垃圾收集机制.她解释了为什么碎片化(而不是垃圾收集)是Java应用程序性能的主要问题所在,以及为什么分代垃圾收集和压缩是目前处理Java应用程序碎片化的主要办法(但不是最有新意的). 垃圾收集(GC)的目的是释放那些不再被任何活动对象引用的Java对象所占用的内存,它是Java

  • Java虚拟机精选面试题20道

    目录 1.介绍下Java内存区域(运行时数据区). 程序计数器(Program Counter Register) Java虚拟机栈(Java Virtual Machine Stacks) 本地方法栈(Native Method Stack) Java堆(Java Heap) 方法区(Method Area) 运行时常量池(Runtime Constant Pool) 2.怎么判定对象已经"死去"? 引用计数法 可达性分析算法 3.介绍下四种引用(强引用.软引用.弱引用.虚引用)?

  • 老生常谈Java虚拟机垃圾回收机制(必看篇)

    在Java虚拟机中,对象和数组的内存都是在堆中分配的,垃圾收集器主要回收的内存就是再堆内存中.如果在Java程序运行过程中,动态创建的对象或者数组没有及时得到回收,持续积累,最终堆内存就会被占满,导致OOM. JVM提供了一种垃圾回收机制,简称GC机制.通过GC机制,能够在运行过程中将堆中的垃圾对象不断回收,从而保证程序的正常运行. 垃圾对象的判定 我们都知道,所谓"垃圾"对象,就是指我们在程序的运行过程中不再有用的对象,即不再存活的对象.那么怎么来判断堆中的对象是"垃圾&q

  • 深入理解Java虚拟机体系结构

    1概述 众所周知,Java支持平台无关性.安全性和网络移动性.而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么.正是得益于Java虚拟机,它号称的"一次编译,到处运行"才能有所保障. 1.1Java程序执行流程 Java程序的执行依赖于编译环境和运行环境.源码代码转变成可执行的机器代码,由下面的流程完成: Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行.Java程序的运行需要Java虚拟

随机推荐