I found this article to be very informative in comparison of old-style functions to new Java-8 lambda-functions and parallel processing. One thing I couldn\'t quite understand w
public class Test { static Runnable r; public static void main(String... args) { r = () -> r.run(); r.run(); } }
The Runnable obtains a reference to itself from the field r when it is run.
Runnable
r
You could also use a length 1 array to store the reference if you don't like adding a field.