摘要: 需求:有一张表9亿多条数据,数据加索引总数据量61GB。考虑到这张表的大部分数据都不会再被使用并且大数据量可能影响整库的性能,所以决定将表里某一个时刻之前的数据备份到一张新表中,待备份完成后将旧表中已经备份的数据删除。由于数据量太大,不适合让DBA直接做备份。 方案1 main线程分页读取旧表数据, 阅读全文
posted @ 2016-06-20 11:52 商商-77 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 线程状态验证 运行程序控制台输出结果如下: 运行程序,控制台打印结果如下: 线程对象关联线程组:1级关联 所谓的1级关联就是父对象中有子对象,但是并不创建孙对象。 运行程序,控制台打印结果如下: 线程对象关联线程组:多级关联 所谓的多级关联就是父对象中有子对象,子对象中再创建子对象,也就是出现孙对象 阅读全文
posted @ 2016-06-20 11:47 商商-77 阅读(260) 评论(0) 推荐(0) 编辑
摘要: Timer类主要负责计划任务,也就是在指定的时间开始执行某一个任务。 方法schedule(TimerTask task, Date time) 程序运行结果如下: 任务虽然执行完了,但是进程还没有销毁。 创建Timer的源码如下: 由构造方法可知,创建一个Timer就是启动一个新的线程,这个新启动 阅读全文
posted @ 2016-06-20 11:46 商商-77 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 立即加载/饿汉模式 立即加载就是使用类的时候已经将对象创建完毕。 运行程序,控制台打印结果如下: 控制台打印的hashCode是同一个值,说明对象是同一个,也就实现了立即加载型单例模式。 延迟加载/懒汉模式 延迟加载就是在调用get()方法时实例才被创建 程序运行结果如下: 此实验虽然取得一个对象的 阅读全文
posted @ 2016-06-20 11:46 商商-77 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 使用ReentrantLock类 在Java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,但在JDK1.5中新增加了ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比synchronized更 阅读全文
posted @ 2016-06-20 11:45 商商-77 阅读(267) 评论(0) 推荐(0) 编辑