ImageVerifierCode 换一换
格式:PPTX , 页数:36 ,大小:2.16MB ,
资源ID:1421982      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1421982.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(从JDK新增HttpClient谈谈非阻塞编程模型.pptx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

从JDK新增HttpClient谈谈非阻塞编程模型.pptx

1、从JDK11新增HttpClient谈谈非阻塞编程模型,北京时间 9 月 26 日,Oracle 官方宣布 Java 11 正式发布。,17个新特性,既有的HttpURLConnection存在许多问题其基类URLConnection当初是设计为支持多协议,但其中大多已经成为非主流(ftp,gopher)API的设计早于HTTP/1.1,过度抽象难以使用,存在许多没有文档化的行为它只支持阻塞模式(每个请求/响应占用一个线程),动机,JDK中HTTP Client的发展历史,JDK HttpURLConnectionApache HttpClientOkhttpSpring Rest Templ

2、ateSpring Cloud Feign将Jetty用作客户端使用Netty库,在JDK11 HTTP Client出现之前,初探JDK HTTP Client,指定协议(http/1.1或者http/2)转发(redirect)代理(proxy)认证(authenticator),第一步:创建HttpClient,从HttpRequest的builder组建request请求URI请求method(GET,PUT,POST)请求体(request body)Timeout请求头(request header),第二步:创建HttpRequest,http client可以用来发送多个htt

3、p request请求可以被以同步或异步方式发送,第三步:send,同步发送API阻塞直到HttpResponse返回,第三步:1.同步发送,异步发送API立即返回一个CompletableFuture当它完成的时候会获得一个HttpResponse,第三步:2.异步发送,CompletableFuture是在java8中加入的,支持组合式异步编程,多CPU多线程非阻塞(non-blocking),如何提升单机并发处理能力,阻塞模型(blocking),阻塞模型示意图,非阻塞模型示意图,以同步非阻塞模型中的著名的reactor为例,Linux中的阻塞与非阻塞,X86 CPU有个权限级别,Lin

4、ux中的阻塞与非阻塞,Linux对应着2个权限级别:内核与应用程序,Linux中的阻塞与非阻塞,Linux中的阻塞IO模型,Linux中的阻塞与非阻塞,Linux中的非阻塞IO模型,Linux中的阻塞与非阻塞,Linux中的IO复用模型,Linux中的阻塞与非阻塞,Linux中的信号驱动IO模型,Linux中的阻塞与非阻塞,Linux中的异步IO模型,Linux中的阻塞与非阻塞,Java IOJava NIO,Java中的阻塞与非阻塞,阻塞 vs 非阻塞,非阻塞让并行的进程线程,执行更多的IO,非阻塞与回调,主线程(池),工作线程1(池),工作线程2(池),1、注册一个回调函数,2、数据到达后

5、,调用回调函数,接收客户端请求分发给worker,回调也疯狂java中回调的演变历史,匿名类lanbda表达式FutureCompletableFuture类reactive-streams模型,客户端请求到达时,回调连接上数据库时,回调查询结果返回时,回调根据查询结果,调用微服务校验数据返回时,回调最终输出结果,回调的地狱,消息传递架构,事件总线,1,2,3,4,发布,接收,发布,接收,发布,接收,Publisher、Subscriber、SubscriptionBack Pressure,reactive-streams,SPECIFICATION,reactive-streams,JDK

6、 Flow,JDK11 HttpClient中的回调采用的是消息传递架构,具体用的是reactor-streams标准,JDK11 HttpClient与非阻塞,请求响应的body暴露为reactive streamshttp client是请求的body的消费者http client是响应的body的生产者,请求响应的body与reactive streams,request,response,Http Client,消费body,生产body,生产body,消费body,互联网,HttpRequest内部,HttpResponse的内部,Spring 框架的联合创始人兼 Pivotal 的

7、首席工程师 Juergen Hoeller:迄今为止,Java 8 是 Java 历史上应用最广泛的平台版本。它的应用范围超过了 Java 6。但是,我们将会迎来一种破坏性的 Java 发布节奏。在可预见的未来,Java 8 将会作为我们的基准。整个生态系统都是或者将是以 Java 8 为基础的。2023 年之前,Java 8 会有来自业界许多利益相关者的支持承诺。因此,从一个保守组织的角度来看,Java 8 是一个很好的基准。刚刚发布的 Java 11 是 Java 的下一个长期支持版本,Hoeller 将其视为 Java 8 的替代方案。就像 Java 8 一样,它也得到了很多供应商的长期支持承诺,包括 Oracle、Azul、Red Hat、IBM 和 SAP,它们承诺会支持到 2023 年甚至更久。在此之后,下一个长期支持的发布版本将会是 2021 年的 Java 17。Hoeller 说到,“坦白来讲,我预计非 LTS 的 Java 发布版本受众将会很有限。在 17 版本之前,我希望人们保持使用 8 或 11 版本”。,附录,Oracle JDK 支持路线图,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1