Java 언어의 탄생
- 1995 제임스 고슬링
- 썬 마이크로시스템즈에서 발표
- 오크(Oak) 언어에서 시작해서 Java 언어로 발전
- 가전제품에 탑재할 수 있는 프로그램 개발을 목적으로 탄생
장점
- 객체 지향 언어로 기능을 부품화가 가능하다
- JRE를 이용해서 운영체제로부터 자유롭다
- 웹 및 모바일 프로그래밍이 쉽다
- GC를 통한 자동 메모리 관리를 지원한다
- 실행 속도가 많이 개선되었다
개발 준비
- JDK가 있어야 개발할 수 있다
- 프로그램만 사용하는 사용자라면 JRE만 설치되어 있으면 된다
- 포함관계: JDK > JRE > API > JVM ( JDK가 상위 )
실행 구조
javac.exe, java.exe를 다른 디렉터리에서도 실행할 수 있도록 환경 변수(Path)에 bin 경로를 등록한다.
javac.exe - 컴파일러
java.exe - JVM 구동명령
가비지 컬렉터(Garbage Collector)
C 계열: 개발자가 직접 메모리를 관리해야 한다. 메모리 관리를 잘못할 경우, 메모리 누수가 발생하고 타 프로그램 동작이 멈출 수 있다
Java: 개발자가 메모리에 접근할 수 없어서 메모리 관리를 할 수 없고, 가비지 컬렉터가 불필요한 메모리를 회수해서 최적화한다
가비지 컬렉터 특징
- Garbage Collection에 직접 관여할 수 없다
- 자동으로 처리된다는 점은 coding 관점에서는 장점이지만, 운영 관점에서는 단점이 된다
- 불필요한 객체 생성을 지양한다
'Study > Java' 카테고리의 다른 글
[Java] 생성자와 소멸자 그리고 this 키워드 (0) | 2020.07.02 |
---|---|
[Java] 메서드, 오버로딩, 오버라이딩 (0) | 2020.07.01 |
[Java] 클래스와 객체의 생성 (0) | 2020.07.01 |
[Java] 배열 & 조건문 & 반복문 (0) | 2020.07.01 |
[Java] 변수 & 자료형 & 연산자 (0) | 2020.06.29 |
댓글