lazy 值 !!!!!
如果将一个变量声明为lazy,只有在第一次使用该变量,变量对应的表达式才会发生计算。
普通变量
scala> val lines = Source.fromFile("C:/11.txt").mkString
java.io.FileNotFoundException: /home/candle/test/aaa.txt (No such file or directory)
lazy值变量
该句话只是把lines1这个变量如何得到记录下来
scala> lazy val lines1 = Source.fromFile("C:/11.txt").mkString
lines1: String = <lazy>
等到真正使用该变量的时候,才开始计算
scala> println(lines1)
java.io.FileNotFoundException: /home/candle/test/aaa.txt (No such file or directory)
这种特性针对特别耗时计算操作非常有用,例如打开hdfs文本