2주차 WIL

김도엽·2022년 5월 22일
0

항해

목록 보기
2/5

- OOP

객체 지향 프로그래밍

OOP는 말 그대로 객체 단위로 프로그래밍을 하는 것을 뜻한다.
절차지향처럼 함수의 메모리를 포인터로 사용하는것과는 다른, 객체 메모리 안에 메서드들이 들어있다.
무언가 구현을 시작했을때, 전체적인 구조를 잘 생각하고 짜면 짤수록 효율이 좋은 아웃풋이 나올 것 같다.

출처 및 +@ : https://velog.io/@gparkkii/oop00

JVM

JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다.
JVM의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 JAVA와 OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리관리, Garbage collection을 수행한다. 그리고 JVM은 스택기반의 가상머신이다. ARM 아키텍쳐 같은 하드웨어는 레지스터 기반으로 동작하는데 비해 JVM은 스택기방으로 동작한다.

실행 과정

1. 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로하는 메모리를 할당받는다.
JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.
2. 자바 컴파일러(javac)가 자바 소스코드(.java)를 읽어들여 자바 바이트코드(.class)로 변환 시킨다.
3. Class Loader를 통해 class파일들을 JVM으로 로딩한다.
4. 로딩된 class 파일들은 Execution engine을 통해 해석된다.
5. 해석된 바이트코드는 Runtime Data Areas에 배치되어 실질적인 수행이 이루어지게 된다.
이러한 실행과정 속에서 JVM은 필요에 따라 Thread Synchronization과 GC같은 관리 작업을 수행한다.

출처 및 더 많은 자료 : https://asfirstalways.tistory.com/158

profile
즐거운

0개의 댓글