분류 전체보기(219)
-
메모리 구조
프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 Load(적재)되어야하며, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 컴퓨터 운영체제에서는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하는데, 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간에는 다음의 영역들이 존재한다. Code 영역 Data 영역 Stack 영역 Heap 영역 Code 영역 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 한다. CPU는 코드영역에 저장된 명령어를 하나씩 가져가서 처리 Data 영역 프로그램의 전역 변수와 정적 변수가 저장되는 영역이다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램 종료시 함께 소멸 Stack 영역 함수 호출과 관계되는 지역변수, 매개변수가 저장되..
2020.12.15 -
2주차 과제: 자바 데이터 타입, 변수 그리고 배열
목표 자바의 Primitive 타입, 변수, 배열의 사용 방법을 익힙니다. 학습할 것 프리미티브 타입의 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언 타입 추론, var 1. 프리미티브 타입의 종류와 값의 범위 그리고 기본값 자바의 데이터 타입에는 크게 Primitive type 과 Reference type으로 나뉘어 집니다. 이 둘의 가장 큰 차이점은 "메모리 참조 타입"입니다. 프리미티브 타입의 경우, 변수 선언시 메모리에 공간이 할당 되는데 직접 데이터를 담습니다. 레퍼런스 타입의 경우, 변수 선언시 다른 곳을 참조하는 주소값을 담습니다. 2. 프리..
2020.12.15 -
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가?
목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해 학습할 것 JVM이란 무엇인가? 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가? JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 1. JVM이란 무엇인가? JVM (Java Virtual Machine)이란, 자바 바이트 코드를 OS에 맞게 해석해 주는 역할을 한다. 자바 컴파일러(javac.exe)는 .java파일을 .class라는 자바 바이트 코드로 변환시켜 주지만 바이트 코드는 기계어가 아니기 때문에 OS에서 바로 실행되지 않는데, JVM이 OS가 바이트 코드를 이해할 수 있도록 해석해주는 역할을 한다. 하지만 JVM의 해석을 거치기 때문에 속도가 느려진다는 단점이 생기는데, 이는 JIT(..
2020.12.15