장점
1. 운영체제에 독립적입니다.
2. 객체 지향 언어이기 때문에 재사용성, 유지보수성이 좋습니다.
3. 멀티 스레드를 지원하기 때문에 병렬 처리가 가능합니다.
4. 가비지 컬렉션이 자동적으로 메모리 관리를 해줍니다.
5. 다양한 라이브러리와 API를 지원합니다.
6. 대규모 프로젝트에서 안정적으로 동작합니다.
단점
1. 실행 속도가 다른 언어에 비해 상대적으로 느립니다.
: 자바가 JVM 위에서 동작하기 때문에 오버헤드가 발생하고, JIT(Just In Time) 컴파일러의 성능 문제가 존재합니다.
2. 학습의 어려움이 있습니다.
: 너무 많은 라이브러리와 API가 존재하기 때문에 적절한 사용법을 익히는 것이 어렵습니다.
3. 메모리 사용량이 많습니다.
: 가비지 컬렉션이 자동으로 메모리를 관리하는 과정에서 오버헤드가 발생할 수 있습니다. 또한 객체 지향 언어이기 때문에 객체를 생성하고 관리하는 과정에서 불필요한 객체 생성이 발생하는 경우가 있습니다.
'java(자바)' 카테고리의 다른 글
[java(자바)] 가비지 컬렉션(Garbage Collection)이란? _디버깅의 눈물 (0) | 2023.03.17 |
---|---|
[java(자바)] JDK, JRE, JVM의 차이점은? _디버깅의 눈물 (0) | 2023.03.16 |
[java(자바)] 자바의 대표적인 특징 5가지 _디버깅의 눈물 (0) | 2023.03.15 |
[java(자바)] java SE와 java EE의 차이점은? _디버깅의 눈물 (0) | 2023.03.15 |
[java(자바)] 자바에서 HH:mm 형식 시간 차 구하는 방법 _디버깅의 눈물 (0) | 2023.02.27 |