지니, 개발하다.

[Java] CH01. 자바의 구조 본문

Study/JAVA

[Java] CH01. 자바의 구조

dev.genii 2022. 9. 6. 23:50

CH01. 자바의 구조

Java의 특징 및 자바 개발환경에 필요한 요소, 프로세스, 메모리 구조에 대해서 알아본다.

1. 자바의 특징

프로그래밍 언어인 Java의 가장 큰 특징은
자바 가상머신을 사용하여 어떤 OS에서도 개발이 가능한 플랫폼 독립성 이다.

이 외에도 객체지향 언어,함수형 코딩 지원,분산처리 지원,멀티쓰레드 지원 등이 있다.

2. 자바 프로그램 개발환경에 필요한 요소

: 자바개발도구JDK > 자바개발환경JRE > 자바가상머신JVM

자바 개발 도구 JDK 란 자바를 이용해 프로그램을 개발하는데 필요한 도구를 모아둔 집합과 같다.

  • 컴파일러, 디버거

자바 개발 환경 JRE 란 완성된 프로그램을 실행하는데 필요한 환경을 말한다.

  • 클래스 로더, 자바 API, 런타임 라이브러리

3. Process

  1. 자바 프로젝트 폴더 생성/실행
  2. 패키지 생성
    src 폴더 생성 : 소스파일 저장
    bin 폴더 생성 : 바이트코드 저장
  3. 자바소스파일 .java 생성
  4. 컴파일 후 바이트코드 .class 생성
    자바는 객체지향 언어이기때문에 소스파일명과 클래스명이 같아야 함
  5. 자바가상머신JVM에서 메모리 할당
  6. 메서드 영역에 class 로딩 후 class내 main() 실행

4. 자바의 메모리구조

클래스/메소드/정적/상수 영역 : class, method, static ~, final을 저장한다.

  • 가장 이름이 다양하게 붙어있는 영역으로, 저장하는 것에 따라 이름을 붙여 표현하기도 함

스택 영역 : 모든 지역변수가 저장되는 영역이다.

힙 영역 : 참조변수가 바라보는(가리키는) 실제 데이터가 저장되며, 객체가 저장되는 영역이다.

Comments