计算机基础
文章平均质量分 88
酒剑随马@
努力变强
展开
-
Spring中的设计模式
工厂模式Spring IOC就是通过工厂模式来实现的,将对象的创建和管理过程交由Spring去完成,主要通过springFactory来实现,根据传入bean的名字来获取对象。当spring启动时会先通过注解或xml配置获取bean的beanDefinition信息,然后将其放在springFactory的beanDefinitionMap中,key为bean的名字;在这个地方Spring为为我们提供了一个切入点可以用来修改beanDefinition,可以通过实现接口BeanFactoryPost原创 2021-03-21 21:24:37 · 2394 阅读 · 0 评论 -
select、poll、epoll相关
select、poll、epoll都是IO多路复用机制,由单个线程处理多个文件描述符,由内核帮助我们监控文件事件是否准备就绪(一般是读写就绪),就绪后可以通知用户线程去进行相应读写操作。可以举个简单的例子(可能不是很恰当),在饭馆,有客人(文件描述fd)、服务员(内核)、老板(用户程序),在select、poll模式下,当客人准备结账时,服务员会告诉老板有人要结账,但没告诉老板是哪一桌,需要再轮询一遍;epoll模式下,服务员告诉老板1、2号桌结账,老板就可以去直接收钱。1.selectint原创 2020-07-25 11:25:38 · 190 阅读 · 0 评论 -
http相关
http与https的区别:1.https需要CA(Certificate Authority证书颁发机构)申请证书2.http使用的超文本传输协议,数据是明文传输,https是使用了ssl+http,数据为加密传输3.http端口为80,https是4434.http是无状态的,https会对传输内容进行加密、验证身份和数据完整性https请求流程1.首先服务器会利用非对称加密算法,生成自己的公私钥对2.服务器将自己的公钥,发送至CA证书颁发机构,利用颁发机构私有进行加密生原创 2020-07-15 22:56:03 · 121 阅读 · 0 评论 -
(93&-8)的结果为
-8用二进制表示是多少?负数在二进制种是以补码的形式存储的,比如-8,先求出 8 的 二进制表示为 0000 1000,它的反码为1111 0111,补码是反码再加1为1111 100093用2进制表示为 0101 1101,则93&-8为0101 1000 为64+16+8=88原创 2017-09-22 11:12:14 · 1038 阅读 · 0 评论 -
三次握手 四次挥手
三次握手https://blog.csdn.net/lilong329329/article/details/81668144四次挥手原创 2017-11-20 21:27:41 · 190 阅读 · 0 评论 -
线程与进程的简单区别
进程是资源分配的最小单位,线程是程序执行的最小单位。 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。 线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量...原创 2019-05-13 22:27:21 · 108 阅读 · 0 评论 -
线程池
先上个代码public class ThreadPool { public static void main(String[] args) throws Exception{ ExecutorService es1 = Executors.newCachedThreadPool(); ExecutorService es2 = Executors.ne...原创 2019-05-20 23:08:45 · 133 阅读 · 0 评论 -
网站如何高可用
1.前后端分离:可以使用更加轻量级的web容器如nginx部署静态资源,实现真正的前后端解耦;且可以同时水平扩展前后端服务器;减少后端服务器的并发/负载压力,即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。2.拆分微服务,拆分后的服务支持分布式多实例(集群)部署,从而达到按需扩展的目的,在应对突发的流量暴增时,如营销活动等,可以迅速按需扩展,提高站点的可用性。...原创 2019-06-03 19:47:28 · 398 阅读 · 0 评论