Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 보안뉴스
- php
- 카카오프로젝트100
- 보안뉴스 요약
- 다크웹
- 자바스크립트 API
- 자바스크립트 기본 문법
- 자바스크립트 prototype
- 보안뉴스요약
- 파이썬
- 자바스크립트 jQuery
- 오라클
- 깃허브
- Oracle SQL
- python
- 보안뉴스 한줄요약
- javascript
- 자바스크립트 객체
- numpy
- 자바스크립트
- GIT
- 자바스크립트 node
- ES6
- oracle
- 카카오프로젝트
- oracle db
- 보안뉴스한줄요약
- 카카오프로젝트 100
- 랜섬웨어
- 자바스크립트 element api
Archives
- Today
- Total
FU11M00N
[ Java ]자바 기초이론 본문
1-프로그래밍언어
프로그래밍 언어는 크게 절차지향언어와 객체지향언어로 나뉩니다.
자바는 객체지향언어에 포함되고 오늘부터 Java에대해 기초부터 알아보도록 해봅시다.
2-자바의 탄생
1-1 자바가 탄생하면서 WORA (Write Once Run Anywhere) 라는 개념이 등장하게 됩니다. WORA를
가능케 하는 것은 바로 Java의 JRE라는것 때문입니다.
자바는 플랫폼의 종속성을 가지고있어서 OS, H/W에 영향을 받지않고 자바 프로그램이 동일하게 실행됩니다.
자바가 WORA라는것을 가능하게하는이유는 바이트코드 때문인데요,
바이트코드는 자바 소스를 컴파일한 목적 코드이고
CPU에 종속적이지 않은 중립적인코드이며 JVM에 의해 해석되고 사용됩니다!!
간단히 예를들자면 인텔의 CPU를 가진 리눅스 환경에서 개발한 C언어 혹은 C++ 프로그램은
인텔의 CPU + 리눅스 OS에서만 실행이가능하고
인텔의 CPU + 윈도우 OS를 가진 환경에서는 실행이 되지않습니다.
이것이 플랫폼의 종속성인데 프로그램마다 플랫폼의 호환성이 없는이유는 기계어가 CPU마다 다르고
운영체제마다 API가 서로 다르고 운영체제마다 실행파일 형식이 다르기 때문입니다.
하지만 자바는 OS와 H/W가 상관없이 자바 가상 기계인 JVM만 있으면 동일한 실행결과가 나오게됩니다.
3- 용어 정리
바이트코드
- 자바 가상 기계에서 실행 가능한 바이너리 코드
- 바이트 코드는 컴퓨터 CPU에 의해 직접 실행되지 않음
- 자바 가상 기계가 작동 중인 플랫폼에서 실행
- 자바 가상 기계가 인터프리터 방식으로 바이트 코드 해석
JVM(Java Virtual Machine)
- 자바 바이트 코드를 실행하는 자바 가상 기계(소프트웨어)
JDK(Java Development Kit)
- 자바 응용 개발 환경. 개발에 필요한 도구 포함
- 컴파일러, 컴파일된 자바 API 클래스들이 들어 있는 모듈 파일들, 샘플 등 포함
JRE(Java Runtime Environment)
- 자바 실행 환경. JVM 포함
- 컴파일된 자바 API 들이 들어 있는 모듈 파일
- 개발자가 아닌 경우 JRE만 따로 다운 가능
Comments