Java 3

GC - Garbage Collection [가비지 콜렉션]

오늘은 자바의 특징중 하나인 GC(Garbage Collection) 즉, 가비지 콜렉션에 대해서 알아볼려한다. 우선 GC가 무엇인가 알아보자.1. GC란?JVM에 의해 구동되는 자바 프로그램은 메모리 관리를 개발자가 직접 명시적으로 수행하지 않고 자동 메모리 관리 기능을 지원한다. 가비지 컬렉션은 자바의 메모리 관리 방법 중의 하나로 자바 가상 머신의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 모아 주기적으로 제거하는 프로세스를 말한다. 2. GC가 등장하게 된 계기과거의 프로그래밍 언어들은 메모리 할당기능이 존재하지 않거나 프로그래머가 할당한 뒤 수동으로 해제까지 하는 방식으로 메모리를 관리하였다. 대표적인 예가 C와 C++이다. 두 언어에서는 OS 레벨의 메모리에 직..

Java 2024.07.05

JVM에 대해서.Araboza (feat.JAVA의 동작과정)

저번 포스팅에서 JAVA언어에 대해서 서술하고 특징에 대해서 알아보았다. JAVA 언어의 특징중에 독립적인 플랫폼이라는 내용이 있었고, 해당 내용중에 JVM이라는 것에 대해 언급이 있었는데,  오늘은 이 JVM이라는 놈에 대해서 알아볼려고 한다. 1. JVM 왜 있는건데?해당 JVM을 이해하기전에 때는 바야흐로 과거로 돌아가야 한다. JAVA라는 개발언어가 없고 C라는 개발 언어만 있을 당시 C언어의 개발 과정은 이러했다.   위 그림과 같이 개발이 되다보니 OS에 대한 종속성이 부족하게 된것이다. OS의 종속성이 부족하게 될시 어떤한 문제가 발생하는가에 대해서는 아래와 같이 서술한다. 보시다시피 해당 게임의 소프트웨어 서비스를 이용하기 위해서는 운영체제가 즉 OS가 Windows 10 64비트 이상 이..

Java 2024.06.21

JAVA란?

JAVA란?JAVA는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발되었지만 현재 웹 애플리케이션 분야에 가장 많이 사용하는 언어 중 하나이고, 안드로이드를 비롯한 모바일 기기용 소프트웨어 개발에도 널리 사용되고 있다. 현재 버전 20까지 출시했다. 자바의 개발자들은 유닉스 기반의 배경을 가지고 있었기 때문에 문법적인 특성은 파스칼이 아닌 C++의 조상인 C 언어와 비슷하다. 자바를 다른 컴파일 언어와 구분 짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점이다. 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트코드라는..

Java 2024.06.14