Inflearn Community Q&A
연산위치질문 있습니다.
Written on
·
315
0
객체 혹은 인스턴스는 실제 데이터가 저장된 메모리의 주소만 가지고있고, 실제 데이터는 메모리에 적재 된다 라고 이해했습니다. 맞을까요?
저장된 변수를 가져와 처리 (연산 등)을 하게 된다면 실제로 처리되는곳은 메모리상에서 데이터가 처리되는 것 일까요?
코드를 실행하면 컴파일러가 코드의 문법오류를 계산하고, class파일로 컴파일 한뒤 JVM 실행엔진에서 실행된다고 알고있는데, 데이터가 코드를 따라 연산되는곳은 실행엔진속 스택 혹은 힙 메모리 인가요?
Quiz
여러 학생의 이름, 나이, 성적을 각각의 배열로 따로 관리할 때 가장 어려운 점은 무엇인가요?
데이터 정렬이 힘들다.
학생 정보가 흩어져 관리가 불편하고 실수가 쉽다.
새 학생 추가 시 모든 배열 크기를 바꿔야 한다.
인덱스로 접근해야 해서 불편하다.
Answer 2
0
안녕하세요. 김도현님, 공식 서포터즈 코즈위버입니다.
.1 객체 혹은 인스턴스가 메모리에 생성되며(힙 영역) 이 메모리로 가기 위한 주소값을 참조변수에 담아 사용합니다.
네, 인스턴스(객체)를 수정하게 되면 메모리에 존재하는 데이터가 바뀝니다.
네 맞습니다. JVM내에 가상의 메모리 공간이 존재하며 이 공간에는 스택/힙 영역등이 구분되어 있습니다. 보통은 이런 메모리 관리를 OS레벨에서 하게 되나, JVM은 OS위에서 동작하는 가상 OS라고 생각하시면 됩니다.
감사합니다.
0
질문을하며 궁금해진부분이 많아 조금 공부해보았습니다.
제가 공부하며 정리한 바로는
모든 실제 데이터는 메모리에 저장되고,
이는 CPU에 의해 연산(처리) 되며
이때 처리되는 방식은 CPU가 프로그램 카운터에 따라
기계어를 읽고 필요한 데이터를 메모리로부터 가져와 연산하고 다시 메모리에 저장한다
이때 연산은 산술 논리장치에 의해 수행되며,
레지스터와 회로를통해 연산된다
인데 혹시 맞을까요?? 수정할부분이나 잘못된부분이 있다면 말씀해주시면 정말감사하겠습니다!
강사님덕에 자바공부가 너무 행복해졌어요
감사합니다 :)






안녕하세요 김도현님!
네 최종적으로 모든 프로그램은 메모리에서 CPU로 데이터를 불러와서(load) 해석하고(fetch) 실행하고 (execute) 메모리에 저장(write back) 하는 서클을 가집니다. 이처럼 CPU와 메모리가 분리된 형태를 '폰 노이만'구조라고 하는데요 이름 그대로 '폰 노이만'이 제시한 구조입니다.
지금 찾아보신 내용은 '컴퓨터구조' 에 대한 내용으로, 알아두시면 프로그램이 동작하는 원리를 이해하기 유리하실거에요.