https://www.javatpoint.com/difference-between-jdk-jre-and-jvm
Java Virtual Machine
: 자바 가상 머신으로 컴파일된 바이트 코드를 실행한다.
Java Development Kit
: 자바 개발 도구로 JRE, javac 컴파일러, 디버거를 포함한다.
Java Runtime Environment
자바 실행 환경으로 JVM 각종 라이브러리를 담고있다.
→ JRE는 읽기 전용, JDK는 읽기/쓰기 전용. 순수 자바만 실행시킬것이 아니라면 JDK를 설치한다. (내장되어있다.)
절차적/구조적 프로그래밍에서는 함수라 부르니 객체지향에서는 좀 다르게 불러야하지않은가? 같은 의미로 볼 수 있지만 굳이 차이점을 둔다면 함수는 클래스나 객체와 아무 관계가 없지만 메서드는 반드시 클래스 안에 정의해야한다.
자바 8에서부터는 함수형 프로그래밍을 강력하게 지원하게 되었다. 람다의 도입이고 람다의 도입으로 자바가 함수형 언어가 되는것은 절대 아니다. 함수형 인터페이스를 더 간결하게 만들어주고 때에따라 더 직관적으로, 더 간결하게, 멀티 세이프하게 사용할 수 있다.
T자형 메모리구조를 잘 익혀두자!
스테틱 영역 : 클래스들의 놀이터
스택 영역 : 메소드들의 놀이터
힙 역역 : 객체들의 놀이터