JUST WRITE

Java 특징 본문

Programing/Java

Java 특징

천재보단범재 2021. 8. 22. 15:41
이 글은 책 자바의 정석의 1장을 정리하여 작성한 글입니다.

 

feature of JAVA

운영체제에 독립적

이러한 특징은 일종의 에뮬레이터인 자바가상머신(JVM) 덕분에 가능하다.

JAVA 응용 프로그램은 JVM과 통신, JVM이 해당 통신을 운영체제가 이해하도록 변환 후 전달한다.

따라서, JAVA는 운영체제제에 독립적, JVM은 운영체제에 종속적이다.

여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM을 제공하고 있다.

JVM 출처: javaworld

 

객체지향언어 (OOP)

Object-oriented Programing Language

JAVA는 객체지향 프로그래밍언어 중의 하나이다.

객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용되어 있다고 평가 받고 있다.

 

자동메모리관리

JAVA에서는 가비지컬렉터(Garbage Collector)가 자동으로 메모리를 관리해준다.

C나 C++에서는 OS레벨 메모리에 직접 접근, free()라는 메소드를 호출하여 명시적으로 할당메모리 해제해줘야 한다.JAVA에서는 가비지컬렉터가 알아서 free()를 실행해 메모리를 확보해준다.

프로그래머가 따로 메모리를 관리하지 않고 프로그래밍에 집중할 수 있도록 도와준다.

 

네트워크와 분산처리 지원

다양한 네트워크 프로그래밍 라이브러리를 통해 단기간내에 네트워크 관련 프로그램을 쉽게 개발이 가능하다.

Socket, Servlet, JSP, Netty 등 다양한 라이브러리가 존재한다.

Servlets & JSP

Muliti-Thread

JAVA에서 개발되는 Multi-Thread 프로그램은 시스템과는 관계없이 구현이 가능하다.

Concurrent 라이브러리 등 관련 라이브러리가 제공된다.

여러 Thread에 대한 스케줄링은 JAVA Interpreter가 담당한다.

Muliti-threaded Server 출처: https://www.eginnovations.com/blog/java-threads

 

Dynamic Loading

애플리케이션 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩한다.

일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일  하지 않아도 된다.

 

 

 

[주요용어]

interpreter

javac 명령어로 컴파일된 자바바이트코드 파일(.class)을 interpreter가 한줄씩 읽으면서 기계어로 번역, 실행한다.

 

[참고사이트]

 

 

 

 

 

 

 

 

728x90
반응형

'Programing > Java' 카테고리의 다른 글

Immutable Objects  (0) 2021.09.25
Wrapper Class  (0) 2021.09.24
Static  (0) 2021.09.24
접근 제어자  (0) 2021.08.26
OOP  (0) 2021.08.25
Comments