每天学一点Scala之lazy
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天学一点Scala之lazy相关的知识,希望对你有一定的参考价值。
特性:
A、将一个变量声明为lazy,则只有第一次使用该变量时,才会进行初始化;
B、 赖加载特性
使用场景:使用于比较耗时的计算业务;如网络IO,磁盘IO等;
marathon源码,与spark源码中同样大量使用了这种特性;
Java中的赖加载与scala中的赖加载的区别?
1、 Java中的赖加载,实例:如单例模式
代码如下:
2、 Scala中实现赖加载,是通过关键字lazy来实现的,也就是说,在scala中,赖加载的实现是语法级别的,而Java中需要自己实现。
测试scala中,lazy的效果?
未使用lazy,查看打印日志顺序
b. 使用lazy
marathons源码中,大量使用了此特性
本文出自 “XEJ分布式工作室” 博客,请务必保留此出处http://xingej.blog.51cto.com/7912529/1955861
以上是关于每天学一点Scala之lazy的主要内容,如果未能解决你的问题,请参考以下文章