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