728x90
반응형
자바의 특징
- 객체 지향 : 데이터와 동작을 통합하는 다양한 객체 유형의 조합으로 소프트웨어 궝
- OOP의 기본 개념 : Object, Class, 상속, 다형성, 추상화, 캡슐화
- 보안
- Classloader : 네트워크 소스로부터 가져온 로컬 파일 시스템의 클래스 패키지 분리
- ByteCode Verifier: 불법코드 fragment 체크
- 이식성
- 네트워크 분산처리 지원
- 풍부한 API을 통해 네트워크 통신 가능
- 네트워크를 통해 객체를 전송, 특히 RMI, EJB로 분산애플리케이션 개발을 지원
- 동적 클래스 로딩
- 모든 프로그램이 로딩되지 않고 필요한 시점에 런타임시점에 로드해 사용한다.
- 일부 프로그램 변경의 경우 전체 프로그램을 컴파일 하지 않는다.
- 멀티 스레드
- 스레드를 정의해 동시에 멀티 테스크를 처리하는 자바 애플리케이션을 작성할 수 있다.
- 자바에서 OS 관계없이 구현하는 API 제공
- 고성능
- 초창기에 성능이 느렸지만, 지속적으로 성능이 개선되었다.
- JIT 컴파일러 등으로 타 언어와 성능 차이가 거의 없다
- 자동 메모리 관리 (가비지 컬렉션)
- 사용하지 않는 데이터를 메모리로 변환하는 메모리 관리
플랫폼 독립적
- OS마다 별도의 실행환경 제공
- JVM을 통해서만 통신하고, JVM이 OS와 통신하는 구조
- OS별로 JVM으로 구동되므로, OS와 상관없이 실행 가능하다.
인터프리터
- 자바는 인터프리터를 통해 클래스 파일의 바이트 코드를 해석한다.
- 컴파일 언어보다 느릴 수 있지만, OS마다 JVM을 통해 범용적으로 사용가능하다.
Java API Document
- 클래스 라이브러리 설명, 기능, 사용법을 문서화
- Package, Class, Class의 상속도 및 필드와 메서드들의 정의를 상세하게 표현
- 일반적으로 Java SE API를 자주 사용한다.
- JNDI : 계정 정보의 저장하는 액티브 디렉토리 관리
- RMI / RMI-IIOP : 분산 처리 시스템 라이브러리
728x90
반응형
'Server Programming > BackEnd Project' 카테고리의 다른 글
9일차 -TIL (0) | 2022.12.21 |
---|---|
8일차 -TIL (0) | 2022.12.20 |
7일차 -TIL (0) | 2022.12.18 |
6일차 - TIL (0) | 2022.12.17 |
5일차. TIL (0) | 2022.12.16 |