入职后
文章平均质量分 57
-玫瑰少年-
别管,拼!
展开
-
BIO、NIO、AIO区别:
BIO、NIO、AIO区别:Java对BIO、NIO、AIO的支持:Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。Java AIO(NIO.2) : 异步非阻塞,服务器实现模原创 2021-02-22 14:31:54 · 130 阅读 · 0 评论 -
HTTP响应头中的keep-alive
https://www.jianshu.com/p/9fe2c140fa52转载 2021-02-21 10:40:39 · 1576 阅读 · 0 评论 -
分布式系统、RPC
分布式分布式系统是若干独立系统的集合,这些计算机对于用户来说就像单个相关系统。可能淘宝有100个独立的服务器,但是用户访问只用访问www.taobao.com,在用户眼里就只有一个系统。分布式系统通过网络进行通信(通过http协议或RPC协议)。Dubbo官网介绍的网站应用的演进:随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署原创 2021-02-02 18:51:09 · 272 阅读 · 0 评论 -
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 评论 -
Mysql之存储过程
Mysql之存储过程转载 2021-01-28 15:21:19 · 87 阅读 · 0 评论 -
ThreadLocal
ThreadLocal转载 2021-01-28 11:05:32 · 78 阅读 · 0 评论 -
JUC
第一节首先新建一个maven项目。然后有一些避坑操作:这里一定是8这些都是为了使用jdk8的新特性。第二节什么是JUC?都在java.util包下。有些业务我们可能无法通过普通的线程代码来实,例如new Thread,new Runnable。这样写效率并不高。Thread只是一个普通的线程类,Runnable接口其实就是丢一个任务给Thread去执行,Runnable没有返回值,并且其效率相比callable较低,功能也没有callable强大。回顾:只能通过nat原创 2021-01-17 13:01:15 · 282 阅读 · 2 评论 -
CDN(内容分发网络)
CDN是一种提高用户访问速度的技术。解决网络拥塞问题。在一次网络请求中,CDN究竟做了哪些事?在浏览器中输入一个网址,DNS服务器会将域名的解析权交给CNAME指向的CDN专用的DNS服务器,接着专用的DNS服务器返回CDN负载均衡集群的ip地址。负载均衡设备根据设置好的策略来选择相应的CDN缓存服务器,并返回ip地址。最后客户端对缓存服务器发起请求,缓存服务器响应用户请求,返回相应内容。如果这台服务器没有命中,那么它将会请求它的上一级缓存服务器。直到追溯至源站服务器,将内容拉至本地。提高用户访问原创 2021-01-15 19:54:37 · 668 阅读 · 2 评论 -
mac快捷键
command+R:打开文件夹原创 2020-12-02 10:13:17 · 105 阅读 · 0 评论 -
lists.newarraylist()和new arraylist() 区别
lists.newarraylist()和new arraylist() 区别转载 2020-12-01 18:58:13 · 2260 阅读 · 0 评论 -
Java8中Collectors详解
Java8中Collectors详解转载 2020-11-17 20:10:42 · 366 阅读 · 1 评论