MyEclipse使用经验总结

  1. 快捷键

================================================================================

编辑:

Ctrl+Shift+L显示所有快捷键

Ctrl+K
参照选中的词(Word)快速定位到下一个

Ctrl+Shift+K参照选中的词(Word)快速定位到上一个

Ctrl+O
快速显示OutLine

Ctrl+T
快速显示当前类的继承结构

Ctrl+Shift+X把选中文本全部改为大写

Ctrl+Shift+Y把选中文本全部改为小写

Ctrl+Shift+F按照当前的配置文件格式化源代码

Ctrl+L
弹出行定位框以便定位到某一行

Ctrl+Numpad_Divide

Ctrl+/(小键盘)使代码折叠可用

Ctrl+Numpad_Multify

Ctrl+*(小键盘)展开当前类中的所有代码

Ctrl+Shift+Numpad_Divide

Ctrl+Shift+/(小键盘)折叠所有,如果不能全部成功折叠,

将光标移到文档最后试着或多按几次

折叠当前类中的所有代码

Ctrl+1
快速修正,需要导包的时候出现导包提示界面,

Ctrl+Q
定位到最后编辑的地方

Ctrl+Shift+m导入当前行上需要的包(add import)

Ctrl+Shift+o导入所有需要的包(organize imports)

Shift+Enter在当前行的下一行插入行

Shift+Ctrl+Enter在当前行的上一行插入行

Alt+/
语法补充快捷

Ctrl+MouseLeft当按住Ctrl时,将Mouse移动到一个类或类的方法或属性时,

左键点击会进入到源文件内进行查看

如果没找到源文件,而需要指定Sourece,

比如说JDK自身的src.zip文件或源文件所在的文件夹

Ctrl+/
== Ctrl+Shift+C注释选定行或取消注释

Ctrl+Shift+/用…… /注释选定行

Ctrl+Shift+/取消/…… /注释

Ctrl+D
删除当前行

Shift+< 在当前位置插入成对的尖括号:<>

Ctrl+Alt+down复制当前行到下一行

Ctrl+Alt+up复制当前行到上一行

Ctrl+Alt+JJoin Lines连接行

Alt+down 当前行和下面一行交换位值

Alt+up
当前行和上面一行交换位值

选定光标所在的行通过用这两个快捷各执行一次来完成

Alt+left 前一个编辑的代码页面或在当前页面中上一个光标的位置

Alt+right下一个编辑的代码页面或在当前页面中下一个光标位置

(当使用了Alt+←后)

Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮)

当点击某个标记时可使本页面中其他地方的此标记黄色凸显,

并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处

Shift+Home选定光标处到行首的内容

Shift+End选定光标处到行尾的内容

Ctrl+Shift+Home选定光标处到首行行首的内容

Ctrl+Shift+End选定光标处到尾行行尾的内容

Ctrl+Shift+P定位到与之成对匹配的括号{或)

(从前面定位后面时,光标要在匹配符之后,从后往前定位,反之)

Tab与Shift+Tab选中要移动的代码后,按Tab键右移,按Shift+Tab键左移

Ctrl+up

Ctrl+down上下滚动编辑页面

查找:

Ctrl+Shift+R相当于Navigate->Open Resource…

输入Java源文件名或类名,会按通配的方式列出符合条件的.java源文件

Ctrl+J
正向增量查找(按下Ctrl+J文件你所输入的每个字母,

编辑器都提供快速匹配定位到某个单词,如果没有,

则在stutes
line中显示没有找到了,查一个单词时,特别实用,

这个功能Idea两年前就有了)

Ctrl+Shift+J反向增量查找(和上条相文件只不过是从后往前查)

窗口:

Ctrl+M
窗口最大化与恢复大小转换

最大化当前的Edit或View(再按则恢复)

Ctrl+W
关闭当前Editor

Ctrl+Shift+F4关闭所有打开的Editor

Ctrl+E
快速显示当前Editor的下拉文档列表

Ctrl+Shift+E显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

F2
当鼠标放在一个标记处出现Tooltip时候,

按下F2会铆钉显示的 Tooltip 框

F3
跳到声明或定义(源文件)处

Alt+Enter显示当前选择资源(工程,or 文件 or文件)的属性

Ctrl+PgUp

Ctrl+PgDown切换代码窗口的各个文档,

如果切换到头就会打开”Show List”下拉框

在此下拉框里显示有最近曾打开的文件,

连续按可移动选中项

对于XML文件是切换代码和图示窗口

Alt+Shit+w在光标处弹出选择view的菜单

在Package窗口下,弹出Navigator与Properties的选择菜单

Alt+Shift+Q,Q弹出”Show View”选择界面

Alt+Shift+Q,TShow View(View:
Hierarch)

Alt+Shift+Q,BShow View(View: Breakpoints)

Alt+Shift+Q,HShow View(View: Cheat Sheets)

Alt+Shift+Q,CShow View(View: Console)

Alt+Shift+Q,LShow View(View: Error Log)

Alt+Shift+Q,ZShow View(View: History)

Alt+Shift+Q,JShow View(View: Javadoc)

Alt+Shift+Q,OShow View(View: Outline)

Alt+Shift+Q,PShow View(View: Package Explorer)

Alt+Shift+Q,XShow View(View: Problems)

Alt+Shift+Q,SShow View(View: Search)

Alt+Shift+Q,YShow View(View: Synchronize)

Alt+Shift+Q,VShow View(View: Variables)

Debug:

F5
单步调试进入函数内部

F6
单步调试不进入函数内部

F7
由函数内部返回到调用处

F8
一直执行到下一个断点

Refactor 重构(一般以Alt+Shift开头):

Alt+Shift+R重命名被选中的变量

Alt+Shift+M抽取方法

Alt+Shift+C修改函数结构

Alt+Shift+L抽取本地变量

Alt+Shift+F把Class中的local变量变为field变量(MyEclipse中需要自定义)

Alt+Shift+I合并变量(可能这样说有点不妥Inline)

Alt+Shift+V移动方法和变量不怎么常用

Alt+Shift+Z重构的后悔药(Undo)

================================================================================

Ctrl+I格式化激活的元素Format Active Elements?

Ctrl+Shift+Space提示信息即Context Information?

================================================================================

  1. 更改快捷键设置(自定义快捷键)

================================================================================

代码的自动完成:

(1)
Windows->Preference->General->Keys

是管理快捷键的地方

在这里的type filter text处输入Content
Assist,

找到要修改的”Content Assist”

在下面会出现”Content Assist”,用鼠标选中”Content
Assist”,

在下面的”Binding”处按自己需要的快捷键组合,比如Alt+/

在”When”中选择”Editing Text”

(2)
Windows->Preference->Java->Editor->Templates

这里是管理Java编辑器模板的地方

比如找到”Name”为sysout的,可以看到其”Preview:”处有:

System.out.println( wordselection {});${cursor}

其表示在输入sysout后,按Alt+/就可以自动完成System.out.println();的输入

再比如找到”Name”为main的,可以看到其”Preview:”处有:

public static void main(String[]
args) {

${cursor}

}

表示在输入main后,按Alt+/就可以在弹出的选项中选择main方法,

自动完成main方法的格式化输入

自定义抽取局部变量为成员变量:

Windows->Preference->General->Keys

在这里的type filter text处输入Convert a
local variable to a field,

如果看到Binding一栏处还没有绑定快捷键,

就将光标移到下面的Binding文本框内,然后按Alt+Shift+F,

然后OK即可.

================================================================================

  1. 整合Javadoc文档到MyEclipse

================================================================================

在MyEclipse中左边的”Package
Explorer”窗口中选中一个JAR包

右键->属性>Javadoc
Location可以指定其JAR包所对应的Java文档的位置,

其中上面的”Javadoc
URL”可以点击Browse…”选择文档所在的目录,如:

javaee.jar在我电脑中的路径是这样的:file:/D:/Program/Sun/SDK/docs/api/

选择完后,可以点击Browse…”下的”Validate…”进行有效性验证

一般所选择的目录下面应该有index.html或相应的package-list文件.

其中下面的”Javadoc in
archive”是用来选择一个打包文档jar或zip的”

选中”External
file”表示我们需要从外部而不是MyEclipse工作空间中选择这个文档,

然后点击Archive
path后的”Browse…”,选择一个有Javadoc打包的文件

比如我电脑中的路径是这样的”D:/Program/Sun/SDK/docs/api_doc.zip

注意从sun公司网站下载的java_ee_sdk-5_03-javadocs.zip其结构是这样的”

java_ee_sdk-5_03-javadocs.zip|

|docs|

|api|

|
|index.html

|
|package-list

|

|legal

不能直接选中所下载的java_ee_sdk-5_03-javadocs.zip,而要重新打包,

将其中的index.html那一级目录置为重新打包后的顶层目录

或者不用重新打包,在Archive
path:中找到下载的java_ee_sdk-5_03-javadocs.zip文件

再在其下面的Path within
archive:中选择相应的路径即可

Archive
path:D:/Program/Sun/SDK/java_ee_sdk-5_03-javadocs.zip

Path within archive:docs/api

这样,当在编写一个源Java源文件的时便将光标定位到一个类或接口上的时候,

如:

选中HttpServlet,然后按F1,在窗口右边就会出现Help窗口,

点击窗口中的Javadoc for
‘javax.servlet.http.HttpServlet’,

就可以在窗口中出现相应的API帮助文档了.

以上的对相应的JAR包或相关框架的DOC的设置,

那么对于JDK的DOC的设置,可以使用下面的方式:

Windows->Preferences

输入JRE,然后选中Java->Installed
JREs

在右边选中需要进行DOC文档位置设置的JRE,然后选择”Edit”,

在出现的界面中选中相应的jar包,然后点击右边的”Javadoc
Location…”进行设置.

================================================================================

  1. 无法正常启动

================================================================================

MyEclipse启动遇到内部错误总启动不了的时便

将Workspace下的.metadata目录删除重启即可

================================================================================

  1. 标记断点:

================================================================================

在java视图中,直接在你要设置断点的那行的最左边,双击即可,右键的弹出菜单中也有这个选项

Debug:

选择debug(F11,Run菜单中的debug)即可,自动进入debug视图,

用Step into(F5)能进入到被调用方法的跟踪

用Step over(F6)进行单步调试

================================================================================

  1. 更改 Web Project 的 Web
    Context-root:

================================================================================

右键点击Web项目->Properties->MyEclipse->Web

在右边的界面的Context Root中可进行更改设置.

如果在Tomcat没运行的时便修改一个以前已部署的Web应用的Web
Context-root,

此时MyEclipse会将以前此Web应用的部署删除

如果在Tomcat运行着的时候,修改一个已部署后正在使用(存在正在访问的客户端)的Web应用

的Web
Context-root,MyEclipse不会将此Web应用的部署删除,而是出现一个黄色的感叹号图标.

由于Web Context-root被更改此部署其实已失效,

需要删除原来的部署,重新在Tomcat中”Add
Deployment…”

================================================================================

  1. 文件上传相关

================================================================================

文件上传路径,如果不写相对路径或绝对路径

那么会存入D:/Program/Apache/apache-tomcat-6.0.18/bin目录

================================================================================

  1. MyEclipse各种相关的文件格式的编辑器字体显示设置

================================================================================

window->preference->General->Appearence->Colors
and Fonts

在其右边有这么几项

Basic:

Basic colors and fonts used
throughout workbench dialogs and editors.

基本上指所有对话框和编辑器中的字体,包括jsp,ant的xml等文件的字体显示.

如果需要对XML等编辑器的字体进行设置,先设置这里,

对于控制台的字体如果这里设置大了看着不舒服,可专门到Debug下设置控制台的字体.

CVS:

版本库相关的显示字体

Debug:

控制台的输出字体

Java:

Java源文件编辑器字体

JavaScript:

JavaScript字体

Structured Text Editors:

结构化文本的字体,如xml,xml schemal等

Text Compare:

文本比较器的字体

View and Editor Folders:

Colors and fonts used by the default
Eclipse presentation.

->Java Editor Text
Font然后点Change

================================================================================

7-1. MyEclipse中UML图中的字体的设置

================================================================================

window->preference->MyEclipse->UML1

在右边的Nodes中,有Header font与Body
font的设置.

================================================================================

  1. 某一文件的存储字符编码设置

================================================================================

在Eclipse中不能保存中文时,可以设置一下Eclipse的编码方式为gbk等支持中文的字符编码方式。

可通过以下方式进行修改:

(1)
Window->General->workspace

->在右边的界面中的”Text file
encoding”下设置;

(2)
鼠标右键点击所需要修改的文件,或File->Properties

->在右边的界面中的”Text file
encoding”下设置;

(3)
鼠标右键点击需要修改字符集编码的文件–>proterties(Alt+Enter)–>”Resource”,

在右边窗口中的下面有”Text file encoding”,

在Other处填入需要的字符集编码,如GBK或GB18030或UTF-8等;

================================================================================

8-1. 某种格式的文件的存储字符编码设置

================================================================================

Window–>Preferences–>MyEclipse–>Files
and Editors,

在这里,可以设置多种文件格式的Encoding,比如说JSP的,

找到JSP,在右边就会出现一个界面,找到”The following
encoding will apply:”,

将Encoding:设置为自己所需要的字符编码,比如说ISO
10646/Unicode(UTF-8)

================================================================================

  1. 自定义代码格式

================================================================================

“Windows”–>”Preferences”–>”Java”–>”Code
Style”–>”Formatter”

================================================================================

  1. 编辑JSP文档,XML等文档反应慢的问题

================================================================================

原因:

(1)
新建的工程中加入了JAVA EE的lib库

库中的所使用的javax.servelet.jar等这些个包中的javadoc
location位置,

被设置成了官方网站的网址,

这样每次提示的时候都要去官方网站去找doc,所以导致myeclipse会很忙

当禁用网卡或者拔掉网线的时便就不会在卡了

(2)
JSP编辑器使用了MyEclipse Visual JSP Designer

最终解决方法

(1)
[Window]->[Preferences]->[MyEclipse]->[JavaEnterprise
Project]->[Library Sets]

[JAVA EE 5.0][J2EE 1.4]和[J2EE
1.3]下的javax.servelet.jar等包,

点开选择[javadoc
location]这个节点,双击后在对话框中,

把地址去掉为空或者选择你本地javadoc地址,即可解决jsp自动提示卡和慢的问题

(2)
[Window]->[Preferences]->[General]->[Editors]->[File
Associations]

在右边的上半部分列出的文件扩展名中选中*.jsp,

在右边的下半部分列出的编辑器中选中MyEclipse JSP
Editor,

点击右边的”Default”,将这个编辑器设置为默认的编辑器,

这样当你双击一个jsp文档的时候,就会默认使用这个编辑器打开JSP文档了.

================================================================================

  1. MyEclipse版本的区别

================================================================================

blue

专为IBM开发的,功能最全的版本

M(Milestone)

Milestone版本,是比beta版还要早的版本

可以看作是下一代正式版本的一个试探性改进测试

GA(Generally Available)

正式版MyEclipse

目前(2009-12-23)8.0GA是最新的

================================================================================

  1. 关闭myeclipse的Quick
    Update自动更新功能

================================================================================

Windows > Preferences >
MyEclipse > Community Essentials,

把选项 “Search for new features on
startup”的前勾去掉即可

================================================================================

  1. MyEclipse内存使用相关以及JVM内存分配

================================================================================

1)
PermGen space简介

PermGen space的全称是Permanent Generation
space,

是指内存的永久保存区域。

OutOfMemoryError: PermGen
space从表面上看就是内存益出,

解决方法也一定是加大内存。

说说为什么会内存益出:


  • 这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,

它和和存放Instance的Heap区域不同。


  • GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,

所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen
space错误。

这种错误常见在web服务器对JSP进行pre
compile的时候。

如果你的WEB APP下都用了大量的第三方jar,

其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

13_1.Tomcat内存溢出的解决方法:

手动设置MaxPermSize大小,
修改TOMCAT_HOME/bin/catalina.sh,

在echo “Using CATALINA_BASE:
$CATALINA_BASE”上面加入以下行

JAVA_OPTS=”-server -XX:PermSize=64M
-XX:MaxPermSize=128m

建议:

将相同的第三方jar文件移置到tomcat/shared/lib目录,这样可以减少jar文档重复占用内存

================================================================================

  1. Eclipse 内存溢出或不能启动或死掉的解决

================================================================================

这一段时间,Eclipse总是死掉,几乎是稍微操作快一点就会死掉,几分钟一次,

搞得人郁闷至极。浪费了不少时间,在网上搜了下,看到很多朋友也出现类似的情况,

在网上求救,但是网上的办法都只是说通过修改eclipse.ini文件来加大Eclipse的内存。

自己试了下,发现不管用。今天,又死掉了,不过爆出一个经常出现的错误,

大意是:permgen space导致内存溢出。

解决办法如下:

在eclipse.ini配置文件中加上以下两行

-XX:PermSize=128M

-XX:MaxPermSize=128M

加上上2行后,我的eclipse.ini文件如下所示:

-showsplash

org.eclipse.platform

–launcher.XXMaxPermSize

512m

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=128M

-XX:MaxPermSize=128M

这里的内存大小根据自己的物理内存情况来决定吧。

从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。

理由如下:
PermSize 和 MaxPermSize如果设置为相同还可以在一定程度上提高性能,

因为PermSize在不断的变化中会需要转移其中的数据。

如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。

  1. 让你的eclipse也能显示JVM当前内存使用量

================================================================================

1)
在eclipse或MyEclipse目录下建立一个文件文件名options,

文件内容:

org.eclipse.ui/perf/showHeapStatus=true

2)
有两种方式来启用这个配置文件:

(1)
用命令方式启动:

D:/MyEclipse/eclipse.exe -debug
options -vm javaw.exe

或者直接右键eclipse的快捷方式的”目标”中填入这行

(2)
MyEclipse.ini中前两行加入下面两行:

-debug

options

修改ini文件是要注意备份。

3)
启动eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量

另外还可以强制进行垃圾收集。

加启动参数和在ini中写是一样的,都是启动的配置

4)
eclipse对于JRE的加载顺序:

首先执行 -vm 参数;如果没有-vm参数,

则查找eclipse/jre子目录,如果没有找到,

eclipse最后才查找在系统中注册的jre


以下是写在MyEclipse目录下的Myeclipse.ini中内容的例子:

-debug

options

-vm

javaw.exe

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=128M

-XX:MaxPermSize=256M

在Eclipse目录下建一文件options(无任何扩展名),其内容为:

org.eclipse.ui/perf/showHeapStatus=true

加了这个后Eclipse会在下面状态栏显示垃圾回收的东东.

================================================================================

15.1 Eclipse状态栏显示JVM内存使用情况的改进

================================================================================


  1. 打开记事本,输入以下内容org.eclipse.ui/perf/showHeapStatus=true

然后保存于eclipse根目录下,文件名为options,没有文件扩展名。


  1. 用-debug options -vm javaw.exe这条命令启动eclipse:

在快捷方式的目标中写入如下”C:/eclipse/eclipse.exe
-debug options -vm javaw.exe”


  1. 重启就可以啦

================================================================================

15.2 MyEclipse8.0中状态栏显示JVM内存(Show
heap status)使用情况

================================================================================

在MyEclpise8.0中简单了,windows->Preferences->General

在其右边的界面中,找到”Show heap
status”,并勾选上,然后确定即可;

================================================================================

  1. MyEclipse7.5的Content
    Assist不起作用了

================================================================================

(1)
在window->Preferences->Java->Editor->Content Assist

中找到Enable auto
activation,将其选项勾上;

(2)
window->Preferences->Java->Editor->Content
Assist->Advanced

上面的选项卡Select the proposal kinds
contained in the ‘default’ content assist list:中,

把 Other Java Proposals
选项打上勾就可以了。

================================================================================


  1. MyEclipse中启动Tomcat,JBoss等服务器里,控制台不显示启动信息

================================================================================

现象:

在控制台为:

no consoles display at this
time

但服务器已经启动,可正常使用.

MyEclipse7.5 Tomcat6.0.18JBoss4.2.3.GA

之前正常,今天突然就这样了.

解决方法:

在MyEclipse菜单中window–>preferences–>Java–>Installed
JREs

中,Add自己安装的JDK,

而不要使用MyEclipse自带的JDK”com.sun.java.jdk.win32.x86_1.6.0.013”

或者:

选择Tomcat6.x–>JDK–>Add,点Browse找到自己的JDK的安装路径.

如果JDK已配置为自己安装的了,就定位到

window–>preferences–>MyEclipse
Enterprise Workbench–>Servers

随便选择一个服务器,比如Tomcat6.x–>JDK,

只要定位到JDK,就OK了,

或者定位到window–>preferences–>Java–>Installed
JREs,

只要一点Installed JREs,就OK了.

这个是myeclipse7.5本身的问题,莫名其妙.

================================================================================

  1. 去掉Show In
    Breadcrumb显示出来的导航条

================================================================================

按下快捷键Alt+Shift+B或者右键单击后选中了Show in
Breadcrumb时,

就会在编辑器Editor上方出现一个快速导航条,如果想去掉它可以这样来解决:

定位到Window -> Customize Perspective
-> Commands

在”Available command groups”下面找到”Java
Editor Persentation”,

确定其是被勾选的.然后OK退出设置界面.

在菜单上会有一个Toggle Breadcrumb的快捷按钮

(一般在那一长行快捷按钮的右边,也就是切换Java,MyEclipse等视图按钮的左边),

可看见其状态是被选中的,点击这个按钮图标,即可取消(再次点击这个按钮图标又出现Breadcrumb)。

================================================================================


  1. 显示被@Deprecated标注过和方法为一条横线穿过:

================================================================================

定位到Window->Preferences->Java->Compiler->Errors/Warnings;

将其右边的”Deprecated and restricted
API”下的选项勾选上,然后OK.

================================================================================

  1. 恢复不小心被删除的文件

================================================================================

恢复文件:

选中你需要恢复文件的Project或package,鼠标右击”Restore from
Local History…”

然后直接选中你需要恢复的文件,点击”Restore”就OK了。

恢复类语句块:

选中你需要恢复的块,鼠标右击”Local
History…”–>”Replace with…”

或”Restore
From…”然后看清你要恢复的块。OK就行了。

当然上面只是针对Java源文件来说的,对于WebRoot下的JSP等文件的恢复,

需要选中其文件,鼠标右击”Replace with”->”Local
History”->

================================================================================

  1. 增强Content Assist的提示功能

================================================================================

(1)
windows->preferences->Java->Editor->Content Assist

找到右下方的Auto-Activation(自动激活),

在Auto activation triggers for
Java:的右边框中的.后加入abc,

(加这个的目的是为了好在后面查找定位),点击”OK”,回到主界面,

(2)
“File”菜单中选择”Export…”,

在弹出的界面中选择”General->Preferences”->”Next”,

在这个界面中,先勾选上”Keys
Preferences”(注意先勾选),

再注意选中上方的”Export all”, 在”To preference
file:”框的右边点击”Browse…”,

选择导出路径以及为导出文件取一个文件名(默认扩展名为.epf);

(3)
用文本编辑器打开导出的文件(*.epf),查找”.abc”(前面在.后添加的abc就这作用),

定位到/instance/org.eclipse.jdt.ui/content_assist_autoactivation_triggers_java=.abc

处,在abc后面添加你想要的触发键,如:

…content_assist_autoactivation_triggers_java=.abcdefghijklmnopqrstuvwxyz

保存.

(4)
再使用”File”菜单中的”Import…”导入即可使用增强的Content Assist.

================================================================================

  1. 为MyEclipse添加XML文档所使用的DTD或XML
    Schema,

从而使用Content Assistant可进行代码提示:

================================================================================

(1)
DTD

1)
定位到:

WIndow->Preferences->MyEclipse->XML->XML
Catalog

2)
在右边的界面中,选择”User Specified Entries”,点击右边的”Add…”;

3)
在弹出的对话框中点击”File System…”,为Location输入框添加DTD文件所在路径;

4)
使用别的文本编辑器打开此DTD文件,找到相应的文档类型声明,

比如说Hibernate的配置文件:hibernate.cfg.xml所需要的DTD文件为:

hibernate-configuration-3.0.dtd

打开hibernate-configuration-3.0.dtd后,找到如下内容:

PUBLIC

“-//Hibernate/Hibernate Configuration
DTD 3.0//EN”

http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd“>

4)
“Key Type:”右边的下拉框中(有三个类型:Public ID,System ID,URI),

根据hibernate-configuration-3.0.dtd中的中的PUBLIC,

选择Public ID(或者直接选择”URI”也可);

5)
“Key:”右边的文本框中,将hibernate-configuration-3.0.dtd中的

中的PUBLIC后的双引号内的内容COPY,然后粘贴到”Key:”右边的文本框中,

注意,COPY的内容不带双引号”“;

(如果上面第(4)步中选择的是URI,则需要填入的是dtd文件中的http://…部分)

6)
点击”OK”,即可看到”User Specified Entries”已有了所增加的DTD(的KEY);

同样,hibernate-mapping-3.0.dtd这个DTD的加入,也可以如法炮制;

7)
重启MyEclipse即可,注意如果提示不出来,

并在状态栏的左下出现”Content Assist not
available at the current location”,

请在光标位置键入一个空格再使用Alt+/试试;

(2)
XSD(XML Schema)

1)
定位到:

WIndow->Preferences->MyEclipse->XML->XML
Catalog

2)
在右边的界面中,选择”User Specified Entries”,点击右边的”Add…”;

3)
在弹出的对话框中点击”File System…”,为Location输入框添加XSD文件所在路径;

4)
.xsd文件添加后,在下面的Key:右边的文本框会自动添加一个URI,如Spring的:

http://www.springframework.org/schema/beans

如果没有自动添加,使用别的文本编辑器打开此.xsd文件,

找到相应的

—————————————-

WE8ISO8859P1
VARCHAR2

WE8ISO8859P1
CHAR

AL16UTF16
NCLOB

AL16UTF16
NVARCHAR2

ZHS16GBK
VARCHAR2

WE8ISO8859P1
CLOB

AL16UTF16
NCHAR

已选择7行。

上面SELECT语句的意思是:

NLS_CHARSET_NAME(CHARSETID) –>
使用NLS_CHARSET_NAME()函数,取到其ID参数的字符集名称;

DECODE(….) TYPES_USED_IN –>
括号中的意思是:

如果TYPE#(TYPE#为第一个DECODE的第一个参数)的值是

第二个参数(1),则取其后的参数(1后面的)为函数的返回值,

否则继承判断TYPE#是否其与第四个参数相等,如果相等,

函数返回第五个参数的值…..,TYPE#如果均不等于

1,9,96,112,则最外的DECODE()函数返回NULL;

确实在数据库的列属性中仍然存在着多个字符集的设定,下面解决这个问题。

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER SYSTEM ENABLE
RESTRICTED SESSION;

System altered.

SQL> ALTER SYSTEM SET
JOB_QUEUE_PROCESSES=0;

System altered.

SQL> ALTER SYSTEM SET
AQ_TM_PROCESSES=0;

System altered.

SQL> ALTER DATABASE OPEN;

Database altered.

SQL> COL VALUE NEW_VALUE
CHARSET

SQL> SELECT VALUE FROM
NLS_DATABASE_PARAMETERS WHERE PARAMETER=’NLS_CHARACTERSET’;

VALUE


ZHS16GBK

SQL> COL VALUE NEW_VALUE
NCHARSET

SQL> SELECT VALUE FROM
NLS_DATABASE_PARAMETERS WHERE PARAMETER=’NLS_NCHAR_CHARACTERSET’;

VALUE


ZHS16GBK

这里的国家语言字符集是有问题的,往下看操作就知道了:


INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化

ALTER DATABASE CHARACTER SET
INTERNAL_USE &CHARSET;

ALTER DATABASE NATIONAL CHARACTER SET
INTERNAL_USE &NCHARSET;

SQL> ALTER DATABASE CHARACTER SET
INTERNAL_USE &CHARSET;

old 1: ALTER DATABASE CHARACTER SET
INTERNAL_USE &CHARSET

new 1: ALTER DATABASE CHARACTER SET
INTERNAL_USE ZHS16GBK

Database altered.

SQL> ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET;

old 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET

new 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE ZHS16GBK

ALTER DATABASE NATIONAL CHARACTER SET
INTERNAL_USE ZHS16GBK

*

ERROR at line 1:

ORA-12714: invalid national character
set specified


运行到此处出问题了,看来国家字符集不能是ZHS16GBK的了,


那为什么取的时候会取到呢?是因为早先的时候无知地使用了这个语句:

SQL> UPDATE props SETvalue =’ZHS16GBK’

WHERE name=’NLS_CHARACTERSET’ or
name=’NLS_NCHAR_CHARACTERSET’;

– 其值原来是
AL16UTF16,UPDATE后改成了ZHS16GBK,现在把其改回去先;

SQL> UPDATE props SETvalue =’AL16UTF16’

WHERE name=’NLS_NCHAR_CHARACTERSET’;
2

1 row updated.

SQL> commit;

Commit complete.

– 再次运行:

SQL> ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET;

old 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET

new 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE ZHS16GBK

ALTER DATABASE NATIONAL CHARACTER SET
INTERNAL_USE ZHS16GBK

*

ERROR at line 1:

ORA-12714: invalid national character
set specified

– 还是不行,看看错误原因:

SQL> !oerr ORA 12714

12714, 00000, “invalid national
character set specified”

// *Cause: Only UTF8 and AL16UTF16
are allowed to be used as the national

// character set

// *Action: Ensure that the specified
national character set is valid

– 由此可知,Oracle 10g的NATIONAL CHARACTER
SET只有2个选择:AL16UTF16与UTF8


下面直接用国家字符集名字,而不使用&NCHARSET来取:

SQL> ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE AL16UTF16;

Database altered.

– 成功修改

– 关闭数据库并重启:

SQL> SHUTDOWN IMMEDIATE

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> STARTUP

ORACLE instance started.

Total System Global Area 612368384
bytes

Fixed Size 2022696
bytes

Variable Size 251658968
bytes

Database Buffers 352321536
bytes

Redo Buffers 6365184
bytes


按照上面的步骤,一步一步来,一步不要少,完成以后,重新检索col$表。

CHARACTERSET
TYPES_USED_IN

—————————————-

ZHS16GBK
CHAR

AL16UTF16
NCLOB

ZHS16GBK
VARCHAR2

AL16UTF16
NVARCHAR2

ZHS16GBK
CLOB

AL16UTF16
NCHAR

已选择6行。

与之前的做一下对比:

CHARACTERSET
TYPES_USED_IN

—————————————-

WE8ISO8859P1
VARCHAR2

WE8ISO8859P1
CHAR

AL16UTF16
NCLOB

AL16UTF16
NVARCHAR2

ZHS16GBK
VARCHAR2

WE8ISO8859P1
CLOB

AL16UTF16
NCHAR

已选择7行。

可看出:

对于CHAR,VARCHAR2,CLOB使用了ZHS16GBK;

对于NCHAR,NVARCHAR2,NCLOB使用了AL16UTF16;

再次使用MyEclipse打开看看,一切OK了.

相关内容:

================================================================================

环境变量可设置为:

NLS_LANG=’SIMPLIFIED
CHINESE_CHINA.ZHS16GBK’

NLS_LANG=’AMERICAN_AMERICA.ZHS16GBK’

NLS_LANG=’AMERICAN_AMERICA.US7ASCII’

改变SESSION会话的(客户端界面显示)语言:

错误写法:

ALTER SESSION SET
NLS_LANGUAGE=’AMERICAN_AMERICA.ZHS16GBK’;

SET
NLS_LANG=’AMERICAN_AMERICA.ZHS16GBK’

正确写法:

ALTER SESSION SET
NLS_LANGUAGE=AMERICAN;

ALTER SESSION SET
NLS_LANGUAGE=’SIMPLIFIED CHINESE’;

有空格使用”括起来.

有关数据库字符集:


  1. 查看数据库字符集

数据库服务器字符集:

SELECT * FROM
NLS_DATABASE_PARAMETERS;

其来源于props$,是表示数据库的字符集;

客户端字符集环境:

SELECT * FROM
NLS_INSTANCE_PARAMETERS;

表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表,其来源于v$parameter;

会话字符集环境:

SELECT * FROM
NLS_SESSION_PARAMETERS;

其来源于v$nls_parameters,表示会话自己的设置,

可能是会话的环境变量或者是alter session完成,

如果会话没有特殊的设置,将与nls_instance_parameters一致。

客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

如果多个设置存在的时候,ALTER
SESSION>环境变量>注册表>参数文件

字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。

如字符集是ZHS16GBK,则NLS_LANG可以是AMERICAN_AMERICA.ZHS16GBK。


  1. 修改字符集

8i以上版本可以通过ALTER
DATABASE来修改字符集,但也只限于子集到超集,

不建议修改props$表,将可能导致严重错误。

startup nomount;

alter database mount exclusive;

alter system enable restricted
session;

alter system set
job_queue_process=0;

alter database open;

alter database character set
zhs16gbk;


  1. 怎么查看数据库版本

select * from v$version

包含版本信息,核心版本信息,位数信息(32位或64位)等

至于位数信息,在Linux/unix平台上,可以通过file查看,如:

file $ORACLE_HOME/bin/oracle

================================================================================

绝对不要用update系统表(props$)的方式来修改数据库字符集.

从Oracle9i开始,Oracle在启动时跳过了这个检查,即使修改了错误的字符集,

也仍然可以启动,数据库启动时会将控制文件中的字符集更改为缺省的US7ASCII.

具体可以看看以下的测试:

SQL> select value fromprops
where name=’NLS_CHARACTERSET’;

VALUE$


ZHS16GBK

SQL> update props setvalue =’EYGLE’ where name=’NLS_CHARACTERSET’;

1 row updated.

SQL> commit;

Commit complete.

SQL> select value fromprops
where name=’NLS_CHARACTERSET’;

VALUE$


EYGLE

– 注意,这个EYGLE是不存在的字符集;

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 126948772
bytes

Fixed Size 452004 bytes

Variable Size 92274688 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

Database mounted.

Database opened.

SQL> select value fromprops
where name=’NLS_CHARACTERSET’;

VALUE$


EYGLE

此时警告日志中会记录如下信息:

Thu Jun 8 16:28:05 2006

SMON: enabling cache recovery

SMON: enabling tx recovery

Thu Jun 8 16:28:05 2006

Updating character set in controlfile
to US7ASCII

replication_dependency_tracking
turned off (no async multimaster replication found)

Completed: ALTER DATABASE OPEN

虽然启动正常,不会报错,但在一起实际运用中是会有问题的,特别是在有中文使用的情况下.

要彻底修改,参见上面.

================================================================================

  1. 导入Code Style的Formatter配置与Organize
    Imports配置文件

================================================================================

(1)
Formatter(代码风格格式):

定位到
Window->Preferences->Java->Code Style->Formatter

在右边,
点击”Import…”按钮,找到fromatterName.xml文件打开导入;

(2)
Organize Imports(包的导入排序):

定位到
Window->Preferences->Java->Code Style->Organize Imports

在右边,
点击”Import…”按钮,找到xxx.importorder文件打开导入;

================================================================================

  1. Copy Qualified Name 拷贝类全名

================================================================================

选中Java源文件中的类名,然后鼠标右键->Copy
Qualified Name,

得到的结构格式是包结构格式,如下:

com.taotling.riskctrl.Access

如果是在Package
Explorer中选中Java源文件,然后鼠标右键->Copy Qualified Name,

得到的格式是路径格式,如下:

/foo_20100713/src/com/taotling/riskctrl/Access.java

如果选中一个方法,鼠标右键->Copy Qualified
Name,

得到的格式如下:

com.taotling.riskctrl.Access.check(CheckValue)

================================================================================

  1. Debug的时候跳回上一个Frame重新进入被选中的Stack
    Frame

================================================================================

Eclipse 中 drop to frame 的调试技巧

解释如下:

Select the [ Drop to Frame command ]
to re-enter the selected stack frame

in the Debug View.

Note this command is only available
if the current VM supports drop to frame

and the selected stackframe is not
the top frame or a frame in a native method.

就是说,这个功能可以重新跳到当前方法的开始处重新执行,

并且所有上下文变量的值也回到那个时候。

不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。

主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,

即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),

而不用重来一遍调试到哪里了。

当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。

这里也说了如何使用这个功能:

http://www.javalobby.org/forums/thread.jspa?threadID=15271&tstart=0

引用如下:


You can’t know where you are without
knowing where you’ve been.

It’s true in life, and it is
especially true in debugging code.

Placing a breakpoint in a method to
test code is usually only useful

if you know the context of how the
method was executed.

The main ‘Debug’ view of the ‘Debug’
perspective shows a stack trace of the methods

that have led to the current
point.

Each element in this stack trace is
referred to in Eclipse as a ‘frame’.

A frame is nothing more than the
variable state of a method right

when the method it called was
executed.

You can preview the state of a frame
simply by clicking on it in the ‘Debug’ view.

Notice that once selected you can see
the values in the variable view at the point

that the child method ‘methodB’ was
called.

It is possible to preview the state
of any frame simply

by selecting it in the ‘Debug’
view.

What if, however, you’ve decided that
you missed an important state

in the execution process;

perhaps the breakpoint was in the
wrong place,

or maybe you accidentally stepped
over some code you wanted to inspect earlier

in the process.

Eclipse has a feature called ‘Drop to
Frame’.

‘Drop to Frame’ essentially lets you
‘rewind’ the execution

to the beginning of any method in the
stack.

This is especially useful when
performing variable modification

or code hotswapping - both features I
plan to discuss in detail future articles

  • traditional debugging,
    however,

can still benefit greatly from the
drop to frame functionality.

I personally like to think of drop to
frame as my emergency rewind button

when I’m dealing with traditional
debugging.

To drop to a certain frame, select
the frame in the ‘Debug’ view as before,

and right click and select the ‘Drop
to Frame’ action.

Once done, you will back up to the
beginning of the execution of the selected method.

Notice that now ‘methodB’ is no
longer on the stack at all,

and you are now back in
‘methodA’.

I highly recommend experimenting with
these features;

it is something I can’t do justice
to;

it simply has to be
experienced.

If you find yourself heading for the
stop button

so you can start your debug session
over,

take a breath and consider using
‘drop to frame’

  • it can save a huge amount of
    time.

    1. Java Comppiler 的 compiler
      compliance level的含义说明

================================================================================

查看Java Comppiler 界面中的”Configure
Workspace Settings”;

注意,如果勾选了”Enable project specific
settings”,

并且勾选了下面”JDK Compliance”中的

“Use compliance from execution
environment on the Java Build Path”

使用的”Compiler compliance
level”将会是:

compiler compliance level的含义说明:

设置编译级别暨 Eclipse compiler compliance
level为较低版本,

只是让编译器相信你的代码是兼容较低版本的,

在编译时生成的byteCode(class)兼容较低版本。

这样设置与你写代码时引用的JDK是没关系的,

也就是说你在写代码时仍可以引用较高版本的API(这样就可能导致错误).

设置compiler compliance
level为较低版本,

这样的好处是当别人使用了较低版本的Jdk时也可以引用你写的编译后的代码。

它可以保证编译后的class文件的版本一致性。

但是,如果你的代码里面(java
source)里面调用了较高版本jdk的API.

那么即使设置了compiler compliance
level为较低版本,

在较低版本的JDK上运行你的代码也会报错。

所以建议在写代码时引用的JDK,要跟你compiler
compliance level设置的版本一致。

  1. Find/Replace中设置回绕查询

================================================================================

Ctrl+F弹出Find/Replace界面,勾选其”Options”中的”Wrap
search”回绕查询;


  1. 快速查找哪些方法或类中引用了当前选中的属性或方法或类或其他对象:

================================================================================

(1)
选中需要进行查询的对象或属性;

(2)
鼠标右键->References->

其下有几个选项:

Workspace(工作空间中)

Project (项目中)

Hierarchy(继承结构中)

Working Set…(其他Working Set中)

每个均表示一定的范围,常用的是Project,如果使用Workspace需要小心查询范围扩大了;

(3)
如果上面的查询没有结果,那就使用:

鼠标右键->Declarations

这表示哪些地方声明了此变量,同样也有以下选项:

Workspace

Project

Hierarchy

Working Set…

(4)
一般都使用快捷键 Ctrl + Shift + G 查询Worksapace范围内,

不过这种方式需要保证只有你用到的工程打开,否则查询的结果有可能含有其他工程的引用;

如果Ctrl + Shift + G 查询没有结果,那就试试 Ctrl +
G ,

有可能在别的地方再次进行了声明而使用,所以引用查询不到;

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

关于软件版本:

================================================================================

Alpha:

内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。

Beta:

测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。

RC:(Release Candidate)

顾名思义!用在软件上就是候选版本。系统平台上就是发行候选版本。

RC版不会再加入新的功能了,主要着重于除错。

RTM:(Release to Manufacture)

给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。

但是和正式版本的主要程序代码都是一样的。

OEM:

给计算机厂商随着计算机贩卖的,也就是随机版。

只能随机器出货,不能零售。只能全新安装,不能从旧有操作系统升级。

包装不像零售版精美,通常只有一面CD和说明书(授权书)。

RVL:

号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的。

EVAL:

流通在网络上的EVAL版,与”评估版”类似,功能上和零售版没有区别。

RTL:Retail(零售版)

真正的正式版,正式上架零售版。

在Windows的安装盘的i386文件夹里有一个eula.txt,最后有一行
EULAID,就是系统的版本。

比如简体中文正式版是EULAID:WX.4_PRO_RTL_CN,繁体中文正式版是WX.4_PRO_RTL_TW。

其中:如果是WX.开头是正式版,WB.开头是测试版。_PRE,代表家庭版;_PRO,代表专业版。

总结版本号:

V(Version):

即版本,通常用数字表示版本号。(如:EVEREST Ultimate v4.20.1188 Beta)

Build:

用数字或日期标示版本号的一种方式。(如:VeryCD eMule v0.48a Build 071112)

SP:

Service Pack,升级包。(如:Windows XP SP 2/Vista SP
1)

授权和功能划分:

Trial:

试用版,通常都有时间限制,有些试用版软件还在功能上做了一定的限制。可注册或购买成为正式版.

Unregistered:

未注册版,通常没有时间限制,在功能上相对于正式版做了一定的限制。可注册或购买成为正式版。

Demo:

演示版,仅仅集成了正式版中的几个功能,不能升级成正式版。

Lite:精简版

Full version:完整版,属于正式版。

语言划分:

SC
:Simplified Chinese简体中文版。

CN
:简体中文版

GBK
:简体中文汉字内码扩展规范版。

TC
:Traditional Chinese繁体中文版。

CHT
:繁体中文版

BIG5:繁体中文大五码版。

EN :英文版

Multilanguage:多语言版

UTF8:Unicode Transformation Format 8 bit,对现有的中文系统不是好的解决方案。

开发阶段划分:

α(Alpha)版:

内测版,内部交流或者专业测试人员测试用。Bug较多,普通用户最好不要安装。

β(Beta)版:

公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装。

γ(Gamma)版:

相当成熟的测试版,与即将发行的正式版相差无几。

RC版:

Release Candidate。

RC版:

Release Candidate 的缩写,意思是发布倒计时,候选版本,处于Gamma阶段,

该版本已经完成全部功能并清除大部分的BUG。

到了这个阶段只会除BUG,不会对软件做任何大的更改。

从Alpha到Beta再到Gamma是改进的先后关系,但RC1、RC2往往是取舍关系。

Final:正式版。

其他版本

Enhance :增强版或者加强版 属于正式版1

Free
:自由版

Release :发行版 有时间限制

Upgrade :升级版

Retail
:零售版

Cardware:属共享软件的一种,只要给作者回复一封电邮或明信片即可。

(有的作者并由此提供注册码等),目前这种形式已不多见。/ S

Plus
:属增强版,不过这种大部分是在程序界面及多媒体功能上增强。

Preview :预览版

Corporation & Enterprise :企业版

Standard:标准版

Mini
:迷你版也叫精简版只有最基本的功能

Premium :贵价版

Professional:专业版

Express :特别版

Deluxe
:豪华版

Regged
:已注册版

Rip
:是指从原版文件(一般是指光盘或光盘镜像文件)直接将有用的内容(核心内容)分离出来,

剔除无用的文档,例如PDF说明文件啊,视频演示啊之类的东西,也可以算做是精简版.

但主要内容功能是一点也不能缺少的!

另:DVDrip是指将视频和音频直接从DVD光盘里以文件方式分离出来。

RTM 版:这基本就是最终的版本,英文是 Release To Manufactur,意思是发布到生产商。

Original Equipment Manufacturer (OEM) 

You may license products through an Original Equipment Manufacturer (OEM).

These products, such as Windows operating systems,

come installed when you purchase a new computer.

OEM软件是给电脑生产厂的版本,无需多说。 

Full Packaged Product (FPP)/Retail

Physical, shrink-wrapped boxes of licensed product that can be purchased

in a local retail store or any local software retailer.

FPP就是零售版(盒装软件),这种产品的光盘的卷标都带有”FPP”字样,

比如英文WXP Pro的FPP版本的光盘卷标就是WXPFPP_EN,其中WX表示是Windows XP,

P是Professional(H是Home),FPP表明是零售版本,EN是表明是英语。

获得途径除了在商店购买之外,某些MSDN用户也可以得到。

Volume Licensing for Organizations (VLO)

You may enjoy potentially significant savings

by acquiring multiple product licenses.

Depending on the size and type of your organization.

团体批量许可证(大量采购授权合约),这是为团体购买而制定的一种优惠方式。

这种产品的光盘的卷标都带有”VOL”字样,取”Volume”前3个字母,以表明是批量,

比如英文WXP Pro的VOL版本的光盘卷标就是WXPVOL_EN,其中WX表示是Windows XP,

P是Professional(VOL没有Home版本),VOL表明是团体批量许可证版本,EN是表明是英语。

获得途径主要是集团购买,某些MSDN用户也可以得到。

在很多软件下载的时候,你会发觉标识为GA或者CRx等。比如MySQL和JBoss都采用这种标识。

那什么是GA呢。GA是Generally
Available的缩写,

意思是开发团队认为该版本是稳定版(有的软件可能会标识为stable版或者production版,

其意思和GA相同),可以在较为关键的场合使用。

如果你是要用在生产中的软件,或者你是一个新手,那么你最好选用GA版本。

这是测试最为充分,最为稳定的版本。

RC就是Release Candidate(候选版本)的简称

GA:General
Availability,正式发布的版本,在国外都是用GA来说明release版本.

================================================================================

================================================================================

================================================================================

配置文件(eclipse.ini或myeclipse.ini):

================================================================================

2009-06-16所有Eclipse,MyEclipse 都 Could not create the Java virtual
machine.

头天还能正常使用,配置如下:

(1) MyEclipse7.0/myeclipse.ini

================================================================================

-debug

options

-startup

Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

–launcher.library

Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms696M

-Xmx696M

-XX:PermSize=128M

-XX:MaxPermSize=128M

-XX:+UseParallelGC

================================================================================

现在改为:

================================================================================

-debug

options

-startup

Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

–launcher.library

Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms648M –>修改处

-Xmx648M –>修改处改为649就不行,比原来少796-648=48M

–>此时JVM所使用内存总量:
648(-Xmx)+128(-XX:MaxPermSize)=776M

-XX:PermSize=128M

-XX:MaxPermSize=128M

-XX:+UseParallelGC

================================================================================

根据上面能使用的内存总量776M,最后这样分配

================================================================================

-debug

options

-startup

Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

–launcher.library

Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms520M

-Xmx520M

-XX:PermSize=256M

-XX:MaxPermSize=256M

-XX:+UseParallelGC

================================================================================

(2)
EclipseGanymedeJee.v3.4.0/eclipse.ini

====================

-showsplash

org.eclipse.platform

–launcher.XXMaxPermSize

256M

-framework

plugins/org.eclipse.osgi_3.4.0.v20080605-1900.jar

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx512m

====================

改为:

====================

-showsplash

org.eclipse.platform

–launcher.XXMaxPermSize

256M

-framework

plugins/org.eclipse.osgi_3.4.0.v20080605-1900.jar

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx492m //修改处493m都不行比原来少512-492=20M

====================

(3) MyEclipse
6.5.1-GA-20080715/eclipse/elipse.ini

============================================================================

-debug

options

-vm

javaw.exe

-clean

-showsplash

com.genuitec.myeclipse.product.ide

–launcher.XXMaxPermSize

1024m

-vmargs

-Xms760m

-Xmx760m

-Duser.language=en

-XX:PermSize=64M

-XX:MaxPermSize=64M

-XX:+UseParallelGC

============================================================================

改为:

============================================================================

-debug

options

-vm

javaw.exe

-clean

-showsplash

com.genuitec.myeclipse.product.ide

–launcher.XXMaxPermSize

1024m

-vmargs

-Xms712m

-Xmx712m //改为713都不行比原来少760-712=48M

-Duser.language=en

-XX:PermSize=64M

-XX:MaxPermSize=64M

-XX:+UseParallelGC

============================================================================

MyEclipse7.5配置

============================================================================

原配置为:

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll

-vmargs

-Xmx512m

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=64m

修改为:


-debug

options

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms648m

-Xmx648m

-XX:PermSize=128m

-XX:MaxPermSize=128m

-XX:ReservedCodeCacheSize=128m

-XX:+UseParallelGC

MyEclipse8.0GA配置

============================================================================

(1)
2009-12-01————————————————————–

-debug

options

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

-install

D:/Programs/Genuitec/MyEclipse8.0GA

-vm

D:/Programs/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll

-configuration

configuration

-vmargs

-Xms648m

-Xmx648m

-XX:PermSize=128m

-XX:MaxPermSize=128m

-XX:ReservedCodeCacheSize=128m

-XX:+UseParallelGC

-DNLS_LANG=SIMPLIFIED
CHINESE_CHINA.ZHS16GBK

-Duser.language=zh

这个配置启动会出现dos窗口,不会出现启动的图片画面,

加入

-debug

options

是为了显示JVM的heap
status状态条,其实用不这样做,

只需定位到windows->Preferences->

在其右边的界面中,找到”Show heap
status”,并勾选上,然后确定即可;

(2)
2010-03-03————————————————————–

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

-install

D:/Programs/Genuitec/MyEclipse8.0GA

-vm

D:/Programs/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll

-configuration

configuration

-vmargs

-Xms512m

-Xmx512m

-XX:PermSize=256m

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=128m

-XX:+UseParallelGC

-showsplash

-Dosgi.splashLocation=D:/Programs/Genuitec/Common/plugins/com.genuitec.myeclipse.product8_8.0.0.me200911192201/splash.bmp
做个快乐的自己。MyEclipse使用经验总结

  1. 快捷键

================================================================================

编辑:

Ctrl+Shift+L显示所有快捷键

Ctrl+K
参照选中的词(Word)快速定位到下一个

Ctrl+Shift+K参照选中的词(Word)快速定位到上一个

Ctrl+O
快速显示OutLine

Ctrl+T
快速显示当前类的继承结构

Ctrl+Shift+X把选中文本全部改为大写

Ctrl+Shift+Y把选中文本全部改为小写

Ctrl+Shift+F按照当前的配置文件格式化源代码

Ctrl+L
弹出行定位框以便定位到某一行

Ctrl+Numpad_Divide

Ctrl+/(小键盘)使代码折叠可用

Ctrl+Numpad_Multify

Ctrl+*(小键盘)展开当前类中的所有代码

Ctrl+Shift+Numpad_Divide

Ctrl+Shift+/(小键盘)折叠所有,如果不能全部成功折叠,

将光标移到文档最后试着或多按几次

折叠当前类中的所有代码

Ctrl+1
快速修正,需要导包的时候出现导包提示界面,

Ctrl+Q
定位到最后编辑的地方

Ctrl+Shift+m导入当前行上需要的包(add import)

Ctrl+Shift+o导入所有需要的包(organize imports)

Shift+Enter在当前行的下一行插入行

Shift+Ctrl+Enter在当前行的上一行插入行

Alt+/
语法补充快捷

Ctrl+MouseLeft当按住Ctrl时,将Mouse移动到一个类或类的方法或属性时,

左键点击会进入到源文件内进行查看

如果没找到源文件,而需要指定Sourece,

比如说JDK自身的src.zip文件或源文件所在的文件夹

Ctrl+/
== Ctrl+Shift+C注释选定行或取消注释

Ctrl+Shift+/用…… /注释选定行

Ctrl+Shift+/取消/…… /注释

Ctrl+D
删除当前行

Shift+< 在当前位置插入成对的尖括号:<>

Ctrl+Alt+down复制当前行到下一行

Ctrl+Alt+up复制当前行到上一行

Ctrl+Alt+JJoin Lines连接行

Alt+down 当前行和下面一行交换位值

Alt+up
当前行和上面一行交换位值

选定光标所在的行通过用这两个快捷各执行一次来完成

Alt+left 前一个编辑的代码页面或在当前页面中上一个光标的位置

Alt+right下一个编辑的代码页面或在当前页面中下一个光标位置

(当使用了Alt+←后)

Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮)

当点击某个标记时可使本页面中其他地方的此标记黄色凸显,

并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处

Shift+Home选定光标处到行首的内容

Shift+End选定光标处到行尾的内容

Ctrl+Shift+Home选定光标处到首行行首的内容

Ctrl+Shift+End选定光标处到尾行行尾的内容

Ctrl+Shift+P定位到与之成对匹配的括号{或)

(从前面定位后面时,光标要在匹配符之后,从后往前定位,反之)

Tab与Shift+Tab选中要移动的代码后,按Tab键右移,按Shift+Tab键左移

Ctrl+up

Ctrl+down上下滚动编辑页面

查找:

Ctrl+Shift+R相当于Navigate->Open Resource…

输入Java源文件名或类名,会按通配的方式列出符合条件的.java源文件

Ctrl+J
正向增量查找(按下Ctrl+J文件你所输入的每个字母,

编辑器都提供快速匹配定位到某个单词,如果没有,

则在stutes
line中显示没有找到了,查一个单词时,特别实用,

这个功能Idea两年前就有了)

Ctrl+Shift+J反向增量查找(和上条相文件只不过是从后往前查)

窗口:

Ctrl+M
窗口最大化与恢复大小转换

最大化当前的Edit或View(再按则恢复)

Ctrl+W
关闭当前Editor

Ctrl+Shift+F4关闭所有打开的Editor

Ctrl+E
快速显示当前Editor的下拉文档列表

Ctrl+Shift+E显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

F2
当鼠标放在一个标记处出现Tooltip时候,

按下F2会铆钉显示的 Tooltip 框

F3
跳到声明或定义(源文件)处

Alt+Enter显示当前选择资源(工程,or 文件 or文件)的属性

Ctrl+PgUp

Ctrl+PgDown切换代码窗口的各个文档,

如果切换到头就会打开”Show List”下拉框

在此下拉框里显示有最近曾打开的文件,

连续按可移动选中项

对于XML文件是切换代码和图示窗口

Alt+Shit+w在光标处弹出选择view的菜单

在Package窗口下,弹出Navigator与Properties的选择菜单

Alt+Shift+Q,Q弹出”Show View”选择界面

Alt+Shift+Q,TShow View(View:
Hierarch)

Alt+Shift+Q,BShow View(View: Breakpoints)

Alt+Shift+Q,HShow View(View: Cheat Sheets)

Alt+Shift+Q,CShow View(View: Console)

Alt+Shift+Q,LShow View(View: Error Log)

Alt+Shift+Q,ZShow View(View: History)

Alt+Shift+Q,JShow View(View: Javadoc)

Alt+Shift+Q,OShow View(View: Outline)

Alt+Shift+Q,PShow View(View: Package Explorer)

Alt+Shift+Q,XShow View(View: Problems)

Alt+Shift+Q,SShow View(View: Search)

Alt+Shift+Q,YShow View(View: Synchronize)

Alt+Shift+Q,VShow View(View: Variables)

Debug:

F5
单步调试进入函数内部

F6
单步调试不进入函数内部

F7
由函数内部返回到调用处

F8
一直执行到下一个断点

Refactor 重构(一般以Alt+Shift开头):

Alt+Shift+R重命名被选中的变量

Alt+Shift+M抽取方法

Alt+Shift+C修改函数结构

Alt+Shift+L抽取本地变量

Alt+Shift+F把Class中的local变量变为field变量(MyEclipse中需要自定义)

Alt+Shift+I合并变量(可能这样说有点不妥Inline)

Alt+Shift+V移动方法和变量不怎么常用

Alt+Shift+Z重构的后悔药(Undo)

================================================================================

Ctrl+I格式化激活的元素Format Active Elements?

Ctrl+Shift+Space提示信息即Context Information?

================================================================================

  1. 更改快捷键设置(自定义快捷键)

================================================================================

代码的自动完成:

(1)
Windows->Preference->General->Keys

是管理快捷键的地方

在这里的type filter text处输入Content
Assist,

找到要修改的”Content Assist”

在下面会出现”Content Assist”,用鼠标选中”Content
Assist”,

在下面的”Binding”处按自己需要的快捷键组合,比如Alt+/

在”When”中选择”Editing Text”

(2)
Windows->Preference->Java->Editor->Templates

这里是管理Java编辑器模板的地方

比如找到”Name”为sysout的,可以看到其”Preview:”处有:

System.out.println( wordselection {});${cursor}

其表示在输入sysout后,按Alt+/就可以自动完成System.out.println();的输入

再比如找到”Name”为main的,可以看到其”Preview:”处有:

public static void main(String[]
args) {

${cursor}

}

表示在输入main后,按Alt+/就可以在弹出的选项中选择main方法,

自动完成main方法的格式化输入

自定义抽取局部变量为成员变量:

Windows->Preference->General->Keys

在这里的type filter text处输入Convert a
local variable to a field,

如果看到Binding一栏处还没有绑定快捷键,

就将光标移到下面的Binding文本框内,然后按Alt+Shift+F,

然后OK即可.

================================================================================

  1. 整合Javadoc文档到MyEclipse

================================================================================

在MyEclipse中左边的”Package
Explorer”窗口中选中一个JAR包

右键->属性>Javadoc
Location可以指定其JAR包所对应的Java文档的位置,

其中上面的”Javadoc
URL”可以点击Browse…”选择文档所在的目录,如:

javaee.jar在我电脑中的路径是这样的:file:/D:/Program/Sun/SDK/docs/api/

选择完后,可以点击Browse…”下的”Validate…”进行有效性验证

一般所选择的目录下面应该有index.html或相应的package-list文件.

其中下面的”Javadoc in
archive”是用来选择一个打包文档jar或zip的”

选中”External
file”表示我们需要从外部而不是MyEclipse工作空间中选择这个文档,

然后点击Archive
path后的”Browse…”,选择一个有Javadoc打包的文件

比如我电脑中的路径是这样的”D:/Program/Sun/SDK/docs/api_doc.zip

注意从sun公司网站下载的java_ee_sdk-5_03-javadocs.zip其结构是这样的”

java_ee_sdk-5_03-javadocs.zip|

|docs|

|api|

|
|index.html

|
|package-list

|

|legal

不能直接选中所下载的java_ee_sdk-5_03-javadocs.zip,而要重新打包,

将其中的index.html那一级目录置为重新打包后的顶层目录

或者不用重新打包,在Archive
path:中找到下载的java_ee_sdk-5_03-javadocs.zip文件

再在其下面的Path within
archive:中选择相应的路径即可

Archive
path:D:/Program/Sun/SDK/java_ee_sdk-5_03-javadocs.zip

Path within archive:docs/api

这样,当在编写一个源Java源文件的时便将光标定位到一个类或接口上的时候,

如:

选中HttpServlet,然后按F1,在窗口右边就会出现Help窗口,

点击窗口中的Javadoc for
‘javax.servlet.http.HttpServlet’,

就可以在窗口中出现相应的API帮助文档了.

以上的对相应的JAR包或相关框架的DOC的设置,

那么对于JDK的DOC的设置,可以使用下面的方式:

Windows->Preferences

输入JRE,然后选中Java->Installed
JREs

在右边选中需要进行DOC文档位置设置的JRE,然后选择”Edit”,

在出现的界面中选中相应的jar包,然后点击右边的”Javadoc
Location…”进行设置.

================================================================================

  1. 无法正常启动

================================================================================

MyEclipse启动遇到内部错误总启动不了的时便

将Workspace下的.metadata目录删除重启即可

================================================================================

  1. 标记断点:

================================================================================

在java视图中,直接在你要设置断点的那行的最左边,双击即可,右键的弹出菜单中也有这个选项

Debug:

选择debug(F11,Run菜单中的debug)即可,自动进入debug视图,

用Step into(F5)能进入到被调用方法的跟踪

用Step over(F6)进行单步调试

================================================================================

  1. 更改 Web Project 的 Web
    Context-root:

================================================================================

右键点击Web项目->Properties->MyEclipse->Web

在右边的界面的Context Root中可进行更改设置.

如果在Tomcat没运行的时便修改一个以前已部署的Web应用的Web
Context-root,

此时MyEclipse会将以前此Web应用的部署删除

如果在Tomcat运行着的时候,修改一个已部署后正在使用(存在正在访问的客户端)的Web应用

的Web
Context-root,MyEclipse不会将此Web应用的部署删除,而是出现一个黄色的感叹号图标.

由于Web Context-root被更改此部署其实已失效,

需要删除原来的部署,重新在Tomcat中”Add
Deployment…”

================================================================================

  1. 文件上传相关

================================================================================

文件上传路径,如果不写相对路径或绝对路径

那么会存入D:/Program/Apache/apache-tomcat-6.0.18/bin目录

================================================================================

  1. MyEclipse各种相关的文件格式的编辑器字体显示设置

================================================================================

window->preference->General->Appearence->Colors
and Fonts

在其右边有这么几项

Basic:

Basic colors and fonts used
throughout workbench dialogs and editors.

基本上指所有对话框和编辑器中的字体,包括jsp,ant的xml等文件的字体显示.

如果需要对XML等编辑器的字体进行设置,先设置这里,

对于控制台的字体如果这里设置大了看着不舒服,可专门到Debug下设置控制台的字体.

CVS:

版本库相关的显示字体

Debug:

控制台的输出字体

Java:

Java源文件编辑器字体

JavaScript:

JavaScript字体

Structured Text Editors:

结构化文本的字体,如xml,xml schemal等

Text Compare:

文本比较器的字体

View and Editor Folders:

Colors and fonts used by the default
Eclipse presentation.

->Java Editor Text
Font然后点Change

================================================================================

7-1. MyEclipse中UML图中的字体的设置

================================================================================

window->preference->MyEclipse->UML1

在右边的Nodes中,有Header font与Body
font的设置.

================================================================================

  1. 某一文件的存储字符编码设置

================================================================================

在Eclipse中不能保存中文时,可以设置一下Eclipse的编码方式为gbk等支持中文的字符编码方式。

可通过以下方式进行修改:

(1)
Window->General->workspace

->在右边的界面中的”Text file
encoding”下设置;

(2)
鼠标右键点击所需要修改的文件,或File->Properties

->在右边的界面中的”Text file
encoding”下设置;

(3)
鼠标右键点击需要修改字符集编码的文件–>proterties(Alt+Enter)–>”Resource”,

在右边窗口中的下面有”Text file encoding”,

在Other处填入需要的字符集编码,如GBK或GB18030或UTF-8等;

================================================================================

8-1. 某种格式的文件的存储字符编码设置

================================================================================

Window–>Preferences–>MyEclipse–>Files
and Editors,

在这里,可以设置多种文件格式的Encoding,比如说JSP的,

找到JSP,在右边就会出现一个界面,找到”The following
encoding will apply:”,

将Encoding:设置为自己所需要的字符编码,比如说ISO
10646/Unicode(UTF-8)

================================================================================

  1. 自定义代码格式

================================================================================

“Windows”–>”Preferences”–>”Java”–>”Code
Style”–>”Formatter”

================================================================================

  1. 编辑JSP文档,XML等文档反应慢的问题

================================================================================

原因:

(1)
新建的工程中加入了JAVA EE的lib库

库中的所使用的javax.servelet.jar等这些个包中的javadoc
location位置,

被设置成了官方网站的网址,

这样每次提示的时候都要去官方网站去找doc,所以导致myeclipse会很忙

当禁用网卡或者拔掉网线的时便就不会在卡了

(2)
JSP编辑器使用了MyEclipse Visual JSP Designer

最终解决方法

(1)
[Window]->[Preferences]->[MyEclipse]->[JavaEnterprise
Project]->[Library Sets]

[JAVA EE 5.0][J2EE 1.4]和[J2EE
1.3]下的javax.servelet.jar等包,

点开选择[javadoc
location]这个节点,双击后在对话框中,

把地址去掉为空或者选择你本地javadoc地址,即可解决jsp自动提示卡和慢的问题

(2)
[Window]->[Preferences]->[General]->[Editors]->[File
Associations]

在右边的上半部分列出的文件扩展名中选中*.jsp,

在右边的下半部分列出的编辑器中选中MyEclipse JSP
Editor,

点击右边的”Default”,将这个编辑器设置为默认的编辑器,

这样当你双击一个jsp文档的时候,就会默认使用这个编辑器打开JSP文档了.

================================================================================

  1. MyEclipse版本的区别

================================================================================

blue

专为IBM开发的,功能最全的版本

M(Milestone)

Milestone版本,是比beta版还要早的版本

可以看作是下一代正式版本的一个试探性改进测试

GA(Generally Available)

正式版MyEclipse

目前(2009-12-23)8.0GA是最新的

================================================================================

  1. 关闭myeclipse的Quick
    Update自动更新功能

================================================================================

Windows > Preferences >
MyEclipse > Community Essentials,

把选项 “Search for new features on
startup”的前勾去掉即可

================================================================================

  1. MyEclipse内存使用相关以及JVM内存分配

================================================================================

1)
PermGen space简介

PermGen space的全称是Permanent Generation
space,

是指内存的永久保存区域。

OutOfMemoryError: PermGen
space从表面上看就是内存益出,

解决方法也一定是加大内存。

说说为什么会内存益出:


  • 这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,

它和和存放Instance的Heap区域不同。


  • GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,

所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen
space错误。

这种错误常见在web服务器对JSP进行pre
compile的时候。

如果你的WEB APP下都用了大量的第三方jar,

其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

13_1.Tomcat内存溢出的解决方法:

手动设置MaxPermSize大小,
修改TOMCAT_HOME/bin/catalina.sh,

在echo “Using CATALINA_BASE:
$CATALINA_BASE”上面加入以下行

JAVA_OPTS=”-server -XX:PermSize=64M
-XX:MaxPermSize=128m

建议:

将相同的第三方jar文件移置到tomcat/shared/lib目录,这样可以减少jar文档重复占用内存

================================================================================

  1. Eclipse 内存溢出或不能启动或死掉的解决

================================================================================

这一段时间,Eclipse总是死掉,几乎是稍微操作快一点就会死掉,几分钟一次,

搞得人郁闷至极。浪费了不少时间,在网上搜了下,看到很多朋友也出现类似的情况,

在网上求救,但是网上的办法都只是说通过修改eclipse.ini文件来加大Eclipse的内存。

自己试了下,发现不管用。今天,又死掉了,不过爆出一个经常出现的错误,

大意是:permgen space导致内存溢出。

解决办法如下:

在eclipse.ini配置文件中加上以下两行

-XX:PermSize=128M

-XX:MaxPermSize=128M

加上上2行后,我的eclipse.ini文件如下所示:

-showsplash

org.eclipse.platform

–launcher.XXMaxPermSize

512m

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=128M

-XX:MaxPermSize=128M

这里的内存大小根据自己的物理内存情况来决定吧。

从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。

理由如下:
PermSize 和 MaxPermSize如果设置为相同还可以在一定程度上提高性能,

因为PermSize在不断的变化中会需要转移其中的数据。

如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。

  1. 让你的eclipse也能显示JVM当前内存使用量

================================================================================

1)
在eclipse或MyEclipse目录下建立一个文件文件名options,

文件内容:

org.eclipse.ui/perf/showHeapStatus=true

2)
有两种方式来启用这个配置文件:

(1)
用命令方式启动:

D:/MyEclipse/eclipse.exe -debug
options -vm javaw.exe

或者直接右键eclipse的快捷方式的”目标”中填入这行

(2)
MyEclipse.ini中前两行加入下面两行:

-debug

options

修改ini文件是要注意备份。

3)
启动eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量

另外还可以强制进行垃圾收集。

加启动参数和在ini中写是一样的,都是启动的配置

4)
eclipse对于JRE的加载顺序:

首先执行 -vm 参数;如果没有-vm参数,

则查找eclipse/jre子目录,如果没有找到,

eclipse最后才查找在系统中注册的jre


以下是写在MyEclipse目录下的Myeclipse.ini中内容的例子:

-debug

options

-vm

javaw.exe

-vmargs

-Xms256m

-Xmx512m

-XX:PermSize=128M

-XX:MaxPermSize=256M

在Eclipse目录下建一文件options(无任何扩展名),其内容为:

org.eclipse.ui/perf/showHeapStatus=true

加了这个后Eclipse会在下面状态栏显示垃圾回收的东东.

================================================================================

15.1 Eclipse状态栏显示JVM内存使用情况的改进

================================================================================


  1. 打开记事本,输入以下内容org.eclipse.ui/perf/showHeapStatus=true

然后保存于eclipse根目录下,文件名为options,没有文件扩展名。


  1. 用-debug options -vm javaw.exe这条命令启动eclipse:

在快捷方式的目标中写入如下”C:/eclipse/eclipse.exe
-debug options -vm javaw.exe”


  1. 重启就可以啦

================================================================================

15.2 MyEclipse8.0中状态栏显示JVM内存(Show
heap status)使用情况

================================================================================

在MyEclpise8.0中简单了,windows->Preferences->General

在其右边的界面中,找到”Show heap
status”,并勾选上,然后确定即可;

================================================================================

  1. MyEclipse7.5的Content
    Assist不起作用了

================================================================================

(1)
在window->Preferences->Java->Editor->Content Assist

中找到Enable auto
activation,将其选项勾上;

(2)
window->Preferences->Java->Editor->Content
Assist->Advanced

上面的选项卡Select the proposal kinds
contained in the ‘default’ content assist list:中,

把 Other Java Proposals
选项打上勾就可以了。

================================================================================


  1. MyEclipse中启动Tomcat,JBoss等服务器里,控制台不显示启动信息

================================================================================

现象:

在控制台为:

no consoles display at this
time

但服务器已经启动,可正常使用.

MyEclipse7.5 Tomcat6.0.18JBoss4.2.3.GA

之前正常,今天突然就这样了.

解决方法:

在MyEclipse菜单中window–>preferences–>Java–>Installed
JREs

中,Add自己安装的JDK,

而不要使用MyEclipse自带的JDK”com.sun.java.jdk.win32.x86_1.6.0.013”

或者:

选择Tomcat6.x–>JDK–>Add,点Browse找到自己的JDK的安装路径.

如果JDK已配置为自己安装的了,就定位到

window–>preferences–>MyEclipse
Enterprise Workbench–>Servers

随便选择一个服务器,比如Tomcat6.x–>JDK,

只要定位到JDK,就OK了,

或者定位到window–>preferences–>Java–>Installed
JREs,

只要一点Installed JREs,就OK了.

这个是myeclipse7.5本身的问题,莫名其妙.

================================================================================

  1. 去掉Show In
    Breadcrumb显示出来的导航条

================================================================================

按下快捷键Alt+Shift+B或者右键单击后选中了Show in
Breadcrumb时,

就会在编辑器Editor上方出现一个快速导航条,如果想去掉它可以这样来解决:

定位到Window -> Customize Perspective
-> Commands

在”Available command groups”下面找到”Java
Editor Persentation”,

确定其是被勾选的.然后OK退出设置界面.

在菜单上会有一个Toggle Breadcrumb的快捷按钮

(一般在那一长行快捷按钮的右边,也就是切换Java,MyEclipse等视图按钮的左边),

可看见其状态是被选中的,点击这个按钮图标,即可取消(再次点击这个按钮图标又出现Breadcrumb)。

================================================================================


  1. 显示被@Deprecated标注过和方法为一条横线穿过:

================================================================================

定位到Window->Preferences->Java->Compiler->Errors/Warnings;

将其右边的”Deprecated and restricted
API”下的选项勾选上,然后OK.

================================================================================

  1. 恢复不小心被删除的文件

================================================================================

恢复文件:

选中你需要恢复文件的Project或package,鼠标右击”Restore from
Local History…”

然后直接选中你需要恢复的文件,点击”Restore”就OK了。

恢复类语句块:

选中你需要恢复的块,鼠标右击”Local
History…”–>”Replace with…”

或”Restore
From…”然后看清你要恢复的块。OK就行了。

当然上面只是针对Java源文件来说的,对于WebRoot下的JSP等文件的恢复,

需要选中其文件,鼠标右击”Replace with”->”Local
History”->

================================================================================

  1. 增强Content Assist的提示功能

================================================================================

(1)
windows->preferences->Java->Editor->Content Assist

找到右下方的Auto-Activation(自动激活),

在Auto activation triggers for
Java:的右边框中的.后加入abc,

(加这个的目的是为了好在后面查找定位),点击”OK”,回到主界面,

(2)
“File”菜单中选择”Export…”,

在弹出的界面中选择”General->Preferences”->”Next”,

在这个界面中,先勾选上”Keys
Preferences”(注意先勾选),

再注意选中上方的”Export all”, 在”To preference
file:”框的右边点击”Browse…”,

选择导出路径以及为导出文件取一个文件名(默认扩展名为.epf);

(3)
用文本编辑器打开导出的文件(*.epf),查找”.abc”(前面在.后添加的abc就这作用),

定位到/instance/org.eclipse.jdt.ui/content_assist_autoactivation_triggers_java=.abc

处,在abc后面添加你想要的触发键,如:

…content_assist_autoactivation_triggers_java=.abcdefghijklmnopqrstuvwxyz

保存.

(4)
再使用”File”菜单中的”Import…”导入即可使用增强的Content Assist.

================================================================================

  1. 为MyEclipse添加XML文档所使用的DTD或XML
    Schema,

从而使用Content Assistant可进行代码提示:

================================================================================

(1)
DTD

1)
定位到:

WIndow->Preferences->MyEclipse->XML->XML
Catalog

2)
在右边的界面中,选择”User Specified Entries”,点击右边的”Add…”;

3)
在弹出的对话框中点击”File System…”,为Location输入框添加DTD文件所在路径;

4)
使用别的文本编辑器打开此DTD文件,找到相应的文档类型声明,

比如说Hibernate的配置文件:hibernate.cfg.xml所需要的DTD文件为:

hibernate-configuration-3.0.dtd

打开hibernate-configuration-3.0.dtd后,找到如下内容:

PUBLIC

“-//Hibernate/Hibernate Configuration
DTD 3.0//EN”

http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd“>

4)
“Key Type:”右边的下拉框中(有三个类型:Public ID,System ID,URI),

根据hibernate-configuration-3.0.dtd中的中的PUBLIC,

选择Public ID(或者直接选择”URI”也可);

5)
“Key:”右边的文本框中,将hibernate-configuration-3.0.dtd中的

中的PUBLIC后的双引号内的内容COPY,然后粘贴到”Key:”右边的文本框中,

注意,COPY的内容不带双引号”“;

(如果上面第(4)步中选择的是URI,则需要填入的是dtd文件中的http://…部分)

6)
点击”OK”,即可看到”User Specified Entries”已有了所增加的DTD(的KEY);

同样,hibernate-mapping-3.0.dtd这个DTD的加入,也可以如法炮制;

7)
重启MyEclipse即可,注意如果提示不出来,

并在状态栏的左下出现”Content Assist not
available at the current location”,

请在光标位置键入一个空格再使用Alt+/试试;

(2)
XSD(XML Schema)

1)
定位到:

WIndow->Preferences->MyEclipse->XML->XML
Catalog

2)
在右边的界面中,选择”User Specified Entries”,点击右边的”Add…”;

3)
在弹出的对话框中点击”File System…”,为Location输入框添加XSD文件所在路径;

4)
.xsd文件添加后,在下面的Key:右边的文本框会自动添加一个URI,如Spring的:

http://www.springframework.org/schema/beans

如果没有自动添加,使用别的文本编辑器打开此.xsd文件,

找到相应的

—————————————-

WE8ISO8859P1
VARCHAR2

WE8ISO8859P1
CHAR

AL16UTF16
NCLOB

AL16UTF16
NVARCHAR2

ZHS16GBK
VARCHAR2

WE8ISO8859P1
CLOB

AL16UTF16
NCHAR

已选择7行。

上面SELECT语句的意思是:

NLS_CHARSET_NAME(CHARSETID) –>
使用NLS_CHARSET_NAME()函数,取到其ID参数的字符集名称;

DECODE(….) TYPES_USED_IN –>
括号中的意思是:

如果TYPE#(TYPE#为第一个DECODE的第一个参数)的值是

第二个参数(1),则取其后的参数(1后面的)为函数的返回值,

否则继承判断TYPE#是否其与第四个参数相等,如果相等,

函数返回第五个参数的值…..,TYPE#如果均不等于

1,9,96,112,则最外的DECODE()函数返回NULL;

确实在数据库的列属性中仍然存在着多个字符集的设定,下面解决这个问题。

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER SYSTEM ENABLE
RESTRICTED SESSION;

System altered.

SQL> ALTER SYSTEM SET
JOB_QUEUE_PROCESSES=0;

System altered.

SQL> ALTER SYSTEM SET
AQ_TM_PROCESSES=0;

System altered.

SQL> ALTER DATABASE OPEN;

Database altered.

SQL> COL VALUE NEW_VALUE
CHARSET

SQL> SELECT VALUE FROM
NLS_DATABASE_PARAMETERS WHERE PARAMETER=’NLS_CHARACTERSET’;

VALUE


ZHS16GBK

SQL> COL VALUE NEW_VALUE
NCHARSET

SQL> SELECT VALUE FROM
NLS_DATABASE_PARAMETERS WHERE PARAMETER=’NLS_NCHAR_CHARACTERSET’;

VALUE


ZHS16GBK

这里的国家语言字符集是有问题的,往下看操作就知道了:


INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化

ALTER DATABASE CHARACTER SET
INTERNAL_USE &CHARSET;

ALTER DATABASE NATIONAL CHARACTER SET
INTERNAL_USE &NCHARSET;

SQL> ALTER DATABASE CHARACTER SET
INTERNAL_USE &CHARSET;

old 1: ALTER DATABASE CHARACTER SET
INTERNAL_USE &CHARSET

new 1: ALTER DATABASE CHARACTER SET
INTERNAL_USE ZHS16GBK

Database altered.

SQL> ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET;

old 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET

new 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE ZHS16GBK

ALTER DATABASE NATIONAL CHARACTER SET
INTERNAL_USE ZHS16GBK

*

ERROR at line 1:

ORA-12714: invalid national character
set specified


运行到此处出问题了,看来国家字符集不能是ZHS16GBK的了,


那为什么取的时候会取到呢?是因为早先的时候无知地使用了这个语句:

SQL> UPDATE props SETvalue =’ZHS16GBK’

WHERE name=’NLS_CHARACTERSET’ or
name=’NLS_NCHAR_CHARACTERSET’;

– 其值原来是
AL16UTF16,UPDATE后改成了ZHS16GBK,现在把其改回去先;

SQL> UPDATE props SETvalue =’AL16UTF16’

WHERE name=’NLS_NCHAR_CHARACTERSET’;
2

1 row updated.

SQL> commit;

Commit complete.

– 再次运行:

SQL> ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET;

old 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE &NCHARSET

new 1: ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE ZHS16GBK

ALTER DATABASE NATIONAL CHARACTER SET
INTERNAL_USE ZHS16GBK

*

ERROR at line 1:

ORA-12714: invalid national character
set specified

– 还是不行,看看错误原因:

SQL> !oerr ORA 12714

12714, 00000, “invalid national
character set specified”

// *Cause: Only UTF8 and AL16UTF16
are allowed to be used as the national

// character set

// *Action: Ensure that the specified
national character set is valid

– 由此可知,Oracle 10g的NATIONAL CHARACTER
SET只有2个选择:AL16UTF16与UTF8


下面直接用国家字符集名字,而不使用&NCHARSET来取:

SQL> ALTER DATABASE NATIONAL
CHARACTER SET INTERNAL_USE AL16UTF16;

Database altered.

– 成功修改

– 关闭数据库并重启:

SQL> SHUTDOWN IMMEDIATE

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> STARTUP

ORACLE instance started.

Total System Global Area 612368384
bytes

Fixed Size 2022696
bytes

Variable Size 251658968
bytes

Database Buffers 352321536
bytes

Redo Buffers 6365184
bytes


按照上面的步骤,一步一步来,一步不要少,完成以后,重新检索col$表。

CHARACTERSET
TYPES_USED_IN

—————————————-

ZHS16GBK
CHAR

AL16UTF16
NCLOB

ZHS16GBK
VARCHAR2

AL16UTF16
NVARCHAR2

ZHS16GBK
CLOB

AL16UTF16
NCHAR

已选择6行。

与之前的做一下对比:

CHARACTERSET
TYPES_USED_IN

—————————————-

WE8ISO8859P1
VARCHAR2

WE8ISO8859P1
CHAR

AL16UTF16
NCLOB

AL16UTF16
NVARCHAR2

ZHS16GBK
VARCHAR2

WE8ISO8859P1
CLOB

AL16UTF16
NCHAR

已选择7行。

可看出:

对于CHAR,VARCHAR2,CLOB使用了ZHS16GBK;

对于NCHAR,NVARCHAR2,NCLOB使用了AL16UTF16;

再次使用MyEclipse打开看看,一切OK了.

相关内容:

================================================================================

环境变量可设置为:

NLS_LANG=’SIMPLIFIED
CHINESE_CHINA.ZHS16GBK’

NLS_LANG=’AMERICAN_AMERICA.ZHS16GBK’

NLS_LANG=’AMERICAN_AMERICA.US7ASCII’

改变SESSION会话的(客户端界面显示)语言:

错误写法:

ALTER SESSION SET
NLS_LANGUAGE=’AMERICAN_AMERICA.ZHS16GBK’;

SET
NLS_LANG=’AMERICAN_AMERICA.ZHS16GBK’

正确写法:

ALTER SESSION SET
NLS_LANGUAGE=AMERICAN;

ALTER SESSION SET
NLS_LANGUAGE=’SIMPLIFIED CHINESE’;

有空格使用”括起来.

有关数据库字符集:


  1. 查看数据库字符集

数据库服务器字符集:

SELECT * FROM
NLS_DATABASE_PARAMETERS;

其来源于props$,是表示数据库的字符集;

客户端字符集环境:

SELECT * FROM
NLS_INSTANCE_PARAMETERS;

表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表,其来源于v$parameter;

会话字符集环境:

SELECT * FROM
NLS_SESSION_PARAMETERS;

其来源于v$nls_parameters,表示会话自己的设置,

可能是会话的环境变量或者是alter session完成,

如果会话没有特殊的设置,将与nls_instance_parameters一致。

客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

如果多个设置存在的时候,ALTER
SESSION>环境变量>注册表>参数文件

字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。

如字符集是ZHS16GBK,则NLS_LANG可以是AMERICAN_AMERICA.ZHS16GBK。


  1. 修改字符集

8i以上版本可以通过ALTER
DATABASE来修改字符集,但也只限于子集到超集,

不建议修改props$表,将可能导致严重错误。

startup nomount;

alter database mount exclusive;

alter system enable restricted
session;

alter system set
job_queue_process=0;

alter database open;

alter database character set
zhs16gbk;


  1. 怎么查看数据库版本

select * from v$version

包含版本信息,核心版本信息,位数信息(32位或64位)等

至于位数信息,在Linux/unix平台上,可以通过file查看,如:

file $ORACLE_HOME/bin/oracle

================================================================================

绝对不要用update系统表(props$)的方式来修改数据库字符集.

从Oracle9i开始,Oracle在启动时跳过了这个检查,即使修改了错误的字符集,

也仍然可以启动,数据库启动时会将控制文件中的字符集更改为缺省的US7ASCII.

具体可以看看以下的测试:

SQL> select value fromprops
where name=’NLS_CHARACTERSET’;

VALUE$


ZHS16GBK

SQL> update props setvalue =’EYGLE’ where name=’NLS_CHARACTERSET’;

1 row updated.

SQL> commit;

Commit complete.

SQL> select value fromprops
where name=’NLS_CHARACTERSET’;

VALUE$


EYGLE

– 注意,这个EYGLE是不存在的字符集;

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 126948772
bytes

Fixed Size 452004 bytes

Variable Size 92274688 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

Database mounted.

Database opened.

SQL> select value fromprops
where name=’NLS_CHARACTERSET’;

VALUE$


EYGLE

此时警告日志中会记录如下信息:

Thu Jun 8 16:28:05 2006

SMON: enabling cache recovery

SMON: enabling tx recovery

Thu Jun 8 16:28:05 2006

Updating character set in controlfile
to US7ASCII

replication_dependency_tracking
turned off (no async multimaster replication found)

Completed: ALTER DATABASE OPEN

虽然启动正常,不会报错,但在一起实际运用中是会有问题的,特别是在有中文使用的情况下.

要彻底修改,参见上面.

================================================================================

  1. 导入Code Style的Formatter配置与Organize
    Imports配置文件

================================================================================

(1)
Formatter(代码风格格式):

定位到
Window->Preferences->Java->Code Style->Formatter

在右边,
点击”Import…”按钮,找到fromatterName.xml文件打开导入;

(2)
Organize Imports(包的导入排序):

定位到
Window->Preferences->Java->Code Style->Organize Imports

在右边,
点击”Import…”按钮,找到xxx.importorder文件打开导入;

================================================================================

  1. Copy Qualified Name 拷贝类全名

================================================================================

选中Java源文件中的类名,然后鼠标右键->Copy
Qualified Name,

得到的结构格式是包结构格式,如下:

com.taotling.riskctrl.Access

如果是在Package
Explorer中选中Java源文件,然后鼠标右键->Copy Qualified Name,

得到的格式是路径格式,如下:

/foo_20100713/src/com/taotling/riskctrl/Access.java

如果选中一个方法,鼠标右键->Copy Qualified
Name,

得到的格式如下:

com.taotling.riskctrl.Access.check(CheckValue)

================================================================================

  1. Debug的时候跳回上一个Frame重新进入被选中的Stack
    Frame

================================================================================

Eclipse 中 drop to frame 的调试技巧

解释如下:

Select the [ Drop to Frame command ]
to re-enter the selected stack frame

in the Debug View.

Note this command is only available
if the current VM supports drop to frame

and the selected stackframe is not
the top frame or a frame in a native method.

就是说,这个功能可以重新跳到当前方法的开始处重新执行,

并且所有上下文变量的值也回到那个时候。

不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。

主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,

即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),

而不用重来一遍调试到哪里了。

当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。

这里也说了如何使用这个功能:

http://www.javalobby.org/forums/thread.jspa?threadID=15271&tstart=0

引用如下:


You can’t know where you are without
knowing where you’ve been.

It’s true in life, and it is
especially true in debugging code.

Placing a breakpoint in a method to
test code is usually only useful

if you know the context of how the
method was executed.

The main ‘Debug’ view of the ‘Debug’
perspective shows a stack trace of the methods

that have led to the current
point.

Each element in this stack trace is
referred to in Eclipse as a ‘frame’.

A frame is nothing more than the
variable state of a method right

when the method it called was
executed.

You can preview the state of a frame
simply by clicking on it in the ‘Debug’ view.

Notice that once selected you can see
the values in the variable view at the point

that the child method ‘methodB’ was
called.

It is possible to preview the state
of any frame simply

by selecting it in the ‘Debug’
view.

What if, however, you’ve decided that
you missed an important state

in the execution process;

perhaps the breakpoint was in the
wrong place,

or maybe you accidentally stepped
over some code you wanted to inspect earlier

in the process.

Eclipse has a feature called ‘Drop to
Frame’.

‘Drop to Frame’ essentially lets you
‘rewind’ the execution

to the beginning of any method in the
stack.

This is especially useful when
performing variable modification

or code hotswapping - both features I
plan to discuss in detail future articles

  • traditional debugging,
    however,

can still benefit greatly from the
drop to frame functionality.

I personally like to think of drop to
frame as my emergency rewind button

when I’m dealing with traditional
debugging.

To drop to a certain frame, select
the frame in the ‘Debug’ view as before,

and right click and select the ‘Drop
to Frame’ action.

Once done, you will back up to the
beginning of the execution of the selected method.

Notice that now ‘methodB’ is no
longer on the stack at all,

and you are now back in
‘methodA’.

I highly recommend experimenting with
these features;

it is something I can’t do justice
to;

it simply has to be
experienced.

If you find yourself heading for the
stop button

so you can start your debug session
over,

take a breath and consider using
‘drop to frame’

  • it can save a huge amount of
    time.

    1. Java Comppiler 的 compiler
      compliance level的含义说明

================================================================================

查看Java Comppiler 界面中的”Configure
Workspace Settings”;

注意,如果勾选了”Enable project specific
settings”,

并且勾选了下面”JDK Compliance”中的

“Use compliance from execution
environment on the Java Build Path”

使用的”Compiler compliance
level”将会是:

compiler compliance level的含义说明:

设置编译级别暨 Eclipse compiler compliance
level为较低版本,

只是让编译器相信你的代码是兼容较低版本的,

在编译时生成的byteCode(class)兼容较低版本。

这样设置与你写代码时引用的JDK是没关系的,

也就是说你在写代码时仍可以引用较高版本的API(这样就可能导致错误).

设置compiler compliance
level为较低版本,

这样的好处是当别人使用了较低版本的Jdk时也可以引用你写的编译后的代码。

它可以保证编译后的class文件的版本一致性。

但是,如果你的代码里面(java
source)里面调用了较高版本jdk的API.

那么即使设置了compiler compliance
level为较低版本,

在较低版本的JDK上运行你的代码也会报错。

所以建议在写代码时引用的JDK,要跟你compiler
compliance level设置的版本一致。

  1. Find/Replace中设置回绕查询

================================================================================

Ctrl+F弹出Find/Replace界面,勾选其”Options”中的”Wrap
search”回绕查询;


  1. 快速查找哪些方法或类中引用了当前选中的属性或方法或类或其他对象:

================================================================================

(1)
选中需要进行查询的对象或属性;

(2)
鼠标右键->References->

其下有几个选项:

Workspace(工作空间中)

Project (项目中)

Hierarchy(继承结构中)

Working Set…(其他Working Set中)

每个均表示一定的范围,常用的是Project,如果使用Workspace需要小心查询范围扩大了;

(3)
如果上面的查询没有结果,那就使用:

鼠标右键->Declarations

这表示哪些地方声明了此变量,同样也有以下选项:

Workspace

Project

Hierarchy

Working Set…

(4)
一般都使用快捷键 Ctrl + Shift + G 查询Worksapace范围内,

不过这种方式需要保证只有你用到的工程打开,否则查询的结果有可能含有其他工程的引用;

如果Ctrl + Shift + G 查询没有结果,那就试试 Ctrl +
G ,

有可能在别的地方再次进行了声明而使用,所以引用查询不到;

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

================================================================================

关于软件版本:

================================================================================

Alpha:

内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。

Beta:

测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。

RC:(Release Candidate)

顾名思义!用在软件上就是候选版本。系统平台上就是发行候选版本。

RC版不会再加入新的功能了,主要着重于除错。

RTM:(Release to Manufacture)

给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。

但是和正式版本的主要程序代码都是一样的。

OEM:

给计算机厂商随着计算机贩卖的,也就是随机版。

只能随机器出货,不能零售。只能全新安装,不能从旧有操作系统升级。

包装不像零售版精美,通常只有一面CD和说明书(授权书)。

RVL:

号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的。

EVAL:

流通在网络上的EVAL版,与”评估版”类似,功能上和零售版没有区别。

RTL:Retail(零售版)

真正的正式版,正式上架零售版。

在Windows的安装盘的i386文件夹里有一个eula.txt,最后有一行
EULAID,就是系统的版本。

比如简体中文正式版是EULAID:WX.4_PRO_RTL_CN,繁体中文正式版是WX.4_PRO_RTL_TW。

其中:如果是WX.开头是正式版,WB.开头是测试版。_PRE,代表家庭版;_PRO,代表专业版。

总结版本号:

V(Version):

即版本,通常用数字表示版本号。(如:EVEREST Ultimate v4.20.1188 Beta)

Build:

用数字或日期标示版本号的一种方式。(如:VeryCD eMule v0.48a Build 071112)

SP:

Service Pack,升级包。(如:Windows XP SP 2/Vista SP
1)

授权和功能划分:

Trial:

试用版,通常都有时间限制,有些试用版软件还在功能上做了一定的限制。可注册或购买成为正式版.

Unregistered:

未注册版,通常没有时间限制,在功能上相对于正式版做了一定的限制。可注册或购买成为正式版。

Demo:

演示版,仅仅集成了正式版中的几个功能,不能升级成正式版。

Lite:精简版

Full version:完整版,属于正式版。

语言划分:

SC
:Simplified Chinese简体中文版。

CN
:简体中文版

GBK
:简体中文汉字内码扩展规范版。

TC
:Traditional Chinese繁体中文版。

CHT
:繁体中文版

BIG5:繁体中文大五码版。

EN :英文版

Multilanguage:多语言版

UTF8:Unicode Transformation Format 8 bit,对现有的中文系统不是好的解决方案。

开发阶段划分:

α(Alpha)版:

内测版,内部交流或者专业测试人员测试用。Bug较多,普通用户最好不要安装。

β(Beta)版:

公测版,专业爱好者大规模测试用,存在一些缺陷,该版本也不适合一般用户安装。

γ(Gamma)版:

相当成熟的测试版,与即将发行的正式版相差无几。

RC版:

Release Candidate。

RC版:

Release Candidate 的缩写,意思是发布倒计时,候选版本,处于Gamma阶段,

该版本已经完成全部功能并清除大部分的BUG。

到了这个阶段只会除BUG,不会对软件做任何大的更改。

从Alpha到Beta再到Gamma是改进的先后关系,但RC1、RC2往往是取舍关系。

Final:正式版。

其他版本

Enhance :增强版或者加强版 属于正式版1

Free
:自由版

Release :发行版 有时间限制

Upgrade :升级版

Retail
:零售版

Cardware:属共享软件的一种,只要给作者回复一封电邮或明信片即可。

(有的作者并由此提供注册码等),目前这种形式已不多见。/ S

Plus
:属增强版,不过这种大部分是在程序界面及多媒体功能上增强。

Preview :预览版

Corporation & Enterprise :企业版

Standard:标准版

Mini
:迷你版也叫精简版只有最基本的功能

Premium :贵价版

Professional:专业版

Express :特别版

Deluxe
:豪华版

Regged
:已注册版

Rip
:是指从原版文件(一般是指光盘或光盘镜像文件)直接将有用的内容(核心内容)分离出来,

剔除无用的文档,例如PDF说明文件啊,视频演示啊之类的东西,也可以算做是精简版.

但主要内容功能是一点也不能缺少的!

另:DVDrip是指将视频和音频直接从DVD光盘里以文件方式分离出来。

RTM 版:这基本就是最终的版本,英文是 Release To Manufactur,意思是发布到生产商。

Original Equipment Manufacturer (OEM) 

You may license products through an Original Equipment Manufacturer (OEM).

These products, such as Windows operating systems,

come installed when you purchase a new computer.

OEM软件是给电脑生产厂的版本,无需多说。 

Full Packaged Product (FPP)/Retail

Physical, shrink-wrapped boxes of licensed product that can be purchased

in a local retail store or any local software retailer.

FPP就是零售版(盒装软件),这种产品的光盘的卷标都带有”FPP”字样,

比如英文WXP Pro的FPP版本的光盘卷标就是WXPFPP_EN,其中WX表示是Windows XP,

P是Professional(H是Home),FPP表明是零售版本,EN是表明是英语。

获得途径除了在商店购买之外,某些MSDN用户也可以得到。

Volume Licensing for Organizations (VLO)

You may enjoy potentially significant savings

by acquiring multiple product licenses.

Depending on the size and type of your organization.

团体批量许可证(大量采购授权合约),这是为团体购买而制定的一种优惠方式。

这种产品的光盘的卷标都带有”VOL”字样,取”Volume”前3个字母,以表明是批量,

比如英文WXP Pro的VOL版本的光盘卷标就是WXPVOL_EN,其中WX表示是Windows XP,

P是Professional(VOL没有Home版本),VOL表明是团体批量许可证版本,EN是表明是英语。

获得途径主要是集团购买,某些MSDN用户也可以得到。

在很多软件下载的时候,你会发觉标识为GA或者CRx等。比如MySQL和JBoss都采用这种标识。

那什么是GA呢。GA是Generally
Available的缩写,

意思是开发团队认为该版本是稳定版(有的软件可能会标识为stable版或者production版,

其意思和GA相同),可以在较为关键的场合使用。

如果你是要用在生产中的软件,或者你是一个新手,那么你最好选用GA版本。

这是测试最为充分,最为稳定的版本。

RC就是Release Candidate(候选版本)的简称

GA:General
Availability,正式发布的版本,在国外都是用GA来说明release版本.

================================================================================

================================================================================

================================================================================

配置文件(eclipse.ini或myeclipse.ini):

================================================================================

2009-06-16所有Eclipse,MyEclipse 都 Could not create the Java virtual
machine.

头天还能正常使用,配置如下:

(1) MyEclipse7.0/myeclipse.ini

================================================================================

-debug

options

-startup

Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

–launcher.library

Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms696M

-Xmx696M

-XX:PermSize=128M

-XX:MaxPermSize=128M

-XX:+UseParallelGC

================================================================================

现在改为:

================================================================================

-debug

options

-startup

Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

–launcher.library

Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms648M –>修改处

-Xmx648M –>修改处改为649就不行,比原来少796-648=48M

–>此时JVM所使用内存总量:
648(-Xmx)+128(-XX:MaxPermSize)=776M

-XX:PermSize=128M

-XX:MaxPermSize=128M

-XX:+UseParallelGC

================================================================================

根据上面能使用的内存总量776M,最后这样分配

================================================================================

-debug

options

-startup

Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar

–launcher.library

Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms520M

-Xmx520M

-XX:PermSize=256M

-XX:MaxPermSize=256M

-XX:+UseParallelGC

================================================================================

(2)
EclipseGanymedeJee.v3.4.0/eclipse.ini

====================

-showsplash

org.eclipse.platform

–launcher.XXMaxPermSize

256M

-framework

plugins/org.eclipse.osgi_3.4.0.v20080605-1900.jar

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx512m

====================

改为:

====================

-showsplash

org.eclipse.platform

–launcher.XXMaxPermSize

256M

-framework

plugins/org.eclipse.osgi_3.4.0.v20080605-1900.jar

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx492m //修改处493m都不行比原来少512-492=20M

====================

(3) MyEclipse
6.5.1-GA-20080715/eclipse/elipse.ini

============================================================================

-debug

options

-vm

javaw.exe

-clean

-showsplash

com.genuitec.myeclipse.product.ide

–launcher.XXMaxPermSize

1024m

-vmargs

-Xms760m

-Xmx760m

-Duser.language=en

-XX:PermSize=64M

-XX:MaxPermSize=64M

-XX:+UseParallelGC

============================================================================

改为:

============================================================================

-debug

options

-vm

javaw.exe

-clean

-showsplash

com.genuitec.myeclipse.product.ide

–launcher.XXMaxPermSize

1024m

-vmargs

-Xms712m

-Xmx712m //改为713都不行比原来少760-712=48M

-Duser.language=en

-XX:PermSize=64M

-XX:MaxPermSize=64M

-XX:+UseParallelGC

============================================================================

MyEclipse7.5配置

============================================================================

原配置为:

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll

-vmargs

-Xmx512m

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=64m

修改为:


-debug

options

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731

-clean

-configuration

configuration

-vm

D:/Program/Sun/Java/jdk1.6.0_13/bin/javaw.exe

-vmargs

-Xms648m

-Xmx648m

-XX:PermSize=128m

-XX:MaxPermSize=128m

-XX:ReservedCodeCacheSize=128m

-XX:+UseParallelGC

MyEclipse8.0GA配置

============================================================================

(1)
2009-12-01————————————————————–

-debug

options

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

-install

D:/Programs/Genuitec/MyEclipse8.0GA

-vm

D:/Programs/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll

-configuration

configuration

-vmargs

-Xms648m

-Xmx648m

-XX:PermSize=128m

-XX:MaxPermSize=128m

-XX:ReservedCodeCacheSize=128m

-XX:+UseParallelGC

-DNLS_LANG=SIMPLIFIED
CHINESE_CHINA.ZHS16GBK

-Duser.language=zh

这个配置启动会出现dos窗口,不会出现启动的图片画面,

加入

-debug

options

是为了显示JVM的heap
status状态条,其实用不这样做,

只需定位到windows->Preferences->

在其右边的界面中,找到”Show heap
status”,并勾选上,然后确定即可;

(2)
2010-03-03————————————————————–

-startup

../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

–launcher.library

../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

-install

D:/Programs/Genuitec/MyEclipse8.0GA

-vm

D:/Programs/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll

-configuration

configuration

-vmargs

-Xms512m

-Xmx512m

-XX:PermSize=256m

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=128m

-XX:+UseParallelGC

-showsplash

-Dosgi.splashLocation=D:/Programs/Genuitec/Common/plugins/com.genuitec.myeclipse.product8_8.0.0.me200911192201/splash.bmp
做个快乐的自己。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要修改昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值