2018年1月2日
摘要: 介绍 自JDK1.5开始,JDK提供了ScheduledThreadPoolExecutor类来支持周期性任务的调度。在这之前的实现需要依靠Timer和TimerTask或者其它第三方工具来完成。但Timer有不少的缺陷: Timer是单线程模式; 如果在执行任务期间某个TimerTask耗时较久, 阅读全文
posted @ 2018-01-02 16:26 liuzhihu 阅读(11619) 评论(0) 推荐(2) 编辑
摘要: 线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个 阅读全文
posted @ 2018-01-02 15:22 liuzhihu 阅读(17628) 评论(1) 推荐(5) 编辑
摘要: 最近需要用到定时调用的功能。可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识。 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样: 这里直接实现一个TimerTask(当 阅读全文
posted @ 2018-01-02 13:43 liuzhihu 阅读(3155) 评论(0) 推荐(0) 编辑
摘要: Spring利用GeneratedKeyHolder,提供了一个可以返回新增记录对应主键值的方法: int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)。 相对来说,还是很好用的。 阅读全文
posted @ 2018-01-02 12:58 liuzhihu 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个需求,就是涉及到表的问题,前端传过来一条数据,根据主键,查询数据库,如果不存在,那么久插入到数据库中一条,如果存在的话,就是以主键的方式,对数据库中的数据,进行更新。 拿到这个需求的时候,想的就是直接用if…else…代码进行判断,首先就是查询,查到了记录,就更新,没有查到,就进行数据的 阅读全文
posted @ 2018-01-02 11:36 liuzhihu 阅读(744) 评论(0) 推荐(0) 编辑