Contents
컴퓨터가 켜질 때 OS에 필요한 데이터들을 하드스크 에서 RAM으로 가져오는데 이때 RAM의 반을 사용한다.(로딩)
프로세스: 메모리에서 실행 중인 앱 또는 파일
데몬 프로세스: 꺼지지 않고 계속 실행 중인 프로세스
정적 메모리
jvm이 코드를 읽을때 바이트 코드로 변환한다.
-static을 찾는다
-jvm은 메모리에서 공간을 3개로 나눠 쓴다.
Static은 main이 실행 되기 전에 입력한다.
package ex04; class Person1{ // class는 커스텀 자료형이다. static int age = 20; static char gender = '여'; } public class MemEx01 { public static void main(String[] args) { System.out.println(Person1.age); System.out.println(Person1.gender);
결과
동적 메모리
heap은 동적으로 띄우기 때문에 class이름으로 찾을 수 없다. 그러므로 변수(P2) 하나가 필요
* Person2 p2 = new Person2();
package ex04; class Person2 { int age = 10; char gender = '남'; } public class MemEx02 { public static void main(String[] args) { System.out.println("1년 지남"); System.out.println("2년 지남"); System.out.println("3년 지남"); Person2 p2 = new Person2(); System.out.println(p2.age); System.out.println(p2.gender); System.out.println("메인 종료"); } }
결과
Share article