Programming 14

[페이지 교체 알고리즘] LRU (Least Recently Used) 캐시 알고리즘

개념 정의 페이징 기법으로 메모리를 관리하는 운영체제에서, 페이지 부재가 발생해 새로운 페이지를 할당하기 위해 현재 할당된 페이지 중 어느 것과 교체할 지를 결정하는 방법 종류 FIFO (First In First Out) 새 페이지가 추가될 때, 현재 주기억장치에 들어가있는 페이지 중 가장 먼저 들어가있던 페이지를 교체한다. LFU (Least Frequently Used) 새 페이지가 추가될 때, 가장 적은 참조횟수를 갖는 페이지를 교체한다. 가장 적은 참조횟수를 가진 페이지가 여러 개일 경우, LRU 기법에 따라 페이지를 교체한다. LRU (Least Recently Used) 새 페이지가 추가될 때, 가장 오랫동안 참조되지 않은 페이지를 교체한다. < LRU (Leas..

[JAVA] LinkedHashMap의 사용

LinkedHashMap Map 인터페이스를 구현한 클래스 중 하나로, Map에 입력된 순서를 기억하는 자료구조이다. HashMap을 확장한 구조로, HashMap의 특성에 순서가 보장된다는 특성이 추가된 자료구조이다. ( 순서가 지정되어 있기 때문에 HashMap 보다 더 많은 메모리가 필요하다.) LinkedHashMap에 저장되는 키와 값은 Map.Entry 클래스를 구현한 Node 클래스에 저장된다. Node 클래스에는 before, after 멤버가 있는데, LinkedHashMap에 입력된 순서에 따라 연결 리스트 구조를 형성한다. 참고 : https://hbase.tistory.com/136 LinkedHashMa..

Programming/JAVA 2024.04.18

[JAVA] Map을 Value(값) 기준으로 정렬하는 방법

로직 정렬할 Map의 Key들로 ArrayList 객체를 만들어주기 map.KeySet()를 생성자의 매개변수로 전달해 ArrayList 객체를 만들어준다. Collections.sort()를 활용해 Key가 담긴 List를 Map의 값 기준으로 정렬해준다. Collections.sort의 매개변수로 List 객체만 넘길 경우에는 list에 담긴 값들을 오름차순으로 정렬한다. 정렬 기준을 사용자 정의로 하기 위해서는 List 객체와 함께 람다식으로 정렬 기준을 함께 넘겨준다. Collections.sort(리스트 객체, 람다식) 코드 import java.util.*; class Solution { public static void main(String[] args){ // 0. Map 객체 선언 Map..

Programming/JAVA 2024.04.06

[ JAVA ] 윈도우에 OpenJDK 17 설치하기

압축파일 다운로드 및 설치 1. 아래 URL을 통해 Open JDK 17의 압축파일을 다운로드 한다. https://jdk.java.net/java-se-ri/17 Java Platform, Standard Edition 17 Reference Implementations Java Platform, Standard Edition 17 Reference Implementations The official Reference Implementation for Java SE 17 (JSR 392) is based solely upon open-source code available from the JDK 17 Project in the OpenJDK Community. The binaries are availa..

Programming/설치 2024.02.26