일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- git #gitlab #github
- Bean
- 스프링 부트
- layout #thymeleaf #화면분할
- zepettoworld.com
- spring
- 오토와이어드
- 1
- 스프링
- DispatcherServlet
- Component
- autowired
- Today
- Total
기록과 정리
JAVA (JDK & JRE & JVM ) 정리 본문
자바란?
객체지향적 프로그래밍 언어이며 웹 어플리케이션 개발에 가장 많이 쓰이는 언어들 중 하나이다.
현재 15버전까지 나왔다.
자바의 큰 장점은 JRE가 설치되어진 어느 OS 에서든 작동이 가능하다는 점이다.
가령 C언어로 화면을 출력을 하는 코드를 짠다고 해보면 코드는 컴파일러에 의해 컴파일 과정을 거쳐 01010 과 같은 바이너리 코드로 변경되며 이러한 코드르 컴퓨터가 이해하게 된다. 위에서 언급한 컴파일 과정에서 Window나 Mac, Linux와 같은 운영체제마다 C 컴파일러가 컴파일을 수행하게 되는데 JAVA는 JVM을 통해 통일된 컴파일 과정을 수행하게 된다.
JRE
JRE ( Java Runtime Enviroment ) 의 약자로 JVM + 실행을 위한 도구 ( ex-자바프로그램 ) 이라고 볼 수 있다.
실행에 필요한 라이브러리들 , 가령 print를 찍는 다거나 기본 자바 객체를 가지고 있다.
JDK
JVM ( Java Virtual Machine ) 의 약자로 JRE + 개발을 위한 도구 ( ex-디버거, 컴퍼일러 ) 이라고 볼 수 있다.
또한 자바 버전이라고 함은 JDK버전을 말하는 것 ( 현장(?)에서 통용되는 듯 하다 )
JAVA의 버전
java는 버전마다 특징적 기능있다. 가령, jdk5의 경우 제네릭 , jdk8의 경우 람다의 기능이 출시되었으며 버전 중에는 특히 LTS (Long Time Support) 라는 버전이 있다. 말 그대로 '오래 오래 지원해줄게' 라는 의미이므로 권장하는 버전이다.
( LTS는 8과 11이 있으며 현장에서도 주로 8이나 11을 쓰는것 같다 )
JDK의 종류는 많지만 주로 Oracle 과 OpenJDK 가 있다.
Oracle 의 경우 , 개인 무료이고 기업은 유료이다
또한 OpenJDK는 개인, 기업 상관없이 무료이다.
기존에 헷갈렸던 JAVA, JDK, JRE, JVM을 정리해보았습니다. 틀린 부분이 있으면 댓글 남겨주세요
감사합니다.
'IT > Java' 카테고리의 다른 글
기본 메서드와 스태틱 메서드 (0) | 2021.08.03 |
---|---|
Iterator/ListIterator/Enumeration 란? (0) | 2021.07.30 |
람다표현식&메소드 레퍼런스 (0) | 2021.07.26 |
Java 함수형 인터페이스 (0) | 2021.07.20 |
가비지 컬렉션 (Garbage Collection) GC란? (0) | 2021.02.02 |