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

网站推广找上海网站建设工资多少

网站推广找,上海网站建设工资多少,手机网页设计制作网站,wordpress iot插件程序员本来就是懒惰的#xff0c;而similis simili gaudet就像程序是懒惰的一样。 您听说过延迟加载吗#xff1f; 还是懒惰的单身人士#xff1f; #xff08;不过#xff0c;我个人更喜欢单一麦芽版本。#xff09;如果使用Scala或Kotlin#xff08;这也是一种JVM语言… 程序员本来就是懒惰的而similis simili gaudet就像程序是懒惰的一样。 您听说过延迟加载吗 还是懒惰的单身人士 不过我个人更喜欢单一麦芽版本。如果使用Scala或Kotlin这也是一种JVM语言进行编程则您甚至可以以惰性方式评估表达式。 如果您在Scala中编程则可以编写 lazy val z Hello 并且仅在首次访问z时才对表达式求z 。 如果您使用Kotlin编程则可以编写如下内容 val z: String by lazy { Hello } 并且仅在首次访问z时才对表达式求z 。 Java本身不支持这种惰性评估但是作为一种功能强大的语言Java提供了可用于获得相同结果的语言元素。 当Scala和Kotlin给您鱼时Java教您捕获自己的鱼。 让我们在这个想法中发挥作用。 当您在Scala和/或Kotlin中对以上行进行编码时在后台真正发生的事情是不对表达式进行求值并且变量将不包含表达式的结果。 相反这些语言会创建一些虚拟的“ lambda”表达式这是一个“供应商”以后将用于计算该表达式的值。 我们可以用Java自己完成。 我们可以使用一个简单的类Lazy提供以下功能 public class Lazy implements Supplier { final private Supplier supplier; supplied private boolean supplied false ; private T value; private Lazy(Supplier supplier) { this .supplier supplier; } public static Lazy let(Supplier supplier) { return new Lazy(supplier); } Override public T get() { if (supplied) { return value; } supplied true ; return value supplier.get(); } } 该类具有可用于定义供应商的public static方法let() 并且在首次调用方法get()会调用此供应商。 使用此类您可以将以上示例编写为 var z Lazy.let( () - Hello ); 顺便说一句它似乎比Kotlin版本更简单。 您可以使用库中的类 com.javax0 lazylet 1.0.0 然后您无需将代码复制到您的项目中。 这是一个微型库仅包含此类和一个内部类该内部类使Lazy可以在多线程环境中使用。 用法很简单如单元测试所示 private static class TestSupport { int count 0 ; boolean callMe() { count; return true ; } } ... final var ts new TestSupport(); var z Lazy.let(ts::callMe); if ( false z.get()) { Assertions.fail(); } Assertions.assertEquals( 0 , ts.count); z.get(); Assertions.assertEquals( 1 , ts.count); z.get(); Assertions.assertEquals( 1 , ts.count); 要获取多线程安全版本可以使用以下代码 final var ts new TestSupport(); var z Lazy.sync(ts::callMe); if ( false z.get()) { Assertions.fail(); } Assertions.assertEquals( 0 , ts.count); z.get(); Assertions.assertEquals( 1 , ts.count); z.get(); Assertions.assertEquals( 1 , ts.count); 并获得可以由多个线程使用的Lazy供应商但仍可以保证作为参数传递的供应商仅传递一次。 给你一条鱼或教你钓鱼 我说要在便签上写上别针“虽然Scala和Kotlin给您鱼但是Java教您捕捉自己的鱼。” 这就是我的意思。 许多程序员在不了解程序如何执行的情况下编写程序。 他们使用Java编程并且编写了不错的代码但是他们不知道底层技术是如何工作的。 他们对类加载器垃圾回收一无所知。 或者他们知道但是他们对JIT编译器生成的机器代码一无所知。 或者他们甚至这样做但他们对处理器缓存不同的内存类型硬件体系结构一无所知。 或者他们知道但不了解微电子学和光刻技术以及集成电路的布局电子在半导体内部的移动方式量子力学如何确定计算机的不确定内部工作方式。 我并不是说您必须是物理学家并且要了解量子力学的复杂细节才能成为优秀的程序员。 但是我建议您了解日常工作工具下面的几层内容。 如果您使用Kotlin或Scala则绝对可以使用它们提供的惰性结构。 在这种特定情况下它们使编程抽象比Java提供的编程抽象高一个级别。 但是至关重要的是要知道实现的外观。 如果您知道如何钓鱼则可以购买包装鱼因为这样您就可以分辨出什么时候才是好鱼。 如果您不知道如何钓鱼您将依靠那些给您钓鱼的人的怜悯。 翻译自: https://www.javacodegeeks.com/2019/05/lazy-assignment-java.html
http://www.zqtcl.cn/news/278544/

相关文章:

  • 网站推广应该注意什么信息发布平台推广
  • 官方网站案例做网站私活在哪接
  • 做网站滨州wordpress 不同域名
  • 找人做设计的网站广州做网站(信科网络)
  • 如何选择网站做站方向青之峰网站建设
  • 福州哪家网站制作设计高端还实惠设计logo的理念
  • 吉林市网站建设促销式软文案例
  • 三门峡市建设局网站网站开发费用是否资本化
  • 建设部网站官网 施工许可杭州萧山网站开发
  • 福建省建设资格注册管理中心网站竹子建站怎么样
  • 想做一个什么样的网站网站建设功能评价指标
  • 网站建设渠道合作友情链接是免费的吗
  • wordpress如何制作网站网站建设及推广方案ppt
  • 关于建设门户网站的通知重庆刮刮卡制作
  • 网站建设和维护工作内容凡科网免费建站步骤及视频
  • 如何用c 做网站最新疫苗接种最新消息
  • 营销型网站建设报价wordpress 注册 登录界面
  • 网站编辑器哪个好黄骅网站建设价格
  • 爱站工具包官网下载国外cdn
  • 郑州便宜网站建设做网站横幅的图片多大
  • 网站建设的未来wordpress防黑客插件
  • 个人备案网站可以做支付吗做娱乐新闻的网站有哪些
  • 国家建设部网站网站导航如何做半透明
  • 长治网站设计制作网站网站是用什么软件做的
  • wordpress成长记录网站模版市场推广方案ppt
  • 外贸网站建设560wordpress 在线音乐播放器
  • 大连哪里有手机自适应网站建设维护交互式网站开发技术asp
  • 潍坊做网站多少钱个人业务网站带后台
  • 网站建设灬金手指科杰全部游戏免费(试玩)
  • 石家庄网站设计宜昌市住房和城乡建设局网站