(컴퓨터 언어)Java3 JVM이란?. Java Virtual Machine(JVM)은 Java 애플리케이션을 실행하는데 필요한 가상 머신입니다. JVM은 자바 코드(.java 파일)를 바이트코드(.class 파일)로 컴파일한 후 이를 운영체제에 맞게 해석하고 실행합니다. JVM의 주요 역할 요약바이트코드를 운영체제에 맞는 기계어로 변환하여 실행메모리 관리리소스 관리JVM의 구성 요소ClassLoader:자바 클래스 파일(.class)을 메모리로 로드하는 역할을 합니다. ClassLoader는 프로그램이 실행될 때 필요한 클래스들을 동적으로 로드하며, 이를 통해 자바는 런타임 시에도 새로운 클래스를 로드할 수 있습니다.Runtime Data Areas (런타임 데이터 영역):JVM이 실행될 때 메모리를 여러 영역으로 나누어 관리합니다.Meth.. 2024. 9. 15. 데이터 불일치 문제 피하기 : 자바에서 스레드 동기화를 하는 3가지 방법 멀티 스레드는 왜 필요할까? 멀티 스레드(multi thread)란 하나의 프로세스 내에 둘 이상의 스레드가 동시에 작업을 수행하는 것을 말한다. 멀티 프로세스(multi process)란 여러 프로세스를 동시에 수행하는 것을 의미한다. 멀티 스레드가 단일스레드와 멀티 프로세스에 비해 가지는 이점은 무엇일까? 1. 성능 개선 : 병렬 처리를 통한 응답속도와 처리량 향상 멀티 코어 프로세서를 이용할 수 있게 되면서 병렬 처리가 가능해졌다. 병렬 처리로 여러 개의 작업을 물리적으로 동시에 실행시켜서 응답속도와 처리량을 향상시킬 수 있게 되었다. 2. 자원 절약 : 프로세스보다 적은 메모리 및 시스템 자원 소비 프로세스는 1개 생성 시, 스태틱 영역(메소드 영역), 힙 영역, 스택 영역에 관해 모두 메모리를 .. 2023. 8. 14. java.util.Stack, 실제로는 잘 사용하지 않는 이유는? 스택이란 무엇일까? 스택이란 나중에 들어온 요소가 먼저 나오는 선형 자료구조이다. 즉 LIFO(last-in first-out, 후입선출)을 만족한다. 여기서 선형 자료구조란 데이터들 간의 앞뒤 관계가 1:1의 선형관계로 되어 있는 자료구조이다. 스택을 구현하려면 일반적으로 다음과 같은 메소드를 구현해야 한다. push() : 데이터 삽입 pop() : 가장 위쪽에 있는 데이터 즉, 가장 나중에 넣은 데이터 꺼내서 반환 peek() : 가장 위쪽에 있는 데이터 반환 size() : 스택에 있는 데이터의 개수 isEmpty() : 스택이 비어있는지 여부 Java 에서 제공하는 java.util.Stack 클래스는 디자인이 잘못되어, 보통의 엔터프라이즈 환경에서는 잘 사용하지 않는다. 왜 그럴까? 엔터프라이.. 2023. 7. 31. 이전 1 다음