Java若干知識點補充

1.解決Tomcat內存溢出
   -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形式傳到遠程

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