Detalles de implementación de referencia de expresión Lambda vs método

Dado este:

class MyClass {
    static class A {
        public boolean property() {
            return Math.random() < 0.5;
        }
    }

    static List<A> filterLambda(List<A> list) {
        return list.stream().filter(a -> a.property()).collect(Collectors.toList());
    }

    static List<A> filterMethodCall(List<A> list) {
        return list.stream().filter(A::property).collect(Collectors.toList());
    }
}
¿Cuáles son las diferencias enlo que hace el compilador para cada método?En caso de que haya alguno, ¿hay alguna diferencia en el uso de la memoria o el tiempo de ejecución? (incluso si es pequeño, la pregunta es solo académica)

PD: Sé que la pregunta es similar aéste pero creo que no se ha abordado correctamente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta