eclipse启动时寻找jre的顺序

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

eclipse启动时寻找jre的顺序
如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;
否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;
否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。
如果要修改项目使用的jre而不卸载系统默认jre的话,可以有两种方式:
直接把要使用的JRE文件夹拷贝到Eclipse目录下;
打开eclipse根目录下的eclipse.ini文件,加入: -vm [你的jre的路径];
引用:
http://blog.csdn.net/jenhy/archive/2008/03/31/2233575.aspx by Jenhy

eclipse.ini内存设置
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
这里有几个问题:
1. 各个参数的含义什么?
2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动?
3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置?

下面我们一一进行回答

1. 各个参数的含义什么?

参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。

堆(Heap)和非堆(Non-heap)内存
按 照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中。
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx 指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到- Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
JVM内存限制(最大值)
首 先JVM内存限制于实际的最大物理内存(废话!呵呵),假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然 可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统 下为2G-3G),而64bit以上的处理器就不会有限制了。
2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动?

通过上面对JVM内存管理的介绍我们已经了解到JVM内存包含两种:堆内存和非堆内存,另外JVM最大内存首先取决于实际的物理内存和操作系统。所以说设置VM参数导致程序无法启动主要有以下几种原因:

1) 参数中-Xms的值大于-Xmx,或者-XX:PermSize的值大于-XX:MaxPermSize;

2) -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。说到实际物理 内存这里需要说明一点的是,如果你的内存是1024MB,但实际系统中用到的并不可能是1024MB,因为有一部分被硬件占用了。

3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置?

那为什么同样的参数在快捷方式或者命令行中有效而在eclipse.ini文件中是无效的呢?这是因为我们没有遵守eclipse.ini文件的设置规则:

参数形如“项 值”这种形式,中间有空格的需要换行书写,如果值中有空格的需要用双引号包括起来。比如我们使用-vm C:/Java/jre1.6.0/bin/javaw.exe参数设置虚拟机,在eclipse.ini文件中要写成这样:

-vm
C:/Java/jre1.6.0/bin/javaw.exe
按照上面所说的,最后参数在eclipse.ini中可以写成这个样子:

-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
实际运行的结果可以通过Eclipse中“Help”-“About Eclipse SDK”窗口里面的“Configuration Details”按钮进行查看。

另外需要说明的是,Eclipse压缩包中自带的eclipse.ini文件内容是这样的:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
其 中–launcher.XXMaxPermSize(注意最前面是两个连接线)跟-XX:MaxPermSize参数的含义基本是一样的,我觉得唯一的区 别就是前者是eclipse.exe启动的时候设置的参数,而后者是eclipse所使用的JVM中的参数。其实二者设置一个就可以了,所以这里可以把 –launcher.XXMaxPermSize和下一行使用#注释掉。


3. 其他的启动参数。 如果你有一个双核的CPU,也许可以尝试这个参数:

-XX:+UseParallelGC

让GC可以更快的执行。(只是JDK 5里对GC新增加的参数)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/twisun/archive/2008/04/26/2332896.aspx

Tiff、jpg图片怎么样添加地理坐标信息 Tiff、jpg图片怎么样添加地理坐标信息 一般,外业调查只有地图资料,如专题图、或者地形图,如何把这些地图资料的扫描地图带上坐标信息,从而内业实现信息化处理?以上问题,可以解决,但根据不同情况有不同的处理方法。     第一种,上面有经纬度外框,图片是矩形,但是没有地理信息。 通过图框的两个角的坐标确定范围,分别是左上(140°E,30°N);右下(150°W,30°N) 解决方 阅读详情

相关推荐

大疆Livox Mid-70雷达的使用

一、前期准备 (一)、使用Livox Viewer测试雷达 1、设置静态IP sudo ifconfig enx081f7152092a 192.168.1.50 查看IP是否设置成功 lacyexsale@lacyexsale-KLV-WX9:~$ ifconfig enx081f7152092a Link encap:以太网 硬件地址 08:1f:71:52:09:2a inet 地址:192.168.1.50 广播:192.168.1.255 掩码:255.255.25

LacyExsale的博客 1万+

工具篇 - Eclipse:基本配置 -- 配置JRE运行环境(以便运行&使用Java程序)

这一篇的内容是配置JRE运行环境,这是安装好JDK和Eclipse之后要做的第一步设置。

李泉成-工作室 1万+

【原理图PCB专题】Cadence 17.4版本原理图及PCB 模块复用

在我们设计复杂板卡的时候,往往会遇到一部分电路被反复使用的情况。Cadence允许设计者一开始就将复用模块设计好,以后只要直接调用复用模块就可以直接用以设计更复杂的电路板了。这对于大规模集成设计无疑是非常好的选择,它不仅让设计者不必花费时间在相同模块反复设计上,更有利于电路的模块化设计。

一点硬件 1977

eclipse配置jre路径

打开eclipse根目录下的eclipse.ini配置文件,添加红色文字就好,也可以修改为JDK的路径。

mark1222的博客 826

Eclipse运行第一个Java程序

注:如果出现报错,检查自己的单词是否拼写错误。

tystuxd的博客 4206

【Eclise配置Jdk环境】Jre环境常见配置错误问题

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

m0_60769905的博客 1008

eclipse启动显示找不到jre路径 解决

配置eclipse出现jre找不到(已解决)

weixin_44333471的博客 5815

eclipse使用jre的原理与配置

eclipse启动时寻找jre顺序 如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE; 否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE; 否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。 如果要修改项目使用的jre而不

阳之韵的专栏 7184

Eclipse使用jre的原理与配置

最近要配置Eclipse环境,Mark其中的一些方法。 下载Eclipse SDK之后我们就要关联JRE,因为Eclipse启动需要JREEclipse启动时寻找JRE顺序: 1、如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE; 我们可以通过在eclipse.ini里面添加完成关联,例如: -vm D:\jre\bin\javaw

高级全栈工程师 2814

Eclipse寻找JVMJRE)的顺序

  Eclipse也是一个普通的Java程序,因此必须有一个JRE做为运行环境。如果你的机器上没有安装任何JRE(或者JDK,本文不做二者的区分),那么点击eclipse.exe就会报错说找不到JRE。此时可以安装一个JRE、或者直接把JRE目录拷贝到eclipse安装目录下。   在Eclipse的每个项目中可以为项目指定不同的JRE版本,比如A项目使用JDK1.4编译,B项目使用...

weixin_30322405的博客 69

Eclipse启动的时候找JRE顺序

 Eclipse启动的时候找JRE顺序是:如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。所以如果不想卸载掉其他的JDK的话,可以有两种方式:(1)直接把要使用的JRE文件夹拷贝到Eclipse目录下,这是懒人常用的方法(2

人生旅途 751

eclipsejre配置关系

http://blog.sina.com.cn/s/blog_71d4e2e10100s8cf.html

小鱼吃虾米 515

关于 eclipsejre

Eclipse启动的时候找JRE顺序是:如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。   所以如果不想卸载掉其他的JDK的话,可以有两种方式:(1)直接把要使用的JRE文件夹拷贝到Eclipse目录下,这是懒人常用的方法

415

Eclipse中集成jdk

Eclipse启动时寻找jer的顺序 (1) 先到E

光华小丸子 2451

关于Eclipse中的一些基本知识

Eclipse寻找JRE顺序是:vm参数指定的JRE--->elipse目录下的JRE--->操作系统中默认的JRE,利用这个特性也可以用vm参数来解决当本机安装有多个JRE的情况. 启动了Eclipse之后,会创建的一些文件目录. 1.创建了.metadata目录,目录中保存了针对所建立项目的工作空间的个性化的配置文件,如果.metadata目录被删除了,那么很多myproj...

weixin_33889245的博客 81

0609周一

Eclipse启动的时候找JRE顺序是:如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。  所以如果不想卸载掉其他的JDK的话,可以有两种方式:(1)直接把要使用的JRE文件夹拷贝到Eclipse目录下,这是懒人常用的方

yunshine的专栏 506

Android环境结构--安装Eclipse

  在学习安卓第一步。成立了一个开发环境。经验,知道,所以这一步是不容易,因为你觉得,我可能是太幸运了。我见到 题。   首先,安装Eclipse的时候。   【Problem 1】                                        【问题原因】:   (1) 安装Eclipse路径中可能带有中文;   (2) Eclipse的版本号和JDK版本...

weixin_33801856的博客 70

eclipse idea

eclipse: 1、项目根目录下通常有两个文件:.project和.classpath,.project是eclipse项目必须有的文件,.classpath是java项目必须有的文件。2、eclipse启动时寻找jre顺序:   1)如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的jre(-vmE:\jdk\bin\javaw.exe)  2)去查看ecl...

weixin_30780649的博客 102

Eclipse及其项目中的JRE设置

Eclipse的每个项目中可以为项目指定不同的JRE版本,比如A项目使用JDK1.4编译,B项目使用JDK1.5编译。 这个JDK版本和Eclipse本身运行的JRE没有直接关系。 那么如何指定Eclipse启动所用的JRE呢? EclipseJVM启动的时候找JRE顺序是: l 如果eclipse.ini中配置了-vm参数,则使用这个参数指定的JRE; l 否则就去查看eclip

Jeffrey's 专栏 3203
上一篇: Java执行exe,bat等可执行文件
下一篇: 让Java程序自带JRE运行
侃子
博客等级 码龄16年 27粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值