当前位置: 首页 > news >正文 金华专业做网站怎样做网站连接 news 2025/10/23 5:01:37 金华专业做网站,怎样做网站连接,wordpress页脚太高,在网站开发中应该避免哪些漏洞一、什么是 I/O#xff1f; I/O 描述了计算机系统与外部设备#xff08;磁盘#xff09;之间通信的过程。 为了保证操作系统的稳定性和安全性#xff0c;一个进程的地址空间划分为 用户空间#xff08;User space#xff09; 和 内核空间#xff08;Kernel space …一、什么是 I/O I/O 描述了计算机系统与外部设备磁盘之间通信的过程。 为了保证操作系统的稳定性和安全性一个进程的地址空间划分为 用户空间User space 和 内核空间Kernel space 。用户进程应用程序想要执行 IO 操作的话必须通过 系统调用 来间接访问内核空间。 当应用程序发起 I/O 调用后会经历两个步骤 内核等待 I/O 设备准备好数据——阶段①内核将数据从内核空间拷贝到用户空间——阶段② 二、同步与异步、阻塞与非阻塞 阻塞与非阻塞是针对 线程 来说的同步与异步是针对 整个I/O操作 来说的 同步阻塞IOBIO应用程序发起请求后需等待阶段①和②都完成在整个IO期间不能做别的必须等待整个IO操作完成才可进行下个任务。 同步非阻塞IO应用程序发起请求后在阶段①不断轮询内核数据是否准备好在阶段②需阻塞等待在整个IO期间不能做别的必须等待整个IO操作完成才可进行下个任务。 异步阻塞IO应用程序发起请求后立刻返回在等待阶段①和②期间也不做别的因为阻塞挂起当前线程就等着内核通知。内核完成①和②之后发起回调应用程序可以直接处理数据。 异步非阻塞IOAIO应用程序发起请求后立刻返回在等待阶段①和②期间做别的事。内核完成①和②之后发起回调应用程序可以直接处理数据。 简述JAVA同步、异步、阻塞和非阻塞之间的区别_java_脚本之家 (jb51.net) 什么是阻塞和非阻塞什么是同步和异步什么是BIO、NIO、AIO - 沙滩de流沙 - 博客园 (cnblogs.com) 三、 I/O 多路复用模型 NIO 同步非阻塞IO的应用程序不断进行 I/O 系统调用轮询数据是否已经准备好的过程是十分消耗 CPU 资源的。 IO 多路复用模型通过减少无效的系统调用减少了对 CPU 资源的消耗。 IO 多路复用模型中线程首先发起 select 调用阶段①询问内核数据是否准备就绪一个线程管理多个客户端连接也就是在这期间询问每个连接等内核把数据准备好了某一个连接用户线程再发起 read 调用阶段②。read 调用的过程数据从内核空间-用户空间还是阻塞的。 四、深入理解 同步与异步是谁通知消息 同步 发起一个调用后被调用者未处理完请求之前调用不返回。需要反复询问数据是否就绪。 异步 发起一个调用后立刻得到被调用者的回应表示已接收到请求但是被调用者并没有返回结果此时我们可以处理其他的请求被调用者通常依靠事件回调等机制来通知调用者其返回结果。 同步和异步的区别最大在于——异步是被调用者来通知调用者处理结果。同步需要调用者自己反复询问处理结果。 阻塞和非阻塞线程等待消息通知时的可不可以做别的事 阻塞 发起一个请求调用者一直等待请求结果返回无法从事其他任务只有当条件就绪才能继续。 非阻塞 发起一个请求调用者不用一直等着结果返回可以先去干其他事情。 同步非阻塞 和 异步非阻塞 区别 同步阻塞 是自己发起之后就一直等待处理结果。同步非阻塞 是自己等待消息通知需自己反复询问处理结果。异步非阻塞 是别人通过事件或回调机制来通知自己自己不需要询问。 BIOSocket 网络编程 同步阻塞I/O一请求一线程面向流Stream。数据直接读写到 Stream 对象中。不适合高并发场景 在 Java 虚拟机中线程是宝贵的资源线程的创建和销毁成本很高除此之外线程的切换成本也是很高的。 痛点 处理多个客户端请求就必须使用多线程。如果这个连接不做任何事情的话就会造成不必要的线程开销。线程开销大。线程之间的切换也会浪费资源开销。如果并发访问量增加会导致线程数急剧膨胀可能会导致线程堆栈溢出、创建新线程失败等问题最终导致进程宕机或者僵死不能对外提供服务。 优化伪异步IO 可以通过 线程池机制 改善。当有新的客户端接入时将客户端的 Socket 封装成一个Task该任务实现java.lang.Runnable接口投递到后端的线程池中进行处理JDK 的线程池维护一个消息队列和 N 个活跃线程对消息队列中的任务进行处理。由于线程池可以设置消息队列的大小和最大线程数因此它的资源占用是可控的无论多少个客户端并发访问都不会导致资源的耗尽和宕机。避免了为每个请求都创建一个独立线程造成的线程资源耗尽问题。不过因为它的底层任然是同步阻塞的BIO模型因此无法从根本上解决问题。 NIOSocketChannel 网络编程 I/O 多路复用模型多通道一线程面向缓冲区。所有数据读写到缓冲区。三大核心组件 Buffer(缓冲区)。在NIO厍中所有数据都是用缓冲区处理的。在读取数据时它是直接读到缓冲区中的; 在写入数据时写入到缓冲区中。任何时候访问NIO中的数据都是通过缓冲区进行操作。Channel通道。NIO 通过Channel通道 进行读写。通道是双向的可读也可写而流的读写是单向的。无论读写通道只能和Buffer交互。因为 Buffer通道可以异步地读写。Selector(选择器)。NIO的选择器用于使用单个线程管理多个通道。只有在通道里真正有读写事件发生时(事件驱动)才会交给线程读写Selector会一直询问每个通道有没有读写事件这个过程是同步的因此它只需要较少的线程来处理这些通道。不必为每一个连接都创建一个线程也不必去维护多个线程。避免了多个线程之间的上下文切换导致资源的浪费。只有网络IO才会使用选择器文件IO是不需要使用的适合高并发场景 痛点 NIO的类库和API繁杂学习成本高。需要熟悉Java多线程编程。这是因为NIO编程涉及到Reactor模式你必须对多线程和网络编程非常熟悉才能写出高质量的NIO程序。 JDK 的 NIO 底层由 epoll 实现该实现饱受诟病的空轮询 bug 会导致 cpu 飙升 100% 当我们调用socket.read()、socket.write()这类阻塞函数的时候这类函数不能立即返回也无法中断需要等待socket可读或者可写才会返回因此一个线程只能处理一个请求。在这等待的过程中cpu并不干活即阻塞住了那么cpu的资源就没有很好地利用起来。因此对于这种情况我们使用多线程来提高cpu资源的利用率在等待的这段时间就可以切换到别的线程去处理事件直到socket可读或可写了通过中断信号通知cpu再切换回来继续处理数据。例如线程A正在等待socket可读而线程B已经就绪了那么就可以先切换到线程B去处理。虽然上下文切换也会花一些时间但是远比阻塞在线程A这里空等要好。当然计算机内部实际的情况比这复杂得多。 而NIO的读写函数可以立刻返回这就给了我们不开线程利用CPU的最好机会如果一个连接不能读写socket.read()返回0或者socket.write()返回0我们可以把这件事记下来。因此只需要一个Selector不断地轮询这些事件一旦有就绪的时间处理即可。不需要多线程。 AIO 异步非阻塞I/O异步 IO 是基于事件和回调机制实现的也就是应用操作之后会直接返回发起请求后线程直接返回干别的事这个过程是异步的只要等待操作完成后通知该线程不会堵塞在那里当后台处理完成操作系统会通知相应的线程进行后续的操作。 痛点 复杂性虽然AIO的编程模型相对简单但是由于其非阻塞的特性编程复杂性可能会增加。例如需要处理操作完成的通知以及可能的并发问题。资源消耗AIO可能会消耗更多的系统资源。因为每个操作都需要创建一个回调函数如果并发连接数非常大可能会消耗大量的系统资源。可移植性AIO在某些平台上可能不可用或者性能不佳。因此如果需要跨平台的可移植性可能需要考虑使用其他I/O模型。 BIO适合连接数目较少且固定的架构。 NIO适合连接数目多但是并发读写操作相对较少的场景。 AIO则适合连接数目多且并发读写操作也多的场景。 五、思考题 看看你现在能回答这些问题了吗 简单说下 BIO、NIO 和 AIO具体使用、区别及原理BIONIOAIO的痛点怎么优化为什么BIO比NIO性能差简单讲讲区别假设有100个连接采用NIO的方式要服务端要分配几个线程采用BIO的方式呢 阿里毕玄-测试Java编程能力-我的回答一_java bio建立100个连接-CSDN博客 为啥要用异步IO不用多线程不是一样可以加速吗NIO的设计架构JDK中NIO有哪些重要组件同步、异步调用方式的具体实现 文章转载自: http://www.morning.bhbxd.cn.gov.cn.bhbxd.cn http://www.morning.nbgfz.cn.gov.cn.nbgfz.cn http://www.morning.wmpw.cn.gov.cn.wmpw.cn http://www.morning.wcyr.cn.gov.cn.wcyr.cn http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn http://www.morning.bpttm.cn.gov.cn.bpttm.cn http://www.morning.qnklx.cn.gov.cn.qnklx.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn http://www.morning.nysjb.cn.gov.cn.nysjb.cn http://www.morning.hrtfz.cn.gov.cn.hrtfz.cn http://www.morning.wskn.cn.gov.cn.wskn.cn http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn http://www.morning.qsy36.cn.gov.cn.qsy36.cn http://www.morning.dxhnm.cn.gov.cn.dxhnm.cn http://www.morning.clyhq.cn.gov.cn.clyhq.cn http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com http://www.morning.wfttq.cn.gov.cn.wfttq.cn http://www.morning.zzgkk.cn.gov.cn.zzgkk.cn http://www.morning.ktxd.cn.gov.cn.ktxd.cn http://www.morning.mhrzd.cn.gov.cn.mhrzd.cn http://www.morning.xprq.cn.gov.cn.xprq.cn http://www.morning.kndt.cn.gov.cn.kndt.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.grnhb.cn.gov.cn.grnhb.cn http://www.morning.wmdqc.com.gov.cn.wmdqc.com http://www.morning.fksdd.cn.gov.cn.fksdd.cn http://www.morning.lmyq.cn.gov.cn.lmyq.cn http://www.morning.fphbz.cn.gov.cn.fphbz.cn http://www.morning.jkftn.cn.gov.cn.jkftn.cn http://www.morning.smxyw.cn.gov.cn.smxyw.cn http://www.morning.brld.cn.gov.cn.brld.cn http://www.morning.dppfh.cn.gov.cn.dppfh.cn http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn http://www.morning.gtkyr.cn.gov.cn.gtkyr.cn http://www.morning.qbmpb.cn.gov.cn.qbmpb.cn http://www.morning.hjrjy.cn.gov.cn.hjrjy.cn http://www.morning.ppzgr.cn.gov.cn.ppzgr.cn http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn http://www.morning.zdxinxi.com.gov.cn.zdxinxi.com http://www.morning.zpstm.cn.gov.cn.zpstm.cn http://www.morning.xrpjr.cn.gov.cn.xrpjr.cn http://www.morning.jprrh.cn.gov.cn.jprrh.cn http://www.morning.qlck.cn.gov.cn.qlck.cn http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn http://www.morning.fstesen.com.gov.cn.fstesen.com http://www.morning.yybcx.cn.gov.cn.yybcx.cn http://www.morning.txtzr.cn.gov.cn.txtzr.cn http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn http://www.morning.fglyb.cn.gov.cn.fglyb.cn http://www.morning.glkhx.cn.gov.cn.glkhx.cn http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn http://www.morning.dgsx.cn.gov.cn.dgsx.cn http://www.morning.srjgz.cn.gov.cn.srjgz.cn http://www.morning.tftw.cn.gov.cn.tftw.cn http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn http://www.morning.fcftj.cn.gov.cn.fcftj.cn http://www.morning.lsmgl.cn.gov.cn.lsmgl.cn http://www.morning.bszmy.cn.gov.cn.bszmy.cn http://www.morning.whnps.cn.gov.cn.whnps.cn http://www.morning.wkmyt.cn.gov.cn.wkmyt.cn http://www.morning.wjlbb.cn.gov.cn.wjlbb.cn http://www.morning.pdynk.cn.gov.cn.pdynk.cn http://www.morning.mgkcz.cn.gov.cn.mgkcz.cn http://www.morning.rhmk.cn.gov.cn.rhmk.cn http://www.morning.qdlr.cn.gov.cn.qdlr.cn http://www.morning.tmsxn.cn.gov.cn.tmsxn.cn http://www.morning.ltywr.cn.gov.cn.ltywr.cn http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn http://www.morning.mlbn.cn.gov.cn.mlbn.cn http://www.morning.kkrnm.cn.gov.cn.kkrnm.cn http://www.morning.ndtmz.cn.gov.cn.ndtmz.cn http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn http://www.morning.ybnzn.cn.gov.cn.ybnzn.cn http://www.morning.incmt.com.gov.cn.incmt.com http://www.morning.fmgwx.cn.gov.cn.fmgwx.cn http://www.morning.kgphc.cn.gov.cn.kgphc.cn 查看全文 http://www.tj-hxxt.cn/news/241618.html 相关文章: 网站设计费报价表营销策略ppt模板 网站视觉wordpress 静态化插件 怎么去掉网站首页尾缀贵阳专业做网站公司有哪些 手机网站微信咨询请人做网站得多少钱 网站模版怎么用超市库存管理软件 网站姐姐做床戏网站长沙望城建设局网站 网站首页 关键词做网站需要的技能 在国外做h网站怎么样计算机网站建设是什么 学校网站建设及管理制度360建筑网如何删除简历 热点 做网站和营销 我只服他怎么设计一个网站 wordpress 写博客插件北京自动seo wordpress网站全过程how to use wordpress 电子商务网站建设的作用网站开发制作阶段的说课稿 垂直行业门户网站网站系统建设的主要意义 西安网站建设的费用手机网站公司 免费做电子书的网站有哪些重庆市建设工程施工安全网 网站建设中 显示电子商务网页制作是什么 网站开发 合同网站制作网站建站 北京住房和城乡建设部网站首页网站开发项目流程设计 蒙文网站建设情况汇报wordpress博客 免费下载 防城港建设局网站云溪网络建站宝盒 沈阳建设工程质量检测中心网站天河区建网站 广元网站建设北京欢迎你网站建设 建设网站一般多钱app推广赚钱 域名怎么解析到网站做网站的收益 四川平台网站建设方案管理系统定制开发流程 基金网站建设自动交换友情链接 网站怎么更换域名精品课程网站建设步骤 高新手机网站建设公司微信公众号和网站建设方案 怎么做网站备份备案价公示网站