Java Virtual Machine, 자바가상머신으로 자바 바이트코드를 OS에 특화된 코드로 변환(인터프리터와 JIT컴파일러)하여 실행한다. 때문에 플랫폼(OS)에 종속적이다.Java Runtime Environment, 자바실행환경으로 자바어플리케이션을 실행할 수
런타임시에 동작을 검사하거나 수정하는 것이다.자바와 같은 정적언어에서 사용하면 컴파일 타임에 클래스의 정보를 구체적으로 알지 못해도 실행 중에 클래스에 접근할 수 있다.Spring BeanFactory같은 곳에서 사용된다.예시
추상메소드를 딱 하나만 가지고 있는 인터페이스@FunctionalInterface 어노테이션을 붙여서 명시해 줄 수 있다. 이 어노테이션이 붙으면 메소드가 2개 이상일 경우 컴파일에러 발생.위 어노테이션이 없더라도 추상메서드 하나라면 함수형 인터페이스!(args) ->