-Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:MaxNewSize=128m
Ps:
-Xms/-Xmx 設置 Java VM的heap大小
-XX:PermSize/-XX:MaxPermSize 設置 Perm Generation 大小,jmap 命令看看到底需要多少。
Permanent Generation space: 永久代保存空間
javap 用來反編譯字節碼
jstat 對VM內存使用量進行監控
jmap 是一個可以輸出所有內存中對象的工具
jconsole 是一個用java寫的GUI程序,用來監控VM,並可監控遠程的VM,非常易用,而且功能非常強
jps 與unix上的ps類似,用來顯示本地的java進程,可以查看本地運行着幾個java程序,並顯示他們的進程號。
http://www.blogjava.net/huanghuizz/articles/287127.html
http://jiajun.javaeye.com/blog/443196
2.Java GC以及引用
http://www.javaeye.com/topic/401478
3.ConCurrent
http://www.javaeye.com/topic/363625
4.TreadLocal
http://www.javaeye.com/topic/103804
5.Finally
http://zangxt.javaeye.com/blog/421508
6.ClassLoader
http://lavasoft.blog.51cto.com/62575/184547
7.JVM Opcode Reference
http://homepages.inf.ed.ac.uk/kwxm/JVM/index.html
8.The JavaTM Virtual Machine Specification Second Edition
http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
9.Java中的位運算
public class TestX {
/**
* @param args
*/
public static void main(String[] args) {
byte a = 1;
byte b = 0;
byte c = 8;
/** 按位與&同爲真時爲真*/
System.out.printf("%d & %d = %d\n",a,b,a&b);//1 & 0 = 0
System.out.printf("%d & %d = %d\n",a,a,a&a);//1 & 1 = 1
System.out.printf("%d & %d = %d\n",b,b,b&b);//0 & 0 = 0
System.out.printf("%d & %d = %d\n",b,a,b&a);//0 & 1 = 0
/** 按位或|同爲假時爲假*/
System.out.printf("%d | %d = %d\n",a,b,a|b);//1 | 0 = 1
System.out.printf("%d | %d = %d\n",a,a,a|a);//1 | 1 = 1
System.out.printf("%d | %d = %d\n",b,b,b|b);//0 | 0 = 0
System.out.printf("%d | %d = %d\n",b,a,b|a);//0 | 1 = 1
/**異或相同爲假*/
System.out.printf("%d ^ %d = %d\n",a,b,a^b);//1 ^ 0 = 1
System.out.printf("%d ^ %d = %d\n",a,a,a^a);//1 ^ 1 = 0
System.out.printf("%d ^ %d = %d\n",b,b,b^b);//0 ^ 0 = 0
System.out.printf("%d ^ %d = %d\n",b,a,b^a);//0 ^ 1 = 1
/**求反~*/
System.out.printf("~%d = %d\n",a,~a);//~1 = -2
System.out.printf("~%d = %d\n",b,~b);//~0 = -1
/**左移<<左邊擠出位被丟掉,右邊補零*/
System.out.printf("%d<<%d = %d\n",a,2,a<<2);//1<<2 = 4
/**有符號右移 >> 向右移動指定位,正數則左邊高位補0,負數補1*/
System.out.printf("%d>>%d = %d\n",c,2,c>>2);//8>>2 = 2
/**無符號右移>>>向右移動指定位,無論正負,高位均補零*/
System.out.printf("%d>>>%d = %d\n",c,2,c>>>2);//8>>>2 = 2
}
}
10.ThreadLocal
http://book.51cto.com/art/200812/103988.htm
11.Callable與Future
http://book.51cto.com/art/200812/103994.htm
12.Executors
http://book.51cto.com/art/200812/103995.htm
14.使用javassist修改class文件
http://www.blogjava.net/bukebushuo/articles/229703.html
使用字節碼處理框架javassist動態注入代碼
http://blog.csdn.net/kunshan_shenbin/archive/2009/01/05/3713630.aspx
15.JMX(Java Management Extensions)
http://www.blogjava.net/mlh123caoer/archive/2007/09/03/142456.html
http://www.blogjava.net/chengang/archive/2006/03/07/34061.html
16.Java解析XML
http://www.javaeye.com/topic/75
a.DOM
基於文檔驅動,XML文件被預先載入內存
b.SAX
基於事件驅動,解析XML文檔時會觸發一系列的事件,對內存要求比較低.
c.JDOM
JDOM使用具體類.
d.DOM4J
性能最好
e.JAXP(Java API for XML Processing)
SUN公司制定的XML解析接口
16.字符竄內存泄露
http://www.javaeye.com/topic/626801
17.
//打war包
jar cvf flyingCityJC.war *.*
//解war包
jar xvf flyingCityJC.war
//cxf 根據wsdl生成java文件
wsdl2java -d src -all
http://221.232.128.38:9999/t2/services/IQueryService?wsdl
//編碼
unicode 定長雙字節編碼 中文英文均爲兩字節,java內部採用此編碼
utf-8 變長編碼 英文爲一字節,中文爲三字節
gbk/gb2312 變長編碼 英文爲一字節,中文爲兩字節
Java項目若爲UTF-8編碼,但oracle爲GBK編碼(oracle10g以上),系統可以正常運行,不會出現亂碼?
//webservice傳遞附件(圖片,音頻,文檔等)
任何文件均可轉化爲流,然後用base64加密成字符竄,而後通過webservice形式傳到遠程