特性:

A、将一个变量声明为lazy,则只有第一次使用该变量时,才会进行初始化;

B、  赖加载特性

使用场景:使用于比较耗时的计算业务;如网络IO,磁盘IO等;

marathon源码,与spark源码中同样大量使用了这种特性;

Java中的赖加载与scala中的赖加载的区别?

1、  Java中的赖加载,实例:如单例模式

代码如下:

每天学一点Scala之lazy

2、  Scala中实现赖加载,是通过关键字lazy来实现的,也就是说,在scala中,赖加载的实现是语法级别的,而Java中需要自己实现。

    测试scala中,lazy的效果?

  1. 未使用lazy,查看打印日志顺序

每天学一点Scala之lazy

b. 使用lazy

每天学一点Scala之lazy

marathons源码中,大量使用了此特性

每天学一点Scala之lazy













本文转自故新51CTO博客,原文链接: http://blog.51cto.com/xingej/1955861,如需转载请自行联系原作者








相关文章:

  • 2021-07-01
  • 2021-11-19
  • 2021-10-22
  • 2021-05-21
  • 2021-07-13
  • 2021-09-25
  • 2022-12-23
  • 2021-09-11
猜你喜欢
  • 2021-10-17
  • 2021-07-28
  • 2021-06-01
  • 2021-05-22
  • 2021-05-07
  • 2021-10-10
相关资源
相似解决方案