首页 > 代码库 > 周记 2014.8.31
周记 2014.8.31
1.apache-maven-3.2.1-bin.zip和apache-maven-3.2.1-src.zip两个文件中,带有bin的为安装运行文件。
2.阻塞队列:
add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常
remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常
element 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常
offer 添加一个元素并返回true 如果队列已满,则返回false
poll 移除并返问队列头部的元素 如果队列为空,则返回null
peek 返回队列头部的元素 如果队列为空,则返回null
put 添加一个元素 如果队列满,则阻塞
take 移除并返回队列头部的元素 如果队列为空,则阻塞
3.执行含有主方法(main)的jar文件,java -jar **.jar
4.获取字符串二进制代码时,getByte一般使用getByte(“utf-8”)来防止中文乱码
5.使用“|”进行切割,需要“\\|”进行转义。
6.使用Tomcat启动服务,可以在Tomcat目录下的logs中查看Tomcat日志。
7.缓存更新策略:去缓存中查询,若缓存中没有,再去数据库中查询,如果数据库中有,获取数据返回,同时更新缓存
8.日志记录非常重要。将log4j.properties文件,放到jar包外面,为保证配置文件加载,可以执行下列代码:
String uri = ConfigTool.getConfigUri("log4j.properties");if(null != uri){ PropertyConfigurator.configure(uri);}public static String getConfigUri(String fileName) { String r = null; if((new File(fileName)).exists()){ return fileName; } String userDir = System.getProperty("user.dir"); File confInDir = new File(userDir + File.separator + fileName); URL confInClassPath = ConfigTool.class.getResource("/" + fileName); if (null != confInClassPath && confInDir.exists()) { r = confInClassPath.toString(); } else if (confInDir.exists()) { r = confInDir.getAbsolutePath(); } else { URL uri = ConfigTool.class.getResource(fileName); if(null != uri){ r = uri.toString(); } } return r; }
9.System.getProperty("user.dir"); // 当前程序所在项目目录
10. 打jar包时,把配置文件放到jar包外面,便于配置文件的修改。通过第8条的方式加载文件。
11. 定时任务中,当使用连接池中的连接时,应考虑使用单例模式,不要每次从连接池中取新的连接。
周记 2014.8.31