<%request.setCharacterEncoding("UTF-8")%>放在jsp<head></head>之間
jspforward.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <% request.setCharacterEncoding("UTF-8");%> </head> <body> <jsp:forward page="/forwardresult.jsp"> <jsp:param name="name" value="李海"></jsp:param> <jsp:param name="age" value="29"></jsp:param> </jsp:forward> </body> </html>
jspresult.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <%=request.getParameter("name")%> <%=request.getParameter("age")%> </body> </html>
實(shí)在忍無可忍,作者收集了一些關(guān)于解決 MyEclipse 的耗內(nèi)存的辦法,經(jīng)本人測(cè)試非常有效,共享出來,希望可以方便更多的朋友。
1 老是彈出Quick update error 、關(guān)閉myeclipse的Quick Update自動(dòng)更新功能
這個(gè)問題的解決辦法是關(guān)閉自動(dòng)更新
Windows > Preferences > MyEclipse Enterprise Workbench > Community Essentials,
把選項(xiàng) "Search for new features on startup"的前勾去掉即可。
2 關(guān)閉updating indexes
Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven>禁用Download repository index updates on startup 。
3 關(guān)閉MyEclipse的自動(dòng)validation
validation有一堆,什么xml、jsp、jsf、js等等,我們沒有必要全部都去自動(dòng)校驗(yàn)一下,只是需要的時(shí)候才會(huì)手工校驗(yàn)一下,速度立馬提升好幾個(gè)檔次
windows > perferences > myeclipse > validation
將Build下全部勾取消
如果你需要驗(yàn)證某個(gè)文件的時(shí)候,我們可以單獨(dú)去驗(yàn)證它。方法是,在需要驗(yàn)證的文件上( 右鍵 -> MyEclipse -> Run Validation 。
4 啟動(dòng)優(yōu)化,關(guān)閉不需要使用的模塊
一個(gè)系統(tǒng)20%的功能往往能夠滿足80%的需求,MyEclipse也不例外,我們?cè)诖蠖鄶?shù)時(shí)候只需要20%的系統(tǒng)功能,所以可以將一些不使用的模塊禁止 加載啟動(dòng)。
Window > Preferences > General > Startup andy Shutdown 在這里列出的是MyEclipse啟動(dòng)時(shí)加載的模塊 我這里只讓它加載tomcat5 勾選 MyEclipse EASIE Tomcat 5 。
怎樣才能知道哪些啟動(dòng)項(xiàng)有用呢?我現(xiàn)在把我知道的啟動(dòng)項(xiàng)用處說一下,還有很多不懂的,希望大家懂的回復(fù)在下面啊:
WTP :一個(gè)跟myeclipse差不多的東西,主要差別是 WTP 是免費(fèi)的,如果使用myeclipse,這個(gè)可以取消
Mylyn:組隊(duì)任務(wù)管理工具,類似于 CVS ,以任務(wù)為單位管理項(xiàng)目進(jìn)度,沒用到的可以取消
Derby:一種保存成 jar 形式的數(shù)據(jù)庫,我沒用到,取消
一大排以 MyEclipse EASIE 打頭的啟動(dòng)項(xiàng):myeclipse 支持的服務(wù)器,只選自己用的,其他取消,比如我只選了tomcat 。
5 去掉MyEclipse的拼寫檢查(如果你覺的有用可以不去)
拼寫檢查會(huì)給我們帶來不少的麻煩,我們的方法命名都會(huì)是單詞的縮寫,他也會(huì)提示有錯(cuò),所以最好去掉,沒有多大的用處
Window > perferences > General > Editors > Text Editors > Spelling > 將Enable spell checking復(fù)選框的勾選去掉。
6 去掉MyEclipse繁雜的自帶插件自動(dòng)加載項(xiàng)
Window > perferences > General > Startup and Shutdown > 將Plug-ins activated on startup 中的復(fù)選框有選擇性的勾選去掉。
7 修改MyEclipse編輯JSP頁面時(shí)的編輯工具
Window > perferences > General > Editors > File Associations >
在File types 中選擇 *.jsp > 在Associated editors 中將"MyEclipse JSP Editor"設(shè)置為默認(rèn)。
8 修改MyEclipse安裝目錄的eclipse.ini文件,加大JVM的非堆內(nèi)存
具體內(nèi)容如下:
-clean
-showsplash
com.genuitec.myeclipse.product.ide
--launcher.XXMaxPermSize
256m
-vmargs
-Xms128m
-Xmx512m
-Duser.language=en
-XX:PermSize=128M
-XX:MaxPermSize=256M
把下面的那個(gè) -XX:MaxPermSize 調(diào)大,比如 -XX:MaxPermSize=512M,再把 -XX:PermSize 調(diào)成跟 -XX:MaxPermSize一樣大
網(wǎng)上搜了一下,據(jù)說是內(nèi)存溢出問題。可以通過修改eclipse.ini文件解決,
優(yōu)化之后的ini文件內(nèi)容:
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\java\1.6\bin
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
以下為查找得的一些資料,解釋我們?cè)谛薷牡膮?shù)是什么意思。
按照官方的說法:“Java 虛擬機(jī)具有一個(gè)堆,堆是運(yùn)行時(shí)數(shù)據(jù)區(qū)域,所有類實(shí)例和數(shù)組的內(nèi)存均從此處分配。堆是在 Java 虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建的。”“在JVM中堆之外的內(nèi)存稱為非堆內(nèi)存(Non-heap memory)”。可以看出JVM主要管理兩種類型的內(nèi)存:堆和非堆。簡(jiǎn)單來說堆就是Java代碼可及的內(nèi)存,是留給開發(fā)人員使用的;非堆就是JVM留給自己用的,所以方法區(qū)、JVM內(nèi)部處理或優(yōu)化所需的內(nèi)存(如JIT編譯后的代碼緩存)、每個(gè)類結(jié)構(gòu)(如運(yùn)行時(shí)常數(shù)池、字段和方法數(shù)據(jù))以及方法和構(gòu)造方法的代碼都在非堆內(nèi)存中。
JVM使用-XX:PermSize設(shè)置非堆內(nèi)存初始值,默認(rèn)是物理內(nèi)存的1/64;由XX:MaxPermSize設(shè)置最大非堆內(nèi)存的大小,默認(rèn)是物理內(nèi)存的1/4。