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形式传到远程

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