A. 자동 메모리 관리
- 자바에서는 JVM이 지속적으로 메모리를 감시하면서 더이상 사용되지 않는 메모리를 해제시켜 줍니다.
(c/c++ 등 다른 언어의 경우 더이상 사용하지 않는 메모리의 경우에는 개발자가 직접 메모리를 해제해야 합니다)
- 하지만 자바는 Garbage Collection을 통해 자동으로 메모리가 관리되기 때문에 개발자가 신경을 쓸 필요가 없습니다.
B. 운영체제 독립적
- 자바의 개발환경과 배포환경이 다른경우에 프로그램을 다시 컴파일 할 필요가 없이 실행이 가능하다.
- 자바가 JVM위에서 돌아가기 때문에 JVM에서 별도의 자바컴파일러를 통해 사용자의 코드를 변환합니다.
(운영체제가 바뀜에도 컴파일이 필요없이 자유롭다!)
C. 멀티쓰레드 프로그래밍 가능
- 자바에서는 하나의 프로그램에서 여러개의 쓰레드가 동시에 실행할수 있는 환경을 지원합니다.
D. 동적로딩(Dynamic Loading)을 지원
- 자바에서는 애플리케이션이 실행될 때 모든 객체가 생성되는게 아닌, 객체가 필요한 시점에 클래스를 동적으로 로딩한후 생성합니다.
- 동적로딩은 클래스가 일부분 변경될 시에는 다시 컴파일을 하지 않아도 되는 좋은점이 있습니다.
- 단 그때 그때 마다 메모리에서 불러오는 작업이기 때문에 프로그램 실행속도는 정적로딩보다는 느립니다.
반응형
'Java > Java language' 카테고리의 다른 글
| [JAVA]6. 배열? (0) | 2021.08.13 |
|---|---|
| [JAVA]5. 삼항 연산자 / break와 continue의 차이 (0) | 2021.08.13 |
| [JAVA]4. 자바 JDK와 식별자 (0) | 2021.08.13 |
| [JAVA]3. 자바의 정규표현식? (0) | 2021.08.06 |
| [JAVA]1. 자바의 특징 - 객체지향 (0) | 2021.07.26 |
댓글