본문 바로가기
Study/Java

[Java] Java란??

by JYHAN 2020. 6. 29.

Java 언어의 탄생

- 1995 제임스 고슬링

- 썬 마이크로시스템즈에서 발표

- 오크(Oak) 언어에서 시작해서 Java 언어로 발전

- 가전제품에 탑재할 수 있는 프로그램 개발을 목적으로 탄생

 

장점

- 객체 지향 언어로 기능을 부품화가 가능하다

- JRE를 이용해서 운영체제로부터 자유롭다

- 웹 및 모바일 프로그래밍이 쉽다

- GC를 통한 자동 메모리 관리를 지원한다

- 실행 속도가 많이 개선되었다

 

개발 준비

- JDK가 있어야 개발할 수 있다

- 프로그램만 사용하는 사용자라면 JRE만 설치되어 있으면 된다

- 포함관계: JDK > JRE > API > JVM ( JDK가 상위 )

 

실행 구조

javac.exe, java.exe를 다른 디렉터리에서도 실행할 수 있도록 환경 변수(Path)에 bin 경로를 등록한다.

javac.exe - 컴파일러

java.exe - JVM 구동명령

Java 소스 작성부터 프로그램 실행까지 순서

 

가비지 컬렉터(Garbage Collector)

C 계열: 개발자가 직접 메모리를 관리해야 한다. 메모리 관리를 잘못할 경우, 메모리 누수가 발생하고 타 프로그램 동작이 멈출 수 있다

 

Java: 개발자가 메모리에 접근할 수 없어서 메모리 관리를 할 수 없고, 가비지 컬렉터가 불필요한 메모리를 회수해서 최적화한다

 

가비지 컬렉터 특징

  1. Garbage Collection에 직접 관여할 수 없다
  2. 자동으로 처리된다는 점은 coding 관점에서는 장점이지만, 운영 관점에서는 단점이 된다
  3. 불필요한 객체 생성을 지양한다

댓글