1.JAVA
활용 : 웹, 모바일 애플리케이션 개발, 로봇, 게임 등
특징
1. 플랫폼 독립적
(*플랫폼 : 소프트웨어 응용 프로그램들을 돌리는데 쓰는 하드웨어와 소프트웨어의 결합, 소프트웨어를 실행할 수 있는 기반 => 독립적이라는 말은 플랫폼에 비의존적 이라는 말로서 어느 플랫폼이든 다 동작할 수 있다.)
자바컴파일러는 바이트 코드라는 특수한 바이너리 형태로 변환
이때 이 바이트코드를 실행하기 위해 필요한 것이 JVM(Java Virtual Machine : 자바 가상 머신)
2. 객체 지향 언어
3. 대체로 쉽다
4. 유형정의가 시스템에 무관하기 때문에 이식성이 좋음.
2.JVM(자바 가상 머신)
자바 바이트코드를 실행하는 주체
독립 적인 Java언어를 다른 플랫폼(다른 CPU혹은 OS)에서도 실행시킬 수 있도록 한다.
특징
1.스택 기반의 가상머신
2.포인터를 지원하시만 C와 같이 주소값 임의 조정이 불가능
3.가비지 컬렉션 사용
(*가비지 컬렉션(쓰레기수집) : 메모리 관리 기법중에 하나로 프로그램이 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능)
4.Java를 실행시킬 OS에 맞는 JVM이 필요
JDK와 JRE
JDK : Java Development Kit
자바 개발을 위한 키트 자바 컴파일러(Javac), 자바가상머신(JVM), 각종 Java Libary , JRE 등을 포함 자바 개발시 꼭 필요
JRE : Java Run Environment
Java 파일 실행을 위한 환경이며 개발이 아닌 자바파일의 실행만을 원한다면 JRE만 설치하면 됨
'Java' 카테고리의 다른 글
[Java] .war .jar (0) | 2018.03.13 |
---|---|
[Spring] IntelliJ로SpringBoot 프로젝트 시작하기 (0) | 2018.02.02 |
[Java] final keyword(final 키워드) (0) | 2017.01.10 |
[Java] 멤버변수:클래스 변수, 인스턴스 변수 (0) | 2016.08.03 |
[Java] JVM과 GC(Garbage Collection) : 자바가상머신과 쓰레기수집 (0) | 2016.08.03 |