본문 바로가기

언어/Java4

[메모리 구조] 일반변수와 레퍼런스변수 변수 선언 타입 변수; ex) int num; 변수 초기화(메모리에 할당) 타입 변수 = 값; ex) int num = 10; 여기서 num은 일반변수 / d는 레퍼런스변수(참조변수) 메서드 자바에서 손님이나 커피 머신이라는 타입은 없다. 그래서 Class로 만들어야 한다. 커피 마시기, 커피 만들기 같은 행위를 Method라고 한다. 메서드는 클래스가 들고 있는 행위이다. Stack 메모리 Queue / Stack 예시 main 메서드 코드영역 오픈 – 19번 실행, 20번 실행, 21번에서 a메서드 호출 a 메서드 코드 영역 오픈 – 6번에서 b메서드 호출 b 메서드 코드 영역 오픈 - 13,14,15번 실행 b메서드가 다 실행되고 쓸모가 없어지면 빠져나온다 이를 pop이라고 .. 2022. 1. 24.
[JVM]자료형 창고 1칸당 사과가 3.5개가 들어간다. 3개를 하면 낭비가 되고, 4개는 들어가지 않으니 2칸을 사용하여 딱 맞게 넣어야지 자바에서는 포장이 미리 설정되어 있다. 이것이 자료형이다. 256(영어 한문자)= 2의8승 = 8bit로 하자 == 1byte로 하자 (4byte) int n1=1000; - 0번지 (8byte) double 공간 부족 (2byte) char c1=‘가’; - 4번지 n1은 0번지에서부터 4칸 c1은 4번지에서부터 2칸 개발자는 번지수를 찾을 필요없이 변수로 값을 찾을 수 있다. 커스텀 자료형 MyVar은 클래스 자료형 = 개발자가 만든 커스텀 자료형 여러가지 데이터를 가지고 있는 클래스를 Beans라고 한다. new Note(); // heap 공간에 Note 클래스가 가지고 있.. 2022. 1. 24.
[JVM]static heap stack 메모리는 컴퓨터의 저장 영역이다. 서랍처럼 있는데 그곳에 데이터를 넣어둘 수 있다. 그리고 그 서랍에는 각자의 주소가 있다. 연산을 할때 cpu가 필요하다. 커피 빨리 마시기 게임을 예로 설명해보자 참가자는 커피머신에 가서 커피를 받아와서 커피 마시기(행위)를 한다. 그리고 그 시간을 체크한다. 여기에서 커피머신,참가자,커피,시간 모두가 메모리에 올라와야한다. 왜? 메모리에 올라와야 연산을 할 수 있기 때문에 -커피머신: 게임 시작전부터 끝까지 있어야한다.( static 영역 ) =>생명주기가 길다. 부하가 제일 크다. -참가자, 커피: 게임이 시작할 때 메모리(heap영역)에 올라오지만 커피를 다 마시고 전광판에 기록되는 순간 필요 없게 되며 heap영역에서 사라진다. 동적으로 메모리에 떴다가 어느 순.. 2022. 1. 24.
[JVM]JDK 키보드/마우스 입력 - RAM 저장 - CPU 연산 - 모니터 출력 - 하드디스크 저장 RAM: 전류 이용 데이터 임시적 저장 -> 컴퓨터가 종료되면 데이터가 소멸 HDD(하드디스크): 전류이용x 예를 들어 돌에 스크래치를 낸다(기록에역할) 레코드판처럼 스크래치를 내서 저장한다. 영구적 저장 -> 컴퓨터가 종료되어도 데이터가 살아있다. 컴퓨터가 부팅이되면 하드디스크에 데이터를 RAM에 적재한다. 1.키보드. CPU. RAM. 하드디스크. 모니터 (하드웨어) 2.window. Mac. 우분투(리눅스) (운영체제) 일반인이 하드웨어를 통해서 제어하는 것은 어렵다. 그래서 그 중간에 운영체제가 있다. 사용자는 키보드라는 인터페이스로 운영체제에 명령을 하고 운영체제가 HDD에 저장한다. 운영체제가 HDD에 하는.. 2022. 1. 24.