摘要: 背景 用户:货都到了,购物车里怎么还有刚买的东西,what?产品:有用户反映,提单完成了,怎么没清购物车,研发赶紧看看是不是有bug啊?研发:恩,我看看,!@#¥%……&*()一顿狂查,搜嘎,当时在上线,重启应用,异步任务丢了……产品:能不能行,上线你就丢任务,丢不丢人啊!研发:………… 上线!重启 阅读全文
posted @ 2018-08-22 14:59 浅滩沙洲 阅读(9680) 评论(1) 推荐(1) 编辑
摘要: 一、注解:深入理解JAVA注解 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。 1、元注解(meta-annotation): 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-a 阅读全文
posted @ 2018-08-22 09:07 浅滩沙洲 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchronized 阅读全文
posted @ 2018-08-21 16:57 浅滩沙洲 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 可以关闭 ExecutorService,这将导致其拒绝新任务。提供两个方法来关闭 ExecutorService。shutdown() 方法在终止前允许执行以前提交的任务,而 shutdownNow() 方法阻止等待任务启动并试图停止当前正在执行的任务。在终止时,执行程序没有任务在执行,也没有任务 阅读全文
posted @ 2018-08-21 15:16 浅滩沙洲 阅读(8186) 评论(0) 推荐(0) 编辑
摘要: execute方法位于接口Executor中。 submit方法位于AbstractExecutorService中。 根据源码可以看到execute仅可以接受Runnable类型,而submit重载了三个方法,参数可以是Runnable类型的接口、Runnable类型接口加泛型result以及Ca 阅读全文
posted @ 2018-08-21 14:07 浅滩沙洲 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 一、Future使用 FutureTask是Future和Callable的结合体。传统的代码是这样写的 Future f = executor.submit(new Callable()); 然后通过Future来取得计算结果。但是,若开启了多个任务,我们无从知晓哪个任务最先结束。因此,若要实现“ 阅读全文
posted @ 2018-08-21 14:00 浅滩沙洲 阅读(2611) 评论(0) 推荐(0) 编辑
摘要: Callable接口: Runnable接口: 相同点: 不同点: 注意点: Callable接口支持返回执行结果,此时需要调用FutureTask.get()方法实现,此方法会阻塞主线程直到获取‘将来’结果;当不调用此方法时,主线程不会阻塞! Callable工作的Demo: 测试结果: Runn 阅读全文
posted @ 2018-08-21 13:38 浅滩沙洲 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么使用线程池 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达 阅读全文
posted @ 2018-08-21 10:59 浅滩沙洲 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 1. 闭锁CountDownLatch 闭锁CountDownLatch用于线程间的同步,它可以使得一个或者多个线程等待其它线程中的某些操作完成。它有一个int类型的属性count,当某个线程调用CountDownLatch对象的await方法时,将会阻塞,直到count的值变成0;count值可以 阅读全文
posted @ 2018-08-21 10:57 浅滩沙洲 阅读(2335) 评论(1) 推荐(0) 编辑
摘要: 最近一直在设计新的功能模块,觉得画一个比较好的架构设计图对于整个需求理解非常重要。接下来向大家推荐几个程序员画图比较好用的几个工具。 1. Astah Community Astah Community是一个非常强大的免费的UML建图工具,支持最新的UML图。 地址:http://astah.net 阅读全文
posted @ 2018-08-21 10:20 浅滩沙洲 阅读(376) 评论(0) 推荐(0) 编辑