본문 바로가기
  • 장원익 기술블로그

자바3

[알고리즘-PS] Java 에서 스택을 구현하는 방법 이 글은 Stack의 실질적 사용보다는 자바에서 스택을 구현하는 것에 목적을 두었습니다. 만약 자바에서 어떻게 스택이 사용되는지 궁금하다면 변수가 메모리에 담기는 과정 스택 프레임 또는 JRE와 JVM이 어떻게 실행될까?의 글을 가볍게 읽고 와 주시는 것을 추천드립니다. 스택 Stack 기술 스택 (목적을 달성하기 위해서 습득하기 위한 기술을 단계적으로 쌓아 올리는 것) 등에 쓰이는 말인 스택은 무언가를 쌓아 올린다 라는 표현으로 이해해도 무방하다. 스택은 데이터를 일시적으로 저장하기 위해 탄생한 자료구조로, 가장 나중에 넣은 데이터를 가장 먼저 꺼낸다. 이를 전문 용어로 후입선출 (LIFO, Last In First Out) 이라고 한다. 푸시 (PUSH) 스택에 데이터를 넣는 작업을 뜻 한다. 팝 (.. 2020. 2. 14.
[Java 심화] 변수가 메모리에 담기는 과정과 스택 프레임과 만남 이번 시간에는 바로 전에 말 했던 메모리와 JRE, JVM의 관계 에서 조금 더 깊게 들어가서 스택 프레임이 어떻게 생기고 스택 프레임이 어떤 과정으로 사라지며, static 영역에는 어떤 데이터가 담기는지 정확히 알아보자. 스택 프레임의 생존 기간 스택 프레임의 생존 기간에 대해 정확히 알아보자. public class Post02 { public static void main(String[] args) { System.out.println("hello"); } } class Post03 { void greeting(){ } void sayHello(){ } } 위와 같은 코드에서 데이터 메모리 구조를 정확하게 그려보자면 static 영역에는 Post02, Post03가 담기는 다음과 같은 구조가 될 .. 2019. 12. 21.
[Java 심화] JRE와 JVM은 어떻게 Java 코드를 실행시킬까? 학습 목표 우리가 자바를 배우는 동안 실습에만 중심을 뒀었지 컴퓨터 내부적으로 JRE는 어떻게 돌아가고 JVM은 어디서 실행되며, JDK는 왜 쓰이는지에 대해서 학습할 비중이 매우 적었다. 이제 제대로 한 번 알아 보고, 프로그램이 어떻게 메모리에 적재되며 어떤 데이터가 어떤 메모리에 올라갈 지를 학습해 보는게 폭표이다. JRE와 JVM이란 뭘까? JVM (Java Virtual Machine) 과 JRE (Java Runtime Environment) 추가적으로 JDK (Java Development kit) 까지. 해당 의미를 정확히는 몰라도 Java 개발자라면 한 번쯤 들어봤을 것이다. 이는 각각 JVM : 자바 소프트웨어 개발 도구 JRE : 자바용 OS JDK : 가상 PC 을 의미한다고 알고 .. 2019. 12. 21.