C++ 하다 보면, 람다함수에서 외부지역변수 수정을 숨쉬듯이 하는 편인데, Java 에서 동일한 형태로 람다함수를 사용하려고 하면, 오류난다. // Java import java.util.function.Consumer; public class MyClass { public String getString() { String result = ""; Consumer<String> lamda = (String name) -> { result = "<<" + name + ">>"; }; return result; } public static void main(String[] args) { System.out.println("new MyClass().getString(): " + new MyClass().getString()); } } // 컴파일 결과 // javac MyClass.java // MyClass.java:8: error: local variables referenced from a lambda expression must be final or effectively final // result = "<<" + name + ">>"; // ^ // 1 error // C++ #include <iostream> #include <string> using namespace std; class MyClass { public: string getString() { string result; auto lamda = [&] (stri
참조: https://askubuntu.com/questions/15520/how-can-i-tell-ubuntu-to-do-nothing-when-i-close-my-laptop-lid /etc/systemd/logind.conf 수정 HandleLidSwitch=ignore logind 재시작 $ sudo service systemd-logind restart