분류 전체보기 12

[JAVA] 자바 가상 머신 (JVM) 이란?

시스템 메모리를 관리하면서, 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다.JVM은 다른 프로그램을 실행시키는 것이 목적이다.갖춘 기능으로는 크게 2가지로 말할 수 있다.1. 자바 프로그램이 어느 기기나 운영체제 상에서도 실행될 수 있도록 하는 것2. 프로그램 메모리를 관리하고 최적화하는 것JVM은 코드를 실행하고, 해당 코드에 대해 런타임 환경을 제공하는 프로그램에 대한 사양이다.JVM은 보통 어떤 기기상에서 실행되고 있는 프로세스, 특히 자바 앱에 대한 리소스를 대표하고 통제하는 서버를 지칭한다.자바 애플리케이션을 클래스 로더를 통해 읽어들이고, 자바 API와 함께 실행하는 역할. JAVA와 OS 사이에서 중개자 역할을 수행하여 OS에 구애받지 않고 재사용을 가능하게 해준다.JVM에..

언어 2024.07.24

[이것이 코딩테스트다] Chap07. 이진탐색

1. 범위를 반씩 좁혀가는 탐색 1) 순차탐색(Sequential Search) - 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법. 보통 정렬되지 않은 리스트에서 데이터를 찾아야할 때 사용함. - 데이터 정렬 여부와 상관없이 가장 앞에 있는 원소부터 하나씩 확인해야 한다는 점이 특징. - 데이터 개수가 N개일 때 최대 N번의 비교 연산이 필요하므로 순차 탐색의 최악의 경우 시간 복잡도 ==> O(N) 2) 이진 탐색(Binary Search): 반으로 쪼개면서 탐색하기 - 배열 내부의 데이터가 정렬되어 있어야 사용할 수 있는 알고리즘. - 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 특징이 있음. - 탐색하고자 하는 범위의 시작점, 끝점, 중간점 3개의 ..