Effectively final variables

This is NOT the official website
of Java.
Effectively final variable is a variable that doesn't change its value (a constant).
Such variables can be referenced in lambdas without the need to explicitly mark them as "final":
// s is effectively final (not changed anywhere)
String s = "foo";
// s can be referenced in the lambda
Callable<String> callable = () -> s;