JAVA2023. 1. 24. 21:03JVM 구조

클래스 로더 시스템 .class 에서 바이트 코드를 읽고 메모리에 저장. 로딩: 클래스 읽어오는 과정 링크: 레퍼런스를 연결하는 과정 초기화: static 값들 초기화 및 변수에 할당 메모리 메소드 영역 메소드 영역에는 클래스 수준의 정보(클래스 이름, 부모 클래스 이름, 메소드 ,변수) 저장. 공유 자원이다. 클래스의 필드, 메소드 정보, static 변수, 메소드와 생성자의 바이트코드, 각 클래스, 인터페이스에 관련된 런타임 상수풀이 저장 논리적으로 힙의 일부분이지만, 일반적으로 가바지 컬렉션 대상이 아니지만, JVM 벤더가 가비지 컬렉션 여부를 선택할 수 있다. Method Area는 JVM 벤더마다 다르지만, HotSpot에선 Permanent Generation 이라고 불린다. ava 8 부터는..

JAVA2023. 1. 24. 21:02JVM

자바 가상머신 으로 자바 바이트 코드를 OS 에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행한다. 바이트 코드를 실행하는 표준 (JVM자체는 표준)이자 구현체(특정 밴더가 구현한 JVM)다. JVM 스팩 : https://docs.oracle.com/javase/specs/index.html JVM 밴더 : 오라클, 아마존 , Azul, …. 특정 플랫폼에 종속적 JRE(Java Runtime Environment): JVM + 라이브러리 자바 애플리케이션을 실행할 수 있도록 구성된 배포판. JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있다. 개발 관련 도구는 포함하지 않는다.(그건 JDK에서 제공) JDK(Java Development..

자바 프로그래밍 시작하기
JAVA2023. 1. 24. 21:00자바 프로그래밍 시작하기

프로그래밍 이란? 프로그래밍: 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가는한 기계어로 만드는 일 컴파일러 : 기계어로 바꾸어 주는 프로그램 ( ex. 자바 컴파일러, gcc ) 자바 프로그래밍 자바의 역사 : 1991년 제임스 고슬링을 비롯한 선 마이크로 시스템스 연구원들이 처음 개발 가전, 휴대용 장치에 사용되는 소프트웨어 언어로 개발됨. 안정성이 중요 자바 프로그래밍의 특징 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다. 객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다. 프로그램이 안정적이다. 풍부한 기능이 제공되는 오픈 소스이다. 객체 지향 프로그래밍이 무엇인가? 프로그램의 구현을 시간의 흐..

image