首页 > 代码库 > 周记 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