전체 글
-
[live-study] 1: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.개발/Java 2020. 12. 23. 19:49
백기선님이 진행하시는 live-study 1주차 과제 1주차 과제 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 JVM(Java Virtual Machine) 은 하나의 추상 컴퓨팅 머신이라고 생각할 수 있다. 컴퓨터 CPU안에 Instruction Set 이라고 하는 명령어 집합이 있는데, JVM에도 있다. 그리고 운영체제가 메모리를 관리하듯 JVM도 메모리를 관리한다. JVM이라는 추상 컴퓨팅 머신을 가짐으로써 얻는 이점이 무엇일까? 만약 C언어로 작성한 파일이 윈도우에서 동작하더라도, 리..
-
일급 컬렉션개발/Java 2020. 12. 23. 13:34
일급 컬렉션 참고: jojoldu님 블로그 블로그 원문을 공부하면서 개인적으로 이해를 위해 필기한 글입니다. 연습하며 작성한 코드 일급 컬렉션이란? public class Station { List stations = new ArrayList(); // ... } 컬렉션을 wrapping 하는 것을 말한다. 콜렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 콜렉션은 그 자체로 포장되어 있으므로 콜렉션과 관련된 동작 근거지가 마련된 것이다. 필터가 이 새 클래스의 일부가 될음 알 수 있다. 필터는 스스로 객체가 될 수 있다. 두 그룹을 묶는 등 그룹의 각 원소에 규칙을 적용하는 등의 동작을 처리할 수 있다. 장점 비즈니스에 종속적인 자료구조 Collection의 불변성 보장 상태와 행위를..
-
[객체지향의 원리와 이해] (02) 자바와 절차적/구조적 프로그래밍개발/OOP, Design Pattern 2020. 12. 23. 01:16
깃허브 자바와 절차적/구조적 프로그래밍 변수가 어떻게 메모리에 저장되고 사용되는지와 메서드가 어떻게 호출되고 메모리에 어떤 변화를 일으키는지 살펴본다. 자바 프로그램의 개발과 구동 JVM의 존재와 역할을 아는 것은 자바 개발 환경을 이해하기 위해 필수이다. JVM은 가상 기계이고 현실세계와 가상세계를 비교하면 다음과 같다. 현실세계 - 가상세계 SW 개발도구 - JDK (JVM용 SW 개발 도구) 운영체제 - JRE (JVM용 OS) 하드웨어 - JVM (가상의 컴퓨터)(윈도우 JDK) JDK는 javac.exe를 포함하고, 이를 통해 컴파일해서 만들어진 목적 파일을 자바 가상 기계가 실행한다. 자바 메모리 구조 메모리는 |코드 영역|데이터 저장 영역| 으로 나눌 수 있고, 그 중에 데이터 저장 영역은 ..