람다 식으로 AutoClosable을 생성하여 try-with-resource 구문에서 잠금을 해제 할 때 문제가 있습니까?람다로 잠금 해제
lock.lock();
try (AutoCloseable auto = lock::unlock) {
/*...*/
}
catch (Exception exp) {
/*...*/
}
나는 더 느릴 수도 있고 더 많은 쓰레기를 생성 할 수도 있다고 생각했습니다. 그러나 나는 마이크로 벤치 마크와의 성능 차이를 발견 할 수 없었다. 나는 당신의 자신의 특별한 인터페이스를 만드는 것이 좋습니다
더 많은 쓰레기가 생성됩니다. 바운드 메소드 참조는 할당을 포함합니다. –
@Brian Goetz : 코드가 성능 관련성이있는 경우 할당을 최적화 할 수 있습니다. 이것은이 코드가 벤치 마크에서 실행되었을 때 일어난 일일 것입니다. – Holger