09 2019 档案
创建线程
摘要:创建线程的方式有三种 1.继承Thread类 2.实现Runnable接口 3.实现Callable接口 第三种方式,可以通过FutureTask包装类调用get()方法获取到线程的返回值 也可以通过ExecutorService创建的线程池调用submit()方法返回一个Future对象来获取线程
阅读全文
时间处理
摘要:SimpleDateFormat 的线程安全性问题 SimpleDateFormat类内部有一个Calendar对象引用,用来储存这个SimpleDateFormat相关的日期信息,多线程下会共享这个Calendar引用,会导致出现幻读成员变量的现象 解决办法: 1、将SimpleDateForma
阅读全文
异常
摘要:Java异常是一个对象,所有异常都直接或间接的继承Throwable类,异常层次结构如图: Error类代表错误,指程序无法恢复的异常情况,常见的Error类例如内存溢出StackOverflowError等。 Exception类代表异常,指程序有可能恢复的异常情况,分为RuntimeExcept
阅读全文
注解
摘要:元注解 @Target 用来约束注解可以应用的地方 @Retention 用来约束注解的生命周期 @Documented 可以被javadoc等工具文档化@Target(ElementType.TYPE) 注解与反射 通过反射获取注解信息,达到代理的目的
阅读全文
spring常用注解
摘要:@Controller 标注为一个控制器类 @RestController 包含@Controller @ResponseBody 默认返回json格式 @Service 标注为业务层组件 @Repository 标注数据访问组件,即DAO组件 @Component 泛指组件 @Autowired
阅读全文
序列化
摘要:序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 通过实现Serializable接口来达到目的 transient 修饰的属性,不会被序列化 静态static的属性,不序列化 需要显式的声明serialVersionUID这个属性,如果不
阅读全文
mabatis缓存
摘要:一级缓存 创建一个SqlSession对象,通过这个对象执行数据库操作,调用clearCache,close 方法会清空Cache缓存,执行insert,update,delete方法也会清空缓存 二级缓存 对应的bean实例需要实现Serializable接口,实例必须是可序列化的 需要在对于的x
阅读全文