본문 바로가기

PL(ProgrammingLanguage)/JAVA

간단 용어 정리

 

 

 

 

1. JDK (자바 개발 도구)

 

JDK(Java Devleopment Kit의 줄임말)은

자바프로그램을 개발할 수 있는 실행할 수 있는 (JVM)과

개발 도구(컴파일러)등을 제공

 


 

 

2. 환경 변수

 

운영체제가 실행하는 데 필요한 정보를 제공해주는 변수를 지칭

JDK를 설치한 후, CMD(명령 프롬프트)에서 

javac(컴파일러)와 java(실행) 명령어를 사용하려면

 

-- 내PC > 속성 > 환경변수 설정으로 들어가

" JAVA_HOME " 환경변수를 등록하고

Path 환경 변수를 수정해야 한다.

 

 

 

 

 


 

 

 

 

3. 컴파일 (Compile)

 

프로그래밍 언어의 역할 

 

사람이 알아볼 수 있는 단어로 작성된 언어를

컴퓨터가 이해하는 언어로

변환하는 작업을 " COMPILE " 이라 한다.

(컴퓨터가 읽을 수 있는 비트형태로 편집하는 과정)

 

이렇게 편집하는 도구는

 

"컴파일러 (Compiler)" 라 한다.

 

각 프로그래밍 언어는 각자의 번역기인 컴파일러를 가지고 있다.

 

 

 

 

 


 

 

4. 프로그래밍 언어의 종류

 

* 스크립트 언어

 

한꺼번에 기계어로 번역하지 않고, 실행할 때마다 번역 

(그래서 코드가 짧고 간단하다)

대표적인 스크립트 언어 - JavaScript/ Python

 

* 마크업 언어

 

정보를 전달하기 위한 '틀' 을 제공

대표적인 마크업 언어 - HTML

 

* 프로그래밍 언어는 컴퓨터가 할 "행동"을 정의 한다.

 

 

 


 

 

 

 

5. JVM(Java Virtual Machin)

 

자바 프로그램은 완전한 기계어가 아닌 중간 바이트코드이기 때문에

이것을 해석하고 실행할 수 있게 해주는 가상의 운영체제

 

**JVM의 메모리 영역

 

1) 메소드 영역

클래스(~.class)들을 클래스 로더로 읽어 클래스 별로

런타임 상수 풀, 필드 데이터, 메소드 데이터, 메소드 코드, 생성자 코드 등을 분류해서 저장한다.

 

2) Heap 영역

객체와 배열이 생성되는 영역

(런 타임에 크기가 결정됨)

JVM 스택영역에서 생생된 변수나 다른 객체의 필드에서 

이곳에 있는 객체와 배열을 참조한다.

 

선입선출(FIFO, First-In First-Out)의 방식으로, 

가장 먼저 들어온 데이터가 가장 먼저 인출 된다.

(이는 힙 영역이 메모리의 낮은 주소에서 높은 주소의 방향으로 할당되기 때문)

즉, 위(낮은 주소)부터 차곡차곡 아래(높은 주소) 방향으로 데이터가 쌓인다고 생각하면 된다.

 

3) JVM Stack 영역

 

 프로그램이 자동으로 사용하는 임시 메모리 영역 

(컴파일 타임에 따라 크기가 결정됨)

스레드마다 하나씩 존재

스레드가 시작될 때마다 JVM 스택 영역이 할당된다.

 

함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 영역이고, 

함수 호출이 완료되면 사라진다.

 

 후입 선출(LIFO, Last-In First-Out) 의 방식으로,

가장 나중에 들어온 데이터가 가장 먼저 인출 된다.

(이는 스택 영역이 메모리의 높은 주소에서 낮은 주소의 방향으로 할당 되기 때문)

'PL(ProgrammingLanguage) > JAVA' 카테고리의 다른 글

java.lang.Object  (0) 2021.08.03
Java.lang 패키지  (0) 2021.08.03
컴퓨터의 단위  (0) 2021.07.31
프로그래밍 언어 - 자바  (0) 2021.07.31
오버라이딩의 조건  (0) 2021.04.07