dev._.note

[JAVA] JAVA란? 본문

Dev/JAVA

[JAVA] JAVA란?

Laena 2023. 3. 24. 19:42

JAVA 란?

자바는 썬 마이크로시스템즈에서 개발한 객체지향프로그래밍 언어
자바의 가장 중요한 특징은 운영체제(OS, 플랫폼)에 관계없이 독립적

→ 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에 프로그램을 전혀 변경하지 않고도 실행이 가능, 자바는 다양한 운영체제가 공존하는 인터넷 환경에 적합한 언어로써 활용

 


자바 특징

1. 운영체제에 독립적 → 자바가상머신(JVM)을 통해서 가능

자바 응용프로그램은 JVM과만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. JVM만 있으면 어떤 운영체제에서든 자바 프로그램은 실행이 된다.

 

2. 객체지향언어

객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 언어

 

3. C++에 비해 비교적 배우기 쉽다

C++에서 단순화하여 간결하고 이해하기 쉬운 코드 작성

 

4. 자동 메모리 관련 ( Garbage Collection)

자바로 작성된 프로그램이 실행되면 Garbage Collection이 자동적으로 메모리를 관리해주기 때문에 메모리 관리를 따로 할 필요가 없다.

 

5. 네트워크와 분산처리를 지원한다.

다양한 네트워크 프로그래밍 라이브러리(Java API)를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발 할 수 있도록 지원한다.

 

6. 멀티쓰레드를 지원한다.

일반적으로 멀티쓰레드 지원은 사용되는 운영체제에 따라 구현방법도 다르고 처리 방식도 다르지만 자바에서 개발되는 멀티쓰레드 프로그램은 시스템과 관계없이 구현가능하며 관련된 라이브러리(Java API)가 제공되므로 구현이 쉽다. 여러 쓰레드에 대한 스케줄링은 자바 인터프리터가 담당한다.

 

7. 동적 로딩을 지원한다.

보통 자바로 작성된 application은 여러 개의 클래스로 구성된다. 자바는 동적 로딩을 지원하기 때문에 실행 시 모든 클래스가 로딩되는 것이 아니라 필요한 시점에 클래스를 로딩하여 사용 할 수 있다. 일부 클래스가 변경되어도 전체 application을 다시 컴파일하지 않아도 되기 때문에 유연한 application을 작성할 수 있다.

 

※ 자바의 단점으로는 속도 문제

 


Java Virtual Machine, JVM

쉽게 말해 자바를 실행하기 위한 가상 컴퓨터(소프트웨어로 구현된 하드웨어)라 생각하면 된다.

자바로 작성된 application은 JVM에서만 실행되기 때문에 반드시 JVM이 필요하다.

 

일반 application 작동 방식

일반 application ↔ OS ↔ 컴퓨터(하드웨어)

 

Java application 작동 방식

Java application ↔ JVM ↔ OS ↔ 컴퓨터(하드웨어)

→ Java application은 실행 시 해석되기 때문에 속도가 느리다

'Dev > JAVA' 카테고리의 다른 글

이클립스 JSP SEVER 환경설정  (0) 2023.03.19
이클립스에 emmet 추가하기  (0) 2023.03.19
[JAVA] Servlet(서블릿)이란?  (0) 2023.03.18
[JAVA] 역정규화  (0) 2023.03.16
[JAVA] Jsp 개요  (0) 2023.03.02