java의 특징 6가지
1. 운영체제로부터 독립적이다.
Java는 OS와 직접적으로 소통하는 것이 아닌 JVM(자바 가상 머신) 이랑 직접 소통하기에 OS로부터 독립적으로 작업할 수 있다. 대신 JVM에서는 해당 OS에 맞는 JVM으로 소통하기에 JVM은 OS에 종속적이다.
* Java < --- > JVM(자바 가상 머신) < --- > OS(윈도우, 리눅스, 맥 등)
Java 어플리케이션에 작성한 내용이 javac.exe에서 바이트코드로 변환되고 JVM에서 해당 OS에 맞는 OS 기계어로 변환시켜 OS와 소통할 수 있다.
2. 객체지향언어이다.
3. Garbage Collector가 있다.
개발자가 따로 메모리 관리하지 않아도 Garbage Collector가 알아서 관리해준다.
4. 네트워크 분산처리(Java API 제공)
5. 멀티쓰레드 제공(Java API 제공)
OS마다 멀티스레드 처리하는 방식이 다른데 JVM에서는 해당 OS에 맞게 멀티쓰레드 처리를 해주고
Java 어플리케이션에서는 멀티쓰레드 처리하는 코드는 동일하다.(이는 Java가 OS로부터 독립적으로 사용할 수 있기 때문에 가능하다.
6.동적 로딩 제공
모든 클래스가 아닌 필요한 클래스만 로딩한다,
JVM(자바 가상머신)
Java는 오직 JVM에서만 실행가능하다 즉 JVM이 없으면 Java는 실행 할 수 없다.
Javac.exe: 자바컴파일러(자바 코드를 바이트코드(JVM이 이해할 수 있는 언어)로 바꿔준다), 클래스 객체 생성
Java.exe: 자바인터프린터(바이트 코드 해석) 실행
Java<------------------> JVM(바이트코드 <----> OS 기계어) <-------------------> OS
(javac.exe)
(자바 ---> 바이트코드)
문제)
1. Java의 특징 6가지에 대해서 설명하시오
2. JVM이란
3. Javac.exe 기능
4. JDK, JRE은 어떻게 구성되어 있는지 설명하시오
본 글은 [Java의 정석 3판 - 저자 남궁석] 책을 참고하여 제작했습니다.
혹시나.. 틀린 부분이 있으면 댓글로 남겨주세요!!
'java' 카테고리의 다른 글
[java] 배열 (0) | 2023.08.12 |
---|---|
[java] 조건문, 반복문 (0) | 2023.08.10 |
[정규표현식과 Pattern] (0) | 2023.03.14 |
[java] 연산자 (0) | 2023.03.11 |
[Java: 변수] (0) | 2023.03.08 |
댓글