자바
- 자바란?
- 자바의 가장 중요한 특징은 운영체제에 독립적 (JVM의 역할)
- C++의 장점을 채택하는 동시에 잘 사용되지 않는 부분을 제외
- 자바의 역사
- 애플릿(Applet)을 이용하여 정적 웹페이지 구현 => 하지만 보안상의 이유로 최신 브라우저에서 애플릿 지원 중단
- 반면에 서버쪽 프로그래밍을 위한 서블릿(Servlet)과 JSP(Java Server Page)가 더 많이 사용
- 자바 언어의 특징
- 운영 체제에 독립적
- 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신
- JVM이 자바 응용프로그램으로부터 전달 받은 명령을 해당 운영체제가 이해할 수 있도로고 변환
- 자바로 작성된 프로그램은 운영체제 독립적이지만 JVM은 운영체제에 종속적 / 썬에서는 여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM을 제공
- 객체 지향 언어
- 상속, 캡슐화, 다형성
- 비교적 낮은 Learning curve
- 간결하고 이해하기 쉬운 코드
- 자동 메모리 관리 (Garbage Collection)
- 프로그래머는 메모리를 따로 관리 하지 않아도 됨
- 네트워크와 분산처리를 지원
- Java API를 통해 비교적 짧은 시간에 쉽게 개발 할 수 있도록 지원
- 멀티 쓰레드를 지원
- 멀티 쓰레드 프로그램은 시스템 상관 없이 구현 가능함
- 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당
- 동적 로딩을 지원
- 필요한 시점에 클래스를 로딩 (실행 시 모든 클래스가 로딩 되지 않는다)
- 기타※ 자바의 단점으로 속도 문제가 있었지만 신기술 도입으로 JVM 성능이 향상, 속도 문제 개선
- 운영 체제에 독립적
- JVM
- 하드웨어에 맞게 완전히 컴파일 된 상태는 아님
- 실행 시 interpret되기 때문에 속도가 느림
자바 개발환경 구축하기
- jdk : 자바 개발 도구
- JRE + 개발에 필요한 실행 파일
- jre : 자바 실행 환경 (자바로 작성된 응용 프로그램이 실행되기 위한 최소 환경
- JVM + 클래스 라이브러리
자바로 프로그램 작성하기
- 자바컴파일러(javac.exe)를 사용해서 소스파일로부터 클래스 파일 생성 => 자바인터프리터(java.exe)로 실행
- 하나의 소스 파일에 둘 이상의 public class가 존재하면 안 됨 (Test 필요)
'JAVA' 카테고리의 다른 글
Java의 정석 Chapter 13 쓰레드 Thread (0) | 2022.07.27 |
---|---|
Java의 정석 Chapter 05 배열 (0) | 2022.07.24 |
Java의 정석 Chapter 03 연산자 + Chapter 04 조건문과 반복문 (0) | 2022.07.24 |
Java의 정석 Chapter 02 변수 (0) | 2022.07.24 |