MyEclipse6Java开发中文教程 框告诉你出错了,出错文件放在某Jog文件中云云,点击确定后却看不到 Eclipse主界面), 最常见的原因通常是由于JRE问题引起的。一般来说,最低的 JRE/JDK版本要求是142 以上,而如果要进行 Java ee开发,一般则需要至少JDK1.5或者更高版本。按照本章所 描述的内容正常按照JDK或者JRE后,一般不会出现什么问题。然而,有的时候可能出现 下列情况 1. JDKJRE安装出现失败,导致部分文件不完整,致使 java.exe无法运行; 2.安装了一些软件,这些软件自身带有低版本的 JDK/JRE,致使 Eclipse启动的时候无法 找到正常的JRE,例如 Oracle9和 JBuilder2005/2006等软件安装后,就会导致这 种问题 这时候读者可以尝试用指定JM的办法来启动 Eclipse( MyEclipse也相同),假设您的JDK 安装在目录c:ydk160或者是JRE安装在目录c: Program FilesavaWRE160:进入 eclipse.exe所在的目录,例如c! eclipse或者c: Program Files MyEclipse eclipse,在目录 下新建 run bat,文件内容如下所示 start eclipse. exe -vm c: yak1.6.01bin yavawexe 。以后通过双击此 run bat来启动 Eclipse即可 还有的读者,使用 MyEclipse开发项目后,随着项目文件的增多,以及运行时间的增加, 实际上 MyEclipse所消耗的内存是会一直增大的,有的时候会出现 MyEclipse自身内存不 足的情况,一般会出现下面的提示对话框 MyEclipse has detected that less than 5% of the 64MB of PS Perm Gen QNon-heap memory) space It is strongly recommended that you exit and restart MyEclipse with new virtual machine memory paramters to increase this memory. Failure to do so can result in data loss. The recommended Eclipse memory p clipse. exe -vmargs -Xms128M-Xmx512M -XX: PermSize=64M -XX: MaxPerm Size=128M 确 图127内存不足提示对话框 读者不要慌张,一般情况下这是因为 MyEclipse占用到了它所能达到的最高内存。出于 安全方面的考虑,Java本身不会把所有的系统内存都占为己有,而是会分配一个最大值 旦到达此最大值,运行的程序就会出现 OutoTMemery错误。怎么修改它呢?同样的在刚 刚提到的 eclipse.exe所在目录一般都有个文件叫 eclipse. ini,用记事本啊, EditPlus或者 U| traDit或者免费的 Notepad++, Notepad2等软件都可以打开它,之后修改内容为如下所 showsplash launcher XXMaxPerm Size 256m Xms 128m User language=( XX Perm Size=128M 刘长炯著
MyEclipse 6 Java 开发中文教程 36 刘长炯著 框告诉你出错了,出错文件放在某.log 文件中云云,点击确定后却看不到 Eclipse 主界面), 最常见的原因通常是由于 JRE 问题引起的。一般来说,最低的 JRE/JDK 版本要求是 1.4.2 以上,而如果要进行 Java EE 开发,一般则需要至少 JDK 1.5 或者更高版本。按照本章所 描述的内容正常按照 JDK 或者 JRE 后,一般不会出现什么问题。然而,有的时候可能出现 下列情况: 1. JDK/JRE 安装出现失败,导致部分文件不完整,致使 java.exe 无法运行; 2. 安装了一些软件,这些软件自身带有低版本的 JDK/JRE,致使 Eclipse 启动的时候无法 找到正常的 JRE,例如 Oracle 9 和 JBuilder 2005/2006 等软件安装后,就会导致这 种问题。 这时候读者可以尝试用指定 JVM 的办法来启动 Eclipse(MyEclipse 也相同),假设您的 JDK 安装在目录 c:\jdk1.6.0 或者是 JRE 安装在目录 c:\Program Files\Java\JRE1.6.0:进入 eclipse.exe 所在的目录,例如 c:\eclipse 或者 c:\Program Files\MyEclipse\eclipse,在目录 下新建 run.bat,文件内容如下所示: start eclipse.exe –vm c:\jdk1.6.0\bin\javaw.exe 。以后通过双击此 run.bat 来启动 Eclipse 即可。 还有的读者,使用 MyEclipse 开发项目后,随着项目文件的增多,以及运行时间的增加, 实际上 MyEclipse 所消耗的内存是会一直增大的,有的时候会出现 MyEclipse 自身内存不 足的情况,一般会出现下面的提示对话框: 图 1.27 内存不足提示对话框 读者不要慌张,一般情况下这是因为 MyEclipse 占用到了它所能达到的最高内存。出于 安全方面的考虑,Java 本身不会把所有的系统内存都占为己有,而是会分配一个最大值, 一旦到达此最大值,运行的程序就会出现 OutOfMemery 错误。怎么修改它呢?同样的在刚 刚提到的 eclipse.exe 所在目录一般都有个文件叫 eclipse.ini,用记事本啊,EditPlus 或者 UltraEdit 或者免费的 Notepad++,Notepad2 等软件都可以打开它,之后修改内容为如下所 示: -showsplash com.genuitec.myeclipse.product --launcher.XXMaxPermSize 256m -vmargs -Xms128m -Xmx512m -Duser.language=en -XX:PermSize=128M
MyEclipse6Java开发中文教程 XX MaxPerm Size=256M 。主要需要修改的参数一般是Xmx512m,它表示所能使用的最大内存为512MB。一般来 说改成你电脑上能有的实际内存大小的80%左右是没问题的,如果你电脑有2G内存,你 可以把它修改为1024M。然而有趣的是,不要改成超过1.5G大小的数值,否则反而会不稳 定( Windows下面的经验),容易莫名退出。 读者还可以观察 Eclipse所提供的内存指示器,操作方法是选择菜单 Window> Preferences,点中左侧的 General节点,然后选中复选框 Show heap status,之后就 可以在状态栏里面看到内存状态指示器了。如右图所示 M of 254M 下面给一些这些参数的解释供读者了解: JM提供了各种用于调整内存分配和垃圾回收行为的标准开关和非标准开关。其中一些设 置可以提高 JAVA IDE的性能 注意,由于×(尤其是XJWM)开关通常是JMM或JWM供应商特定的,本部分介 绍的开关可用于 Sun Microsystems J2SE142以及JDK15。 以下设置在大多数系统上将产生比工厂更好的设置性能 marge-表示将后面的所有参数直接传递到所指示的 Java vm - Verify:none-此开关关闭Java字节码验证,从而加快了类装入的速度,并使得在仅为 验证目的而启动的过程中无需装入类。此开关缩短了启动时间,因此没有理由不使用它 -Xms24m-此设置指示Java虚拟机将其初始堆大小设置为24MB。通过指示JM最 初应分配给堆的内存数量,可以使JM不必在DE占用较多内存时增加堆大小 Xmx96m-此设置指定Java虚拟机应对堆使用的最大内存数量。为此数量设置上限表示 Java进程消耗的内存数量不得超过可用的物理内存数量。对于具有更多内存的系统可以增 加此限制,96MB设置有助于确保DE在内存量为128MB到256MB的系统上能够可 靠地执行操作。注意:不要将该值设置为接近或大于系统的物理内存量,否则将在主要回收 过程中导致频繁的交换操作 XX: PermSize=20m-此JM开关不仅功能更为强大,而且能够缩短启动时间。该设置 用于调整内存”水久区域”(类保存在该区域中)的大小。因此我们向JM提示它将需要的 内存量。该设置消除了许多系统启动过程中的主要垃圾收集事件。 SunONE Studio或其它 包含更多模块的IDE的用户可能希望将该数值设置得更高 下面列出了其它一些可能对 ECLIPSE在某些系统(不是所有系统)上的性能产生轻微或 明显影响的JVM开关。尽管使用它们会产生一定的影响,但仍值得一试 XX: Compile Threshold=100-此开关将降低启动速度,原因是与不使用此开关相比 Hotspot能够更快地将更多的方法编译为本地代码。其结果是提高了IDE运行时的性能, 这是因为更多的U代码将被编译而不是被解释。该值表示方法在被编译前必须被调用的次 xX:+ Use ConcMarkSweepGC-xX:↓ Use ParNewGc-如果垃圾回收频繁中断,则请尝试 使用这些开关。此开关导致JVM对主要垃圾回收事件(如果在多处理器工作站上运行,则 刘长炯著
MyEclipse 6 Java 开发中文教程 37 刘长炯著 -XX:MaxPermSize=256M 。主要需要修改的参数一般是-Xmx512m,它表示所能使用的最大内存为 512MB。一般来 说改成你电脑上能有的实际内存大小的 80%左右是没问题的,如果你电脑有 2G 内存,你 可以把它修改为 1024M。然而有趣的是,不要改成超过 1.5G 大小的数值,否则反而会不稳 定(Windows 下面的经验),容易莫名退出。 读者还可以观察 Eclipse 所提供的内存指示器,操作方法是选择菜单 Window > Preferences,点中左侧的 General 节点,然后选中复选框 Show heap status ,之后就 可以在状态栏里面看到内存状态指示器了。如右图所示: 。 下面给一些这些参数的解释供读者了解: JVM 提供了各种用于调整内存分配和垃圾回收行为的标准开关和非标准开关。其中一些设 置可以提高 JAVA IDE 的性能。 注意,由于 -X (尤其是 -XX JVM)开关通常是 JVM 或 JVM 供应商特定的,本部分介 绍的开关可用于 Sun Microsystems J2SE 1.4.2 以及 JDK 1.5。 以下设置在大多数系统上将产生比工厂更好的设置性能。 -vmargs - 表示将后面的所有参数直接传递到所指示的 Java VM。 -Xverify:none - 此开关关闭 Java 字节码验证,从而加快了类装入的速度,并使得在仅为 验证目的而启动的过程中无需装入类。此开关缩短了启动时间,因此没有理由不使用它。 -Xms24m - 此设置指示 Java 虚拟机将其初始堆大小设置为 24 MB。通过指示 JVM 最 初应分配给堆的内存数量,可以使 JVM 不必在 IDE 占用较多内存时增加堆大小。 -Xmx96m - 此设置指定 Java 虚拟机应对堆使用的最大内存数量。为此数量设置上限表示 Java 进程消耗的内存数量不得超过可用的物理内存数量。对于具有更多内存的系统可以增 加此限制,96 MB 设置有助于确保 IDE 在内存量为 128MB 到 256MB 的系统上能够可 靠地执行操作。注意:不要将该值设置为接近或大于系统的物理内存量,否则将在主要回收 过程中导致频繁的交换操作。 -XX:PermSize=20m - 此 JVM 开关不仅功能更为强大,而且能够缩短启动时间。该设置 用于调整内存"永久区域"(类保存在该区域中)的大小。因此我们向 JVM 提示它将需要的 内存量。该设置消除了许多系统启动过程中的主要垃圾收集事件。SunONE Studio 或其它 包含更多模块的 IDE 的用户可能希望将该数值设置得更高。 下面列出了其它一些可能对 ECLIPSE 在某些系统(不是所有系统)上的性能产生轻微或 明显影响的 JVM 开关。尽管使用它们会产生一定的影响,但仍值得一试。 -XX:CompileThreshold=100 - 此开关将降低启动速度,原因是与不使用此开关相比, HotSpot 能够更快地将更多的方法编译为本地代码。其结果是提高了 IDE 运行时的性能, 这是因为更多的 UI 代码将被编译而不是被解释。该值表示方法在被编译前必须被调用的次 数。 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC - 如果垃圾回收频繁中断,则请尝试 使用这些开关。此开关导致 JVM 对主要垃圾回收事件(如果在多处理器工作站上运行,则
MyEclipse6Java开发中文教程 也适用于次要回收事件〕使用不同的算法,这些算法不会影响整个垃圾回收进程。注意:目 前尚不确定此收集器是提高还是降低单处理器计算机的性能 XX:+ UseParalleIGc-某些测试表明,至少在内存配置相当良好的单处理器系统中,使用 此回收算法可以将次要垃圾回收的持续时间减半。注意,这是一个矛盾的问题,事实上此回 收器主要适用于具有千兆字节堆的多处理器。尚无可用数据表明它对主要垃圾回收的影响。 注意:此回收器与XX+ Use ConcMarkSweepGC是互斥的 假设机器是512MB的内存,可以用这样的 eclipse启动参数: eclipse.exe- vmargs Xverify. none -Xms64M-Xmx256M-XX: Perm Size=20M XX: +Use/GC 1.9使用高级进程管理器来管理Java进程 由于Java的进程,默认情况下使用 Windows自带的任务管理器《在 Windows xp下按下 ctr+AIt+Del组合键,或者在任务栏空白处点右键然后选择菜单中的任务管理器),不管 多少个java进程,只在进程的映像名称一栏统一显示 exe,如果有多个进程,则无 法区分,也看不到命令运行时的参数和启动路径。因为有时 Eclipse会莫名崩溃,或者失去 响应强行杀死后,原来启动的进程,包括服务器的和程序的,并不会跟随主进程而自行销毁, 这时候就需要我们使用一款专业的微软收购不久的一个公司 Sysinternals提供的免费进程管 理工具: Process Explorer来查看并管理这些进程了。它的下载地址是 htto/ download sysinternals. com/Files/ ProcessExplorer zip,下载说明页面是 htto/ technet. microsoft. com/en-us/sysinternals/bb896653aspx。下载后解压缩并运行其 中的 procexp. exe即可看到系统进程列表,在图中启动了三个Java进程。参考图128 6s Process Explorer- Sysinternals: ww. sysinternals. com [LIUCJPC\BeanSoftI [oX File Options view Proce nd Users Help 的〓 CPU Des aehunderbirdPortable. eze x2- explorer replace.. E:\ PortableApps\zplorer2 lite\plo I到FD.EEE 1396 Mi crosoft office Hord C: Microsoft office\OFFICE11\RINYOR PortablekDr示灯在任务栏 日1eDl。re nternet Explore plore. eze nternet Explorer F: PN ram Files\Int ernet Explorer F: \Program Files\Internet Explorer\ plore,些e Internet Explorer F: \Program Files\Int ernet Explorer\ iexplore. eze Internet Explorer F: \Program Files\Int ernet Explorer\ iexplore. eze Internet Explorer F: \Progran Files\Int ernet Explorer\ nternet Explorer F: \Program Files\Internet Explorer\ explore、e富e Explore Java(TO Plat form a(T o 2 Platform S.. D: Java\MEclipse6 0\\\jal oprocezp. eze 064 1.54 Sysinternals Process... F: \Documents and Settings\BeanSoft 曰 eclipse D: Java \EClipses. 0\ec Console IME F: \ RINDORS\system32\conime. eze 刘长炯著
MyEclipse 6 Java 开发中文教程 38 刘长炯著 也适用于次要回收事件)使用不同的算法,这些算法不会影响整个垃圾回收进程。注意:目 前尚不确定此收集器是提高还是降低单处理器计算机的性能。 -XX:+UseParallelGC - 某些测试表明,至少在内存配置相当良好的单处理器系统中,使用 此回收算法可以将次要垃圾回收的持续时间减半。注意,这是一个矛盾的问题,事实上此回 收器主要适用于具有千兆字节堆的多处理器。尚无可用数据表明它对主要垃圾回收的影响。 注意:此回收器与 -XX:+UseConcMarkSweepGC 是互斥的。 假设机器是 512MB 的内存,可以用这样的 eclipse 启动参数:eclipse.exe -vmargs -Xverify:none -Xms64M -Xmx256M -XX:PermSize=20M -XX:+UseParallelGC 。 1.9 使用高级进程管理器来管理 Java 进程 由于Java的进程,默认情况下使用Windows自带的任务管理器(在Windows XP下按下 Ctrl + Alt + Del组合键,或者在任务栏空白处点右键然后选择菜单中的任务管理器),不管 多少个java进程,只在进程的映像名称一栏统一显示一个java.exe,如果有多个进程,则无 法区分,也看不到命令运行时的参数和启动路径。因为有时Eclipse会莫名崩溃,或者失去 响应强行杀死后,原来启动的进程,包括服务器的和程序的,并不会跟随主进程而自行销毁, 这时候就需要我们使用一款专业的微软收购不久的一个公司Sysinternals提供的免费进程管 理工具: Process Explorer 来查看并管理这些进程了。它的下载地址是 http://download.sysinternals.com/Files/ProcessExplorer.zip ,下载说明页面是 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx 。下载后解压缩并运行其 中的procexp.exe即可看到系统进程列表,在图中启动了三个Java进程。参考图 1.28
MyEclipse6Java开发中文教程 java. exe: 1060 Properties IP Performance Performance Graph Threads (Not verified) Sun Microsystems, Inc 5000110.0003 Time;2007-11-279:09 D: Java\MyEclipse6. 0\jre\ binjavawexe D: Java\ MyEclipse6 0 jire\binljavaw. exe-Dcatalina home=D: Java\MyE Current directory D: avalMyEclipse6 0 myeclipse\eclipse\com genuitec. eclipse. ea Parent: (1840) LIUCJPC)Bean Soft Started;18:29:512008-5-5 Bring to Front) kill Process Data Execution Protection(DEP) Status: Disabled anc 图128高级进程管理器 双击进程后,即可看到进程的启动参数,当前工作目录,进程所在目录,这样就可以明 白新建文件时候它存放的相对路径,以及可以在电脑上安装了多个版本的JDK时,区分到 底用了哪个。还可以直接复制 Command line中的内容,修改为相对路径后制作进程的快速 启动批处理文作了cmd,bat),当然,选择性的杀死正确的进程就不用多介绍了。如果进 行Web开发时,发现 Tomcat s老启动时报错 java. net. BindEXception: Address already in use JVM Bind,就可以用这个工具看看是不是重复启动了多个 Tomcat 1.10小结 通过本章的介绍,您应该大致了解了本书所使用的Java,数据库以及服务器软件的安 装,设置和运行方式。再次强调如果使用 MyEclipse60 all in one版本,将会最大限度 的减少安装难度 刘长炯著
MyEclipse 6 Java 开发中文教程 39 刘长炯著 图 1.28 高级进程管理器 双击进程后,即可看到进程的启动参数,当前工作目录,进程所在目录,这样就可以明 白新建文件时候它存放的相对路径,以及可以在电脑上安装了多个版本的 JDK 时,区分到 底用了哪个。还可以直接复制 Command line 中的内容,修改为相对路径后制作进程的快速 启动批处理文件(.cmd,.bat),当然,选择性的杀死正确的进程就不用多介绍了。如果进 行Web开发时,发现Tomcat老启动时报错java.net.BindException: Address already in use: JVM_Bind,就可以用这个工具看看是不是重复启动了多个 Tomcat 了。 1.10 小结 通过本章的介绍,您应该大致了解了本书所使用的 Java,数据库以及服务器软件的安 装,设置和运行方式。再次强调如果使用 MyEclipse 6.0 ALL in ONE 版本,将会最大限度 的减少安装难度
MyEclipse6Java开发中文教程 第二章开发第一个Java应用程序 21介绍 本章通过对比手工开发和使用 MyEclipse开发第一个 HelloWorld的Java程序,让读 者对手工写代码和使用开发工具有一定的比较 本章内容参考视频:htt/ w. blocⅰ ava. net/beansoft/archive200709/24147651htm My Eclipse6实战开发讲解视频入门0:下载安装运行 Helloworld 22手工编写,编译并运行Java程序 要进行本节所介绍的操作,请务必首先按照第二章的JDK的下载,安装和配置一节配 置好JDK开发环境。 双击桌面上的我的电脑图标,接着双击C盘,再选择菜单工具(T)…>文件夹选项 (O)…,按照下图设置显示已知文件类型的扩展名 文件夹选项 常规」查看文件类型脱机文件 文件夹视图 c器疑情是造要率组 用到所有文件夹[重置所有文件夹8 高级设置 记住每个文件夹的视图设置 □使用简单文件共享〔推荐 回鼠标指向文件夹和桌面项时显示提示信息 回显示系统文件夹的内容 口隐藏受保护的操作系统文件(推荐 隐藏文件 ◎不显示隐藏的文件和文件夹 隐藏已知文件类型的扩展名 还缩的Ms文件 在标题栏显示完整路径 还原为默认值 去掉这个选项 确定匚取消应用 图21设置 Windows显示所有文件的扩展名 这样做的目的是为了以后能方便的区分出来 Hello. txt, Hello. java,Hell. class这些 不同的文件类型,也为了使记事本软件不会自作聪明的把我们要写的程序最后给保存成 HelloWorld. java. txt。 刘长炯著
MyEclipse 6 Java 开发中文教程 40 刘长炯著 第二章 开发第一个 Java 应用程序 2.1 介绍 本章通过对比手工开发和使用 MyEclipse 开发第一个 HelloWorld 的 Java 程序,让读 者对手工写代码和使用开发工具有一定的比较。 本章内容参考视频:http://www.blogjava.net/beansoft/archive/2007/09/24/147651.html MyEclipse 6 实战开发讲解视频入门 0: 下载 安装 运行 HelloWorld。 2.2 手工编写,编译并运行 Java 程序 要进行本节所介绍的操作,请务必首先按照第二章的 JDK 的下载,安装和配置一节配 置好JDK开发环境。 双击桌面上的我的电脑图标,接着双击 C 盘,再选择菜单工具(T)… > 文件夹选项 (O)…,按照下图设置显示已知文件类型的扩展名: 图 2.1 设置 Windows 显示所有文件的扩展名 。这样做的目的是为了以后能方便的区分出来 Hello.txt,Hello.java,Hello.class 这些 不同的文件类型,也为了使记事本软件不会自作聪明的把我们要写的程序最后给保存成 HelloWorld.java.txt