当前位置: 首页 > news >正文

图片分享功能网站开发太原做推广的公司

图片分享功能网站开发,太原做推广的公司,工业设计网站设计,网站开发分为哪几块Java8实战-总结51 CompletableFuture#xff1a;组合式异步编程响应 CompletableFuture 的 completion 事件付诸实践 小结 新的日期和时间AP CompletableFuture#xff1a;组合式异步编程 响应 CompletableFuture 的 completion 事件 付诸实践 现在通过randomDelay方法模拟… Java8实战-总结51 CompletableFuture组合式异步编程响应 CompletableFuture 的 completion 事件付诸实践 小结 新的日期和时间AP CompletableFuture组合式异步编程 响应 CompletableFuture 的 completion 事件 付诸实践 现在通过randomDelay方法模拟远程方法调用产生一个介于0.5秒到2.5秒的随机延迟不再使用恒定1秒的延迟值。下面的代码清单应用了这一改变执行这段代码你会看到不同商店的价格不再像之前那样总是在一个时刻返回而是随着商店折扣价格返回的顺序逐一地打印输出。为了让这一改变的效果更加明显我们对代码进行了微调在输出中打印每个价格计算所消耗的时间 long start System.nanoTime(); CompletableFuture[] futures findPricesStream(myPhone27S).map(f - f.thenAccept(s - System.out.println(s (done in ((System.nanoTime() - start) / 1_000_000) msecs)))) .toArray(size - new CompletableFuture[size]); CompletableFuture.allOf(futures).join(); System.out.println(All shops have now responded in ((System.nanoTime() - start) / 1_000_000) msecs); 运行这段代码所产生的输出如下 BuyItAll price is 184.74 (done in 2005 msecs) MyFavoriteShop price is 192.72 (done in 2157 msecs) LetsSaveBig price is 135.58 (done in 3301 msecs) ShopEasy price is 167.28 (done in 3869 msecs) BestPrice price is 110.93 (done in 4188 msecs) All shops have now responded in 4188 msecs 由于随机延迟的效果第一次价格查询比最慢的查询要快两倍多。 小结 这部分的主要内容如下 执行比较耗时的操作时尤其是那些依赖一个或多个远程服务的操作使用异步任务可以改善程序的性能加快程序的响应速度。应该尽可能地为客户提供异步API。使用CompletableFuture类提供的特性能够轻松地实现这一目标。CompletableFuture类还提供了异常管理的机制让你有机会抛出/管理异步任务执行中发生的异常。将同步API的调用封装到一个CompletableFuture中你能够以异步的方式使用其结果。如果异步任务之间相互独立或者它们之间某一些的结果是另一些的输入你可以将这异步任务构造或者合并成一个。你可以为CompletableFuture注册一个回调函数在Future执行完毕或者它们计算的结果可用时针对性地执行一些程序。你可以决定在什么时候结束程序的运行是等待由CompletableFuture对象构成的列表中所有的对象都执行完毕还是只要其中任何一个首先完成就中止程序的运行。 新的日期和时间AP Java的API提供了很多有用的组件能帮助你构建复杂的应用。不过Java API也不总是完美的。大多数有经验的程序员都会赞同Java 8之前的库对日期和时间的支持就非常不理想。然而也不用太担心Java 8中引入全新的日期和时间API就是要解决这一问题。 在Java 1.0中对日期和时间的支持只能依赖java.util.Date类。正如类名所表达的这个类无法表示日期只能以毫秒的精度表示时间。更糟糕的是它的易用性由于某些原因未知的设计决策这个类的易用性被深深地损害了比如年份的起始选择是1900年月份的起始从0开始。这意味着如果你想要用Date表示Java 8的发布日期即2014年3月18日需要创建下面这样的Date实例 Date date new Date(114, 2, 18); 它的打印输出效果为 Tue Mar 18 00:00:00 CET 2014看起来不那么直观。此外甚至Date类的toString方法返回的字符串也容易误导人。以我们的例子而言它的返回值中甚至还包含了JVM的默认时区CET即中欧时间Central Europe Time。但这并不表示Date类在任何方面支持时区。 随着Java 1.0退出历史舞台Date类的种种问题和限制几乎一扫而光但很明显这些历史旧账如果不牺牲前向兼容性是无法解决的。所以在Java 1.1中Date类中的很多方法被废弃了取而代之的是java.util.Calendar类。很不幸Calendar类也有类似的问题和设计缺陷导致使用这些方法写出的代码非常容易出错。比如月份依旧是从0开始计算不过至少Calendar类拿掉了由1900年开始计算年份这一设计。更糟的是同时存在Date和Calendar这两个类也增加了程序员的困惑。到底该使用哪一个类呢此外有的特性只在某一个类有提供比如用于以语言无关方式格式化和解析日期或时间的DateFormat方法就只在Date类里有。 DateFormat方法也有它自己的问题。比如它不是线程安全的。这意味着两个线程如果尝试使用同一个formatter解析日期你可能会得到无法预期的结果。 所有这些缺陷和不一致导致用户们转投第三方的日期和时间库比如Joda-Time。为了解决这些问题Oracle决定在原生的Java API中提供高质量的日期和时间支持。所以你会看到Java 8在java.time包中整合了很多Joda-Time的特性。 下面会探索新的日期和时间API所提供的新特性。首先从最基本的用例入手比如创建同时适合人与机器的日期和时间逐渐转入到日期和时间API更高级的一些应用比如操纵、解析、打印输出日期时间对象使用不同的时区和年历。
http://www.pierceye.com/news/701015/

相关文章:

  • 外围网站做代理关于网站建设需要的研究方法
  • 成都网站建设赢展怎样建设尧都水果网站
  • 网站建设英文文献佛山外贸网站推广
  • wordpress 网站显示ip哪里可以建网站
  • 网站是干嘛用的凡科教育
  • 黄页营销网站南京哪些公司做网站
  • 俄语网站推广工程公司名称大全
  • 怎么知道网站是php什么是网站推广?
  • 温州在线课堂番禺网站建设优化
  • php怎么做网站快大都会app下载最新版本
  • 麻城网站建设公司网络推广公司挣钱吗
  • t型布局网站的样子自己做的网站如何上传
  • 排版设计模板网站百度搜索下载安装
  • 网站页面建设需要ps吗网站建设结单 优帮云
  • 网站建设对我有什么好处网站首页被k 做跳转
  • 美辰网站建设网站建设公司转型做什
  • 创意网站界面怎么查注册公司的名字可不可以用
  • 微友说是做网站维护让帮忙投注中小企业经营管理培训班
  • 网站开发宣传标语虚拟币挖矿网站开发
  • wordpress是否免费网站移动端seo
  • 加盟网站建设服务极简风格 wordpress
  • phpcms v9 网站模板seo优化的技巧
  • 域名备案网站要不要关7k7k网页游戏
  • 虚拟主机发布网站吗汕头建站平台
  • wap站是什么意思啊阿里云建设网站的步骤
  • 网站备案 异地可以做视频的网站
  • 淘宝网站c 设计怎么做安卓手机做网站
  • 嘉兴做网站建设的公司电商网名大全
  • 欢迎访问中国建设银行网站密码重置wordpress wp_parse_args
  • 普通电脑可以做网站服务器吗找人做网站需要什么条件