bug管理:bugfree
缓存:memcache
消息总线:activemq
持续集成:jenkins
代码检查:pmd/checkstyle/findbug
ws测试平台:soapui
web服务器:jboss/tomcat/weblogic
数据库:oracle/mysql
远程通讯:mina
文本编辑器:kindeditor
富客户端框架:easyui
数据证书:x.509,可用于class文件加密
java开源论坛:jforum
java监控:jconsole
测试工具:loadrunner,jmeter
图表工具:highcharts
json格式工具地址:
http://tools.jb51.net/tools/json/json_editor.htm
http://jsonlint.com/
findBug总结:
1. makes inefficient use of keySet iterator instead of entrySet iterator
解释:keySet方式遍历Map的性能不如entrySet性能好
在遍历MAP的时候需使用这种方法:(效率比第二种快一倍)
Iterator<Entry<String, String>> entryKeyIterator = entrySetMap.entrySet().iterator();
while (entryKeyIterator.hasNext()) {
Entry<String, String> e = entryKeyIterator.next();
System.out.println(e.getKey());
System.out.println(e.getValue());
}
不要使用下面的方法:
Iterator<String> keySetIterator = keySetMap.keySet().iterator();
while (keySetIterator.hasNext()) {
String key = keySetIterator.next();
String value = keySetMap.get(key);
System.out.println(key);
System.out.println(value);
}
java 读取properties文件
String str=File.separator;
File f = new File("D:\\a.properties");
InputStream path=new FileInputStream(f);
//InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("password.properties");
/*File filepath=new File(this.getServletContext().getRealPath(str+"WEB-INF"+str+"classes")+str+"password.properties");
InputStream path=new FileInputStream(filepath);*/
Properties pros = new Properties();
try {
pros.load(path);
} catch (IOException ex) {
System.out.println("file is not exist");
}
System.out.println("username:"+pros.getProperty("username")+",password:"+pros.getProperty("password"));
username=yang
password=ming
tomcat6 修改内存的方法:
在catalina.bat的第一行插入:
set JAVA_OPTS=-Xms256m -Xmx512m -XX:MaxPermSize=128m -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Eclipse 中设置window-preferences-java-editor-save actions 保存的时候会帮你自己引/删包。
eclipse快捷键:
1.Ctrl+Alt+H
显示被谁调用
助记:"H"--->"Hierarchy"--->"调用层次"
2.Alt+Shift+R 重命名 用于变量
3.Alt+Shift+C 重构 用于方法
4.Ctrl+Shift+B 在某一行加断点
5.Ctrl+F11 运行最后一次程序, F11 DEBUG 最后一次程序
6.Ctrl+K Ctrl+SHIFT+K 向上/下 查找 关键字
7.ALT+Shift+W 查找当前文件所在项目中的路径
Thread.currentThread().getStackTrace()[1].getMethodName();获取当前方法名称
Thread.currentThread().getStackTrace()[2].getMethodName();获取调用当前方法的方法名称
//下面的方法可以获取嵌套方法名称
public static void main(String[] args) {
pushPOI1();
}
public static void pushPOI1(){
common1();
}
public static void common1(){
System.out.println(Thread.currentThread().getStackTrace()[2].getMethodName());
}