MyEclipse6.5 性能提升

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(${word_selection}${});${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即可.
================================================================================
2.整合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..."進行設置.
================================================================================
3.無法正常啓動
================================================================================
MyEclipse啓動遇到內部錯誤總啓動不了的時便
將Workspace下的.metadata目錄刪除重啓即可
================================================================================
4.標記斷點:
================================================================================
在java視圖中,直接在你要設置斷點的那行的最左邊,雙擊即可,右鍵的彈出菜單中也有這個選項
Debug:
選擇debug(F11,Run菜單中的debug)即可,自動進入debug視圖,
用Step into(F5)能進入到被調用方法的跟蹤
用Step over(F6)進行單步調試
================================================================================
5.更改 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..."
================================================================================
6.文件上傳相關
================================================================================
文件上傳路徑,如果不寫相對路徑或絕對路徑
那麼會存入D:\Program\Apache\apache-tomcat-6.0.18\bin目錄
================================================================================
7.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的設置.
================================================================================
8.某一文件的存儲字符編碼設置
================================================================================
在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)
================================================================================
9.自定義代碼格式
================================================================================
"Windows"-->"Preferences"-->"Java"-->"Code Style"-->"Formatter"
================================================================================
10.編輯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文檔了.
================================================================================
11.MyEclipse版本的區別
================================================================================
blue
專爲IBM開發的,功能最全的版本
M(Milestone)
Milestone版本,是比beta版還要早的版本
可以看作是下一代正式版本的一個試探性改進測試
GA(Generally Available)
正式版MyEclipse
目前(2009-12-23)8.0GA是最新的
================================================================================
12.關閉myeclipse的Quick Update自動更新功能
================================================================================
Windows > Preferences > MyEclipse > Community Essentials, 
把選項 "Search for new features on startup"的前勾去掉即可 
================================================================================
13.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文檔重複佔用內存
================================================================================
14.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帶來的性能損失。
15.讓你的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.1Eclipse狀態欄顯示JVM內存使用情況的改進
================================================================================
1.打開記事本,輸入以下內容org.eclipse.ui/perf/showHeapStatus=true
然後保存於eclipse根目錄下,文件名爲options,沒有文件擴展名。
2.用-debug options -vm javaw.exe這條命令啓動eclipse:
在快捷方式的目標中寫入如下"C:\eclipse\eclipse.exe -debug options -vm javaw.exe"
3.重啓就可以啦
================================================================================
15.2MyEclipse8.0中狀態欄顯示JVM內存(Show heap status)使用情況
================================================================================
在MyEclpise8.0中簡單了,windows->Preferences->General
在其右邊的界面中,找到"Show heap status",並勾選上,然後確定即可;
================================================================================
16.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 選項打上勾就可以了。 
================================================================================
17.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本身的問題,莫名其妙. 
================================================================================
18.去掉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)。
================================================================================
19.顯示被@Deprecated標註過和方法爲一條橫線穿過:
================================================================================
定位到Window->Preferences->Java->Compiler->Errors/Warnings;
將其右邊的"Deprecated and restricted API"下的選項勾選上,然後OK.
================================================================================
20.恢復不小心被刪除的文件
================================================================================
恢復文件:
選中你需要恢復文件的Project或package,鼠標右擊"Restore from Local History..."
然後直接選中你需要恢復的文件,點擊"Restore"就OK了。
恢復類語句塊:
選中你需要恢復的塊,鼠標右擊"Local History..."-->"Replace with..."
或"Restore From..."然後看清你要恢復的塊。OK就行了。
當然上面只是針對Java源文件來說的,對於WebRoot下的JSP等文件的恢復,
需要選中其文件,鼠標右擊"Replace with"->"Local History"->
================================================================================
21.增強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.
================================================================================
22.爲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文件,找到相應的<!DOCTYPE ...>文檔類型聲明,
比如說Hibernate的配置文件:hibernate.cfg.xml所需要的DTD文件爲:
hibernate-configuration-3.0.dtd
打開hibernate-configuration-3.0.dtd後,找到如下內容:
<!DOCTYPE hibernate-configuration 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中的<!DOCTYPE...>中的PUBLIC,
選擇Public ID(或者直接選擇"URI"也可);
5)"Key:"右邊的文本框中,將hibernate-configuration-3.0.dtd中的<!DOCTYPE...>
中的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文件,
找到相應的<xsd:schema xmlns...>名稱空間聲明,比如說spring-beans-2.5.xsd
<xsd:schema xmlns="http://www.springframework.org/schema/beans"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.springframework.org/schema/beans">
4)"Key Type:"右邊的下拉框中有Namespace Name與Schema Location兩個選項,
如果是DTD,這裏有有三個類型:Public ID,System ID,URI;
將Key Type置爲Schema Location
5)在Key:右邊的文本框中的URI後面加上/,再加上此xsd的名字,
如spring-beans-2.5.xsd的key爲:
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
6)點擊"OK",即可看到"User Specified Entries"已有了所增加的xsd(的KEY);
選中此xsd條目,下面的Details爲:
Location:D:\Programs\Java\spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5.xsd
URI:file:///D:/Programs/Java/spring-framework-2.5.6.SEC01/dist/resources/spring-beans-2.5.xsd
Key Type:Schema Location
Key:http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
7)重啓MyEclipse即可,注意如果提示不出來,
並在狀態欄的左下出現"Content Assist not available at the current location",
請在光標位置鍵入一個空格再使用Alt+/試試;
================================================================================
23.在Eclipse中可以通過window->Reset Perspective恢復透視圖默認設置。
================================================================================
24.@Override報錯的原因:
================================================================================
在項目的Properties-->Java Compiler的右邊視圖中,
選中"Enable project specific settings",
"Compiler compliance level:"選擇爲1.6,
因爲1.5中,實現某一接口的時候,方法的實現不能使用@Override標記;
1.6後無論是方法的覆寫還是方法的實現,均可使用@Override標記.
================================================================================
25.MyEclipse8.0GA中安裝插件:
================================================================================
(1)解壓插件,一般會有下面的目錄結構:
eclipse|
|features
|plugins
早期的MyEclipse版本中,只需要將插件解壓後的eclipse文件夾COPY到
MyEclipse目錄下覆蓋(補充)到eclipse文件夾中即可,
但8.0GA中不一樣了,需要將插件解壓後的eclipse目錄中的兩個文件夾,
COPY到MyEclipse安裝路徑下的D:\Programs\Genuitec\Common目錄下,
(2)修改bundles.info,此文件位於MyEclipse的安裝目錄下的:
D:\Programs\Genuitec\MyEclipse8.0GA\configuration
\org.eclipse.equinox.simpleconfigurator
目錄下;
在bundles.info文件的最後,增加如下格式的信息:
包名,版本號,file:/文件絕對路經,4,false
如(一個國際化資源文件編輯器插件):
jp.gr.java_conf.ussiy.app.propedit,5.3.3,file:/D:/Programs/Genuitec/Common/plugins/jp.gr.java_conf.ussiy.app.propedit_5.3.3.jar,4,false
(3)重新啓動MyEclipse,OK;
================================================================================
26.防止代碼格式化時出現換行
================================================================================
辛苦寫完的代碼,被MyEclipse格式化後,
想放在一行上的東西被自動轉成了多行,
如果想避免這個情況,可:
1.Java代碼
Window->Preferences->Java->Code Style->Formatter->Edit
在彈出的界面中:
Line Wrapping->Maximum line width
這個值是設置一行的寬度,默認值爲80,可以在這裏把這個值根據自己需要改大;
2.HTML/JSP代碼
Window->Preferences->MyEclipse->Files and Editors->Html->Html Source->Line width
默認值爲72,把這個值根據自己需要改大;
3.XML代碼
Window->Preferences->MyEclipse->Files and Editors->xml->xml Source->->Line width
默認值爲72,把這個值根據自己需要改大;
================================================================================
27.MyEclipse8.0啓動時顯示啓動界面(splash.bmp)
================================================================================
在myeclipse.ini的最後一行加上:
-showsplash
-Dosgi.splashLocation=D:/Programs/Genuitec/Common/plugins/com.genuitec.myeclipse.product8_8.0.0.me200911192201/splash.bmp
其中-Dosgi.splashLocation=後面的是界面圖片的路徑;
================================================================================
28.加入自己的環境變量:
================================================================================
如在myeclipse.ini的最後一行加上:
-DNLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
-Duser.language=zh
================================================================================
29.Tomcat內存設置方法
================================================================================
在windows中大家都知道,JAVA程序啓動時都會JVM都會分配一個初始內存和最大內存給這個應用程序。
這個初始內存和最大內存在一定程度都會影響程序的性能。
比如說在應用程序用到最大內存的時候,JVM是要先去做垃圾回收的動作,釋放被佔用的一些內存。
所以想調整Tomcat的啓動時初始內存和最大內存就需要向JVM聲明,
一般的JAVA程序在運行都可以通過中-Xms -Xmx來調整應用程序(Heap堆)的初始內存和最大內存:
如:
java -Xms64m -Xmx128m a.jar
Tomcat的啓動程序是包裝過的,不能直接使用java -X..... tomcat.*來改變內存的設置。
在Tomcat在改變這個設置有兩種方法:
1.適合用%tomcat_home%\bin中的startup.bat腳本啓動,
需要在環境變量中加上CATALINA_OPTS這個屬性,如:
SET CATALINA_OPTS=-Xms64m -Xmx512m;
ms是最小的,mx是最大,64m,512m分別是指內存的初始和最大容量.
因爲用startup.bat啓動tomcat服務器,會調用catalina.bat文件,
在Catalian.bat文件的166行"rem Execute Java with the applicable properties"
下面有加載系統設置的相關屬性。
其中就有%CATALINA_OPTS%這一項。這樣tomcat在啓動時就會將內存設置爲指定的值。
2.適合將tomcat作爲系統服務啓動,這時候上面設置CATALINA_OPTS屬性的方法就不適用了,
因爲作爲系統服務的話,系統啓動時調用的是 %tomcat_home%\bin\tomcat5w.exe,
他讀取註冊表中的值,而不是catalina.bat的設置,因此需要修改註冊表:
解決辦法,修改註冊表:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值爲
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
加入
-Xms300m -Xmx350m
重起tomcat服務,設置生效
最後,測試tomcat使用內存的大小,在jsp頁面:
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("*** BEGIN MEMORY STATISTICS ***<br/>");
out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");
out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");
out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");
out.println("*** END MEMORY STATISTICS ***");
%> 
================================================================================
30.MyEclipse中啓動Oracle連接的時候報Error:
Error while performing database login with the Oracle0.2.0.1.0 driver:
ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
大致意思是MyEclipse的環境變量或NLS配置文件與服務器端的有出入或不匹配;
查看Oracle數據庫的相關信息爲:
================================================================================
解決:
Help->Aboub MyEclipse Enterprise Workbench->Installation Details->
->Configuration
找找以下相關參數(下面的參數就是啓動Oracle連接報錯的原因):
-Duser.language=en
osgi.nl=en_CN
user.country=CN
user.language=en
打開myeclipse.ini查看,看到多了一項參數:
-Duser.language=en
MyEclipse在啓動時候,語言編碼是在[MyEclipse路徑]\eclipse\eclipse.ini文件中加載的。
而國家地區編碼是從系統的區域設置中得到的。
如果MyEclipse默認啓動參數爲"-Duser.language=en",
而操作系統設爲"中文(中國)"也就是CN,那麼MyEclipse加載後的信息就是"en_CN",
這樣就會看到osgi.nl=en_CN,這就會出現上述問題,
所以只要將語言與區域設置一致,就可以解決上述問題,
可以就係統的區域設置定爲"中文(中國)"CN,修改eclipse.ini文件,
將"-Duser.language=en"修改爲"-Duser.language=zh",
這樣在MyEclipse加載後的Configuration Details信息就統一爲zh_CN,即"osgi.nl=zh_CN".
也可以直接在myeclipse.ini中設置:
-Duser.language=en
-Dosgi.nl=en_US
這樣在MyEclipse加載後的Configuration Details信息就統一爲en_US,即"osgi.nl=en_US".
================================================================================
31.改變MyEclipse中錯誤提示的波浪線爲其他樣式:
================================================================================
window->Preferences->Ceneral->Editors->Text Editors->Annotations:
在右邊的"Annotation Types"下找到紅叉圖標的"Errors",選中,
在界面上的右邊,可以看到以下幾個Show in的複選項:
Vertical ruler左邊框堅狀條
Overview ruler右邊框堅狀條
Text as文本的顯示方式
勾選上"Text as",在其右邊的下拉框中有以下幾種選項:
Text as :
Box實線框
Dashed Box虛線框
Highlighted高亮
Native Problem Underline??
Squiggles Line波浪線
Underlined下劃線
Vertical Bar豎線
================================================================================
32.改變默認的創建JSP時的pageEncoding編碼:
================================================================================
定位到:
Window->Preferences->MyEclipse->Files and Editors->JSP
在其右邊的界面中,Encoding右邊的下拉組合框中選擇需要的字符集,如:
"ISO 10646/Unicode(UTF-8)"
在其下會顯示:
IANA:UTF-8
如果選擇Chinese, National Standard
則其下會顯示:
IANA:GB18030
================================================================================
33.MyEclipse中使用正則替換批量生成刪表SQL:
================================================================================
方式一:
應用於刪除數據庫中的垃圾表:
(1)先在sqlplus下使用如下命令查找到表名,如:
SELECT table_name from user_tables;
把表名複製到一個.sql文件中,
(2)MyEclipse打開此.sql文件,按CTRL+F調出查找替換界面,
勾選上Options中的Regular expressions,
在Find右邊的文本框填寫上: (^\W)
這表示查找每行的第一個字母,並將其緩存於GROUP1中,
在Replace With右邊的文本框中填寫上:DROP TABLE  $1
表示將匹配上的字符替換爲DROP TABLE 加上它本身,
其中$1表示從緩存的GROUP1中取內容;
(3)同理在語句最後加上:
在Find右邊的文本框填寫上: (\W$)
這表示查找每行的最後一個字母,並將其緩存於GROUP1中,
在Replace With右邊的文本框中填寫上:$1 CASCADE CONSTRAINTS;
表示將匹配上的字符替換爲它本身加上 CASCADE CONSTRAINTS;,
其中$1表示從緩存的GROUP1中取內容;
(4)所有的DROP TABLE XXxxx CASCADE CONSTRAINTS;語句生成;
方式二:
(1)先動態生成sql腳本(vi gen.sql,然後內容如下):
set head off
set feed off
set echo off
spool deltab.sql
SELECT 'DROP TABLE '||table_name||' CASCADE CONSTRAINTS;' FROM user_tables;
spool off
set head on
set feed on
(2)執行gen.sql生成deltab.sql;
(3)執行deltab.sql腳本;
================================================================================
34.新建工作空間WorkSpace後,如何使用以前的工作空間設置?
================================================================================
原工作空間目錄下有相關的配置信息:
\.metadata\.plugins\org.eclipse.ui.workbench
\.metadata\.plugins\org.eclipse.ui.workbench.texteditor
將上面兩個文件夾COPY到新的工作空間覆蓋,然後再啓動MyEclispe.
如果打開新的工作空間後,項目處還有舊工作空間的項目列表,
則刪除即可,但注意不要將其從磁盤上徹底刪除,也就是隻從工作空間刪除.
================================================================================
35.MyEclipse中編寫Java源文件時一個奇怪的問題[點Vertical Ruler上的紅叉後,代碼被隱藏]
================================================================================
現象描述:
如果源文件有錯,這時在錯誤行的行首左邊(行號)的左邊的Vertical Ruler(標斷點的那個隔條)上
會有一個紅叉圖標,點擊這個紅叉圖標,一般會彈出一個提示你修正的提示框,
就跟在有錯的地方使用快捷鍵CTRL+1調出Quick Fix框一樣,
但現在用鼠標點這個紅叉,快速修正框不彈出了,
替代的卻是整個Editor界面中的代碼從錯誤地方開始,被移動到Editor界面中的最頂,
在有錯的代碼的上邊的其他代碼都會看不到了(注意不是代碼被摺疊Folding了,而是看不見了,
但是行號的序號卻是此行原來的樣子,只不過現在這行是頂行),關掉這個源文件,重新打開,
所有代碼又都顯示了,
現在的問題是怎樣讓鼠標點紅叉後出Quick Fix框,而不是將錯誤代碼置頂並隱藏其之前的代碼?
解決:
這是由於Eclipse中的"Show Source of Selected Element Only"功能引起的,
定位到:
Window->Customize Perspective->Tool Bar Visibility->Editor Presentation
展開Editor Presentation,找到Show Source of Selected Element Only,將其勾選,
這樣在工具欄的快捷處就會出現這個功能的圖標,如果這個圖標是凹下去的,點擊一下,
使其不被使用即可;
也可在工具欄快捷的空白處鼠標右鍵->Customize Perspective->Tool Bar Visibility...
這樣找到Show Source of Selected Element Only選項;
================================================================================
36.解決MyEclipse中連接數據庫連接後,展開table或是view列表是不能顯示的問題:
================================================================================
現象:
MyEclipse8.0GA中,DB Browers能與數據庫建立連接,但是在試圖展開table或是view列表時是空的,
看不到已經建立的表。而且,右鍵點擊table的create table進行建表,
在提交時報錯如下:
Table could not be created
Reason:ORA-06552:PL/SQL: Compilation unit alalysis terminated
ORA-06553: PLS-553: 無法識別字符集名稱
ORA-06553: PLS-553: character set name is not recognized;
開始懷疑是MyEclipse的問題,後來想起來有對數據庫做過字符集的修改,
手動的使用update props$,修改了字符集,其實這並不會真正徹底的改變數據庫的所有字符集,
下面來確認字符集是不是真的被徹底修改:
SQL> select value$ from props$ where name='NLS_CHARACTERSET';
VALUE$
----------------------------
ZHS16GBK
SQL>SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,
DECODE(TYPE#,
1,DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),
9,DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING','UNKOWN'),
96,DECODE(CHARSETFORM  5  , 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112,DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')
) TYPES_USED_IN
FROM SYS.COL$
WHERE CHARSETFORM IN (1, 2)
AND TYPE# IN (1, 9, 96, 112);
CHARACTERSET                             TYPES_USED_IN
---------------------------------------- -------------
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$ SET value$='ZHS16GBK'
WHERE name='NLS_CHARACTERSET' or name='NLS_NCHAR_CHARACTERSET';
-- 其值原來是 AL16UTF16,UPDATE後改成了ZHS16GBK,現在把其改回去先;
SQL> UPDATE props$ SET value$='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。
2.修改字符集
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;
3.怎麼查看數據庫版本
select * from v$version
包含版本信息,核心版本信息,位數信息(32位或64位)等
至於位數信息,在Linux/unix平臺上,可以通過file查看,如:
file $ORACLE_HOME/bin/oracle
================================================================================
絕對不要用update系統表(props$)的方式來修改數據庫字符集.
從Oracle9i開始,Oracle在啓動時跳過了這個檢查,即使修改了錯誤的字符集,
也仍然可以啓動,數據庫啓動時會將控制文件中的字符集更改爲缺省的US7ASCII.
具體可以看看以下的測試:
SQL> select value$ from props$ where name='NLS_CHARACTERSET';
VALUE$
----------------------------------------------------------
ZHS16GBK
SQL> update props$ set value$='EYGLE' where name='NLS_CHARACTERSET';
1 row updated.
SQL> commit;
Commit complete.
SQL> select value$ from props$ 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$ from props$ 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 
雖然啓動正常,不會報錯,但在一起實際運用中是會有問題的,特別是在有中文使用的情況下.
要徹底修改,參見上面.
================================================================================
37.導入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文件打開導入;
================================================================================
38.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)
================================================================================
39.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. 
40.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設置的版本一致。
41.Find/Replace中設置迴繞查詢
================================================================================
Ctrl+F彈出Find/Replace界面,勾選其"Options"中的"Wrap search"迴繞查詢;
42.快速查找哪些方法或類中引用了當前選中的屬性或方法或類或其他對象:
================================================================================
(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




-----------------------------------------------------------------------------------------------------------------------------------
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章