JAVA笔记
1、spring管理bean时何时实例化
spring加载配置文件的时候会实例化(调用类的构造函数)配置的bean对象(默认的bean为单例);当配置bean为(scope=“prototype”)时会在getbean是实例化对象
2、java获取文件修改时间
http://www.coderanch.com/t/384700/java/java/File-lastModified-windows-linux
File.lastModified() on windows vs linux
File. lastModified()
问题:win下可以获得毫秒级时间,linux、mac下毫秒级时间为0;
原因:文件系统存在特性(时间分辨率)。
ext3,timeresolution 1
ntfs,timeresolution 100ns
3、spring bean配置
通过 < import resource = “./testNbean.xml” />
引入不同的配置xml
1)在同一个xml中bean id只能是唯一的,配置多个同名ID会报错;
2)引入的不受此限制,但是会用后面的bean配置覆盖前面的配置,引起的问题不易排查,前后顺序,决定import和bean定义的先后。
4、Thread.currentThread()获取当前正在执行的线程
场景1、生成文件名中使用thread_id,使用的是本线程ID,使用this.getID。
场景2、获取当前执行的线程id,使用Thread.currentThread().getID();
当线程调用isInterrupted()返回true是,this和Thread.currentThread()返回结果一致。
5、maven更新是由于网路等原因导致lastUpdated后缀文件时,删除lastUpdated文件
find . -name “lastUpdated” | xargs rm -rf
6、ThreadLocal
当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思。
private static ThreadLocal<MethodPerformance> performanceRecord = new ThreadLocal<MethodPerformance>();
JAVA题库
1、HashMap和HashTable区别
HashMap | HashTable |
---|---|
同步 | 否 |
父类 | AbstractMap |
key和value值 | 允许null |
2、String、StringBuffer和StringBuilder的区别
效率: StringBuilder > StringBuffer > String
StringBuilder线程不安全
Stringbuffer线程安全
String每一次操作都要生成新的对象,常量