본문 바로가기

Java/기본 구성 요소

(3)
[Java Basic] 가비지 컬렉션(Garbage Collection) 1. 가비지 컬렉션이란? - 가비지 컬렉션(Garbage Collection, 이하 GC)은 자바에서 중요한 메모리 관리 기술입니다. - 이 기술은 자바 가상 머신(JVM)의 힙 영역에 동적으로 할당된 메모리 중 사용하지 않게 된 객체를 찾아내어 제거하는 프로세스입니다. - 이는 프로그래머가 직접 메모리를 할당하고 해제하는 작업을 수행하지 않아도 되게 해주며, 이는 C / C++와 같은 언어에서는 필요한 수동적인 절차입니다. => 장점: Java 프로세스가 한정된 메모리를 효율적으로 사용할수 있게 하고, 개발자 입장에서 메모리 관리, 메모리 누수(Memory Leak) 문제에서 대해 관리하지 않아도 되어 오롯이 개발에만 집중할 수 있다는 장점이 있습니다. => 단점: 메모리가 정확히 언제 해제될지 알 수..
[Java Basic] 자바 가상 머신(Java Virtual Machine) 1. 자바 가상 머신(JVM)의 동작 방식 ① 개발자가 자바 프로그램을 실행하면, JVM은 OS로부터 메모리를 할당받습니다. ② 자바 컴파일러(javac)가 자바 소스코드(.java)를 자바 바이트 코드(.class)로 컴파일 합니다. ③ Class Loader는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크 하여 Runtime Data Area (실질적인 메모리를 할당 받아 관리하는 JVM 메모리 영역)에 올립니다. ④ Runtime Data Area에 로딩 된 바이트 코드는 Execution Engine을 통해 해석됩니다. ⑤ 이 과정에서 Execution Engine에 의해 Garbage Collector의 작동과 Thread 동기화가 이루어집니다. 2. 자바 가상 머신(JVM) 의 구조 다음은..
[Java Basic] 자바(Java Programming Language) 1. 자바란? - 객체지향적 프로그래밍 언어(OOP) 입니다. - 객체지향적 언어 OOP란, 프로그래밍에 사용 될 데이터의 상태와 행위를 객체로 만들어, 객체 간의 상호작용을 통해 비지니스 로직을 구성하는 프로그래밍 기법입니다. 2. 자바 언어의 특징 - 운영체제에 독립적입니다. => JVM (자바를 실행하기 위한 가상 머신) 에서 동작하기 때문에 특정 운영체제에 종속되지 않습니다. - 객체지향 언어입니다. => 객체 지향적으로 프로그래밍을 하기 위해 여러 언어적 지원을 하고 있습니다. (캡슐화, 상속, 추상화, 다형성 등) - 비교적 배우기가 쉽습니다. => 기본구문과 연산자는 C++ 에서 가져왔습니다. => 객체지향관련 구문은 스몰톡에서 가져왔습니다. => 즉, 여러 언어들의 장점만 취하..