- 博客(5)
- 收藏
- 关注
原创 java.util.concurrent.RejectedExecutionException
产生该异常一般有两个原因:1.线程池调用shutdown()后,又执行了新任务。2.当线程池的排队策略为有界队列,而提交的任务超过了有界队列的长度时,就会抛该异常。所以排队策略可以不用有界队列,但注意任务太多无界队列可能内存溢出。(拒绝策略)如下线程池的承载的最多任务数量:maximumPoolSize(5)+workQueue(3)=8,但是却又9个任务交给了线程池。 public static void main(String[] args) {// ExecutorSe
2021-01-30 10:17:10 1374 2
原创 JUC
第一节首先新建一个maven项目。然后有一些避坑操作:这里一定是8这些都是为了使用jdk8的新特性。第二节什么是JUC?都在java.util包下。有些业务我们可能无法通过普通的线程代码来实,例如new Thread,new Runnable。这样写效率并不高。Thread只是一个普通的线程类,Runnable接口其实就是丢一个任务给Thread去执行,Runnable没有返回值,并且其效率相比callable较低,功能也没有callable强大。回顾:只能通过nat
2021-01-17 13:01:15 281 2
原创 CDN(内容分发网络)
CDN是一种提高用户访问速度的技术。解决网络拥塞问题。在一次网络请求中,CDN究竟做了哪些事?在浏览器中输入一个网址,DNS服务器会将域名的解析权交给CNAME指向的CDN专用的DNS服务器,接着专用的DNS服务器返回CDN负载均衡集群的ip地址。负载均衡设备根据设置好的策略来选择相应的CDN缓存服务器,并返回ip地址。最后客户端对缓存服务器发起请求,缓存服务器响应用户请求,返回相应内容。如果这台服务器没有命中,那么它将会请求它的上一级缓存服务器。直到追溯至源站服务器,将内容拉至本地。提高用户访问
2021-01-15 19:54:37 668 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人