public class Threadextends Objectimplements Runnable All implemented Interfaces : Runnable Direct Known Subclasses : ForkJoinWorkerThread JVM은 멀티쓰레딩을 지원. 모든 쓰레드에는 priority가 존재. 높을수록 우선순위가 높음. 코드 상에서 쓰레드 객체가 생성되면 생성이 수행된 해당 쓰레드의 priority를 초기값으로 받음. 데몬 쓰레드에서 생성된 클래스는 데몬쓰레드가 됨. JVM이 시작될때 보통 main으로 알려진 하나의 데몬이 아닌 싱글 쓰레드가 존재. JVM은 다음과 같은 경우 중 하나가 발생할 때까지 main쓰레드를 계속 수행. 1. java.lang.Runtime 클래스의 exit..
자바 1.8버전 부터는 default라는 키워드로 인터페이스에서 메소드의 구현이 가능하다. 이 때 궁금한 점은 원래 클래스는 다중 상속을 구현시 다이아몬드 패턴의 문제가 생겨 다중 상속 자체를 금지했는데, 인터페이스가 이를 허용하면 이 문제를 해결한건지 궁금하다. 일단 위의 코드처럼 default 키워드를 사용하면 함수 구현이 가능. 궁금했던 다이아몬드 패턴은 컴파일 에러로 막아뒀다. default 말고도 하나 방법이 더 있다. static 키워드이다.static으로 함수를 선언하면 인터페이스 내부에서 함수 구현이 가능하다.하지만 이 경우 인터페이스 객체를 생성해도 사용이 불가능하고 전역 호출로만 사용이 가능하다.