一.Myeclipse10下載與破解
Genuitec 公司發(fā)布了MyEclipse 10,一款Genuitec旗下的商業(yè)化Eclipse集成開發(fā)工具的升級版本。MyEclipse 10基于Eclipse Indigo構(gòu)建,為Java和JavaEE項目提供了Maven3的支持。本次發(fā)布的版本中還加入了對JaveEE 6、HTML5、JPA2和JSF 2的支持。版本號10是為了慶祝即將到來的Eclipse的10周年誕辰(MyEclipse的首次發(fā)布是在8年前)。
我現(xiàn)在用的還是6.5的版本,6.5的版本是我覺得最好用的一個版本。 我裝上了,還沒感受到有哪些好用,就是感覺體積龐大,和IBM 的WID一樣,是個多面手,啥事都能干,其實經(jīng)常能使用的也就其中那么幾個功能,要是能像插件一樣,即插即用就好了。
MyEclipse 10使用最高級的桌面和Web開發(fā)技術(shù),包括 HTML5 和 Java EE 6,支持 JPA 2.0、JSF 2.0 、Eclipselink 2.1 以及 OpenJPA 2.0. 而對 IBM WebSphere 用戶來說,MyEclipse Blue 支持最新版本的 WebSphere Portal Server 7.0、WebSphere 8 以及以前的版本,無縫的支持 IBM DB2 數(shù)據(jù)庫 。 MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開元產(chǎn)品的專屬eclipse開發(fā)工 具。
以下是下載與破解鏈接(右擊迅雷下載):
Myeclipse9/10破解包(內(nèi)附詳細破解步驟)
另附Myeclipse8/9/10 Verycd下載出處:Myeclipse_Verycd下載
二.Myeclipse10修改字體
MyEclipse10 是基于Eclipse3.7內(nèi)核,但在Eclipse的Preferences-〉general-〉A(chǔ)ppearance->Colors and Fonts 中并沒有找到Courier New字體,它采用的是Consolas字體,中文看著非常小非常別扭,在Windows7下,系統(tǒng)自帶雖然有Courier New字體,但是并沒有激活顯示,需要手動激活,才能在軟件中使用
激活方法如下:
在win7的控制面板->字體,找到Courier New,右鍵,顯示。然后在eclipse的fonts列表中就可以選擇了。上兩張圖
三.Myeclipse10插件安裝
說到插件,myeclipse自8.X開始,插件安裝就變得巨難用,通常最好還是用離線安裝,在線安裝很可能出問題,下面僅以SVN安裝為例,其他諸如ADT15,Aptana等都可采用
1.首先下載SVN包:svn-1.6
2.解壓SVN包,然后找到其中的兩個文件夾:features 和 plugins
3.隨意建一個文件夾(位置和名稱自己定就好了,我的是E:\myEclipsePlugin\svn),然后把第二步的解壓好的features 和 plugins放到這個文件夾下
4.找到myeclipse的安裝目錄,下面有一個configuration\org.eclipse.equinox.simpleconfigurator\bundles.info 文件?,F(xiàn)在需要做的就是在該文件內(nèi)添加的東西
5.添加的內(nèi)容用下面的類生成:
此外Adobe Flash Builder 4.6也完美支持Myeclipse10,只是插件在安裝的時候不是采用以上方式,根據(jù)官方英文文檔說明,
首先要將Adobe Flash Builder 4.6安裝完成,
然后進安裝目錄~\Adobe\Adobe Flash Builder 4.6\utilities運行Adobe Flash Builder 4.6 Plug-in Utility.exe,
最后根據(jù)安裝向?qū)гO(shè)置插件安裝到myeclipse10的目錄~\Genuitec\MyEclipse 10,必須確保該目錄下包含dropins文件
如此即可完成最新的Adobe Flash Builder 4.6插件的安裝,最后啟動myeclipse10,界面也隨之變成中文,但有時候也會有出問題,此時進入到~\Genuitec\MyEclipse 10\Uninstall Adobe Flash Builder 4.6 Plug-in目錄,運行Uninstall Adobe Flash Builder 4.6 Plug-in.exe卸載插件,重新安裝,第二次必定成功,myeclipse10對插件的兼容性沒有eclipse的好,千萬不可嘗試按 eclipse的配置去暴力修改里面的參數(shù),否則極有可能再也起不來了!
四.Myeclipse10優(yōu)化
最后談?wù)勅绾蝺?yōu)化Myeclipse10
1、window-preferences-MyEclipse Enterprise Workbench-Maven4MyEclipse-Maven,將Maven JDK改為電腦上安裝的JDK,即不使用myeclipse提高的JDK
登記add按鈕,選擇你的電腦上的JDK即可(注意:不是JRE,我的值為:Java6.014)
2、window-preferences-MyEclipse Enterprise Workbench-Matisse4Myeclipse/Swing,將Design-time information(dt.jar) location 改用電腦安裝的JDK的dt.jar
(即不使用myeclipse提供的dt.jar,我的值為:C:\Java6.014\lib\dt.jar)
經(jīng)過以上的優(yōu)化,myeclipse的啟動時間可以減少2/3,Tomcat的啟動速度可以減少1/2(視具體情況而定)
第一步: 取消自動validation
validation有一堆,什么xml、jsp、jsf、js等等,我們沒有必要全部都去自動校驗一下,只是需要的時候才會手工校驗一下!
取消方法:
windows–>perferences–>myeclipse–>validation
除開Manual下面的復(fù)選框全部選中之外,其他全部不選
手工驗證方法:
在要驗證的文件上,單擊鼠標(biāo)右鍵–>myeclipse–>run validation
第二步:取消Eclipse拼寫檢查
1、拼寫檢查會給我們帶來不少的麻煩,我們的方法命名都會是單詞的縮寫,他也會提示有錯,所以最好去掉,沒有多大的用處
windows–>perferences–>general–>validation->editors->Text Editors->spelling
第三步:取消myeclipse的啟動項
myeclipse會有很多的啟動項,而其中很多我們都用不著,或者只用一兩個,取消前面不用的就可以
windows–>perferences–>general–>startup and shutdown (詳見底端介紹)
第四步:更改jsp默認打開的方式
安裝了myeclipse后,編輯jsp頁面,會打開他的編輯頁面,同時也有預(yù)覽頁面,速度很慢,不適合開發(fā)。所以更改之windows–>perferences–>general–>editors->file associations
在下方選擇一種編輯器,然后點擊左邊的default按鈕
第五步:更改代碼提示快捷鍵(不建議使用增強提示,使用Ctrl+/在自己需要的時候提示更佳)
現(xiàn)在的代碼提示快捷鍵,默認為ctrl+space,而我們輸入法切換也是,所以會有沖突。誰叫myeclipse是外國人做的呢。。根本不需要切換輸入法.
windows–>perferences–>general–>Keys
更改 content assist 為 alt+/
同時由于alt+/已經(jīng)被word completion占用,所以得同時修改word completion的快捷鍵值
好了,現(xiàn)在的速度及方便性是不是提高了。
第六步: 更改內(nèi)存使用文件
1、打開 myeclipse.ini
幾乎每次 eclipse 卡到當(dāng)都是因為這個非堆內(nèi)存不足造成的,把最大跟最小調(diào)成一樣是因為不讓 myeclipse 頻繁的換內(nèi)存區(qū)域大小
注意:XX:MaxPermSize 和 Xmx 的大小之和不能超過你的電腦內(nèi)存大小
以下是有關(guān)內(nèi)存的一些知識擴展:
1.堆(Heap)和非堆(Non-heap)內(nèi)存
按照官方的說法:“Java 虛擬機具有一個堆,堆是運行時數(shù)據(jù)區(qū)域,所有類實例和數(shù)組的內(nèi)存均從此處分配。堆是在 Java 虛擬機啟動時創(chuàng)建的。”“在JVM中堆之外的內(nèi)存稱為非堆內(nèi)存(Non-heap memory)”??梢钥闯鯦VM主要管理兩種類型的內(nèi)存:堆和非堆。簡單來說堆就是Java代碼可及的內(nèi)存,是留給開發(fā)人員使用的;非堆就是JVM留給 自己用的,所以方法區(qū)、JVM內(nèi)部處理或優(yōu)化所需的內(nèi)存(如JIT編譯后的代碼緩存)、每個類結(jié)構(gòu)(如運行時常數(shù)池、字段和方法數(shù)據(jù))以及方法和構(gòu)造方法 的代碼都在非堆內(nèi)存中。
2.堆內(nèi)存分配
JVM初始分配的內(nèi)存由-Xms指定,默認是物理內(nèi)存的1/64;JVM最大分配的內(nèi)存由-Xmx指定,默認是物理內(nèi)存的1/4。默認空余堆內(nèi)存小于 40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時,JVM會減少堆直到-Xms的最小限制。因此服務(wù)器一般設(shè)置-Xms、 -Xmx相等以避免在每次GC 后調(diào)整堆的大小。
3.非堆內(nèi)存分配
JVM使用-XX:PermSize設(shè)置非堆內(nèi)存初始值,默認是物理內(nèi)存的1/64;由XX:MaxPermSize設(shè)置最大非堆內(nèi)存的大小,默認是物理內(nèi)存的1/4。
4.JVM內(nèi)存限制(最大值)
首先JVM內(nèi)存限制于實際的最大物理內(nèi)存,假設(shè)物理內(nèi)存無限大的話,JVM內(nèi)存的最大值跟操作系統(tǒng)有很大的關(guān)系。簡單的說就32位處理器雖然可控內(nèi)存空間 有4GB,但是具體的操作系統(tǒng)會給一個限制,這個限制一般是2GB-3GB(一般來說Windows系統(tǒng)下為1.5G-2G,Linux系統(tǒng)下為2G- 3G),而64bit以上的處理器就不會有限制了。
舉例說明含義:
-Xms128m 表示JVM Heap(堆內(nèi)存)最小尺寸128MB,初始分配
-Xmx512m 表示JVM Heap(堆內(nèi)存)最大允許的尺寸256MB,按需分配。
說明:如果-Xmx不指定或者指定偏小,應(yīng)用可能會導(dǎo)致java.lang.OutOfMemory錯誤,此錯誤來自JVM不是Throwable的,無法用try...catch捕捉。
PermSize和MaxPermSize指明虛擬機為java永久生成對象(Permanate generation)如,class對象、方法對象這些可反射(reflective)對象分配內(nèi)存限制,這些內(nèi)存不包括在Heap(堆內(nèi)存)區(qū)之中。
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允許分配尺寸,按需分配
過小會導(dǎo)致:java.lang.OutOfMemoryError: PermGen space
MaxPermSize缺省值和-server -client選項相關(guān)。-server選項下默認MaxPermSize為64m -client選項下默認MaxPermSize為32m
PS:不同廠家的jdk垃圾回收算法不一樣。在sun的jdk下,Xms和Xmx設(shè)置一樣,可以減輕伸縮堆大小帶來的壓力,但在ibm的jdk下面,設(shè)置為一樣會增大堆碎片產(chǎn)生的幾率。
第七步: 修改Struts-config.xml文件打開錯誤
有時點擊myeclipse里的struts的xml配置文件,會報錯:
Error opening the editorUnable to open the editor ,unknow the editor id…..
把這個窗口關(guān)閉后才出正確的xml文件顯示,這個我們這樣改:
windows–>perferences–>general–>editors->file associations選擇*.xml,選擇myeclipse xml editor點default,ok
第八步: 取消自動驗證,該成手動驗證
windows-->perferences-->myeclipse-->validation
將Build下全部勾取消,保留Manual(手動) 如果你需要驗證某個文件的時候,我們可以單獨去驗證它。方法是,在需要驗證的文件上( 右鍵 -> MyEclipse -> Run Validation
第九步: 取消Maven更新(啟動更新)
Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven> 禁用Download repository index updates on startup
到此有關(guān)Myeclipse10的體驗介紹完畢,歡迎大家拍磚,轉(zhuǎn)載請注明出處!
注意:
$.getJSON(" http://www.mysite.com/demo.do?name1="+value1+"&callback=?",
function(json){
if(json.屬性名==值){
// 執(zhí)行代碼
}
});
這種方式其實是上例$.ajax({..}) api的一種高級封裝,有些$.ajax api底層的參數(shù)就被封裝而不可見了。
在服務(wù)端通過callback= request.getParameter("callback") 得到j(luò)Query端隨后要回調(diào)的jsonp32440980
然后返回類似:"jsonp32440980("+要返回的json數(shù)組+")";
jquery就會通過回調(diào)方法動態(tài)加載調(diào)用這個:jsonp32440980(json數(shù)組);
這樣就達到了跨域數(shù)據(jù)交換的目的.
jsonp的最基本的原理是:動態(tài)添加一個是一致的(qq空間就是大量采用這種方式來實現(xiàn)跨域數(shù)據(jù)交換的) 。JSONP是一種腳本注入(Script Injection)行為,所以也有一定的安全隱患。
注意:jquey是不支持post方式跨域的。
這是因為雖然采用post +動態(tài)生成iframe是可以達到post跨域的目的(有位js牛人就是這樣把jquery1.2.5 打patch的),但這樣做是一個比較極端的方式,不建議采用。也可以說get方式的跨域是合法的,post方式從安全角度上被認為是不合法的,萬不得已還是不要post,client端跨域訪問的需求看來也引起w3c的注意了,看資料說html5 WebSocket標(biāo)準(zhǔn)支持跨域的數(shù)據(jù)交換,應(yīng)該也是一個將來可選的跨域數(shù)據(jù)交換的解決方案。
參考:http://www.jb51.net/article/21213.htm