728x90

Language/Java 4

검색이 빠른 자료구조

O(1) > O(log n) > O (n) > O(n log n) > O(n^2) > O(n^3) > O(2^n) > O(n!) HashMap 단건 검색 시간 복잡도 : O(1) 범위 탐색 시간 복잡도 : O(N) 전방 일치 탐색 불가 ex) like 'AB%' List 정렬되지 않은 리스트 탐색 시간 복잡도 : O(N) 정렬된 리스트 탐색 시간 복잡도 : O(logN) 정렬 되지 않은 리스트 정렬 시간 복잡도 : O(N) ~ O(N * logN) 삽입/삭제 비용이 매우 높다 Tree 트리 높이에 따라 시간 복잡도 결정 트리의 높이를 최소화 하는 것이 중요! 한쪽으로 노드가 치우치지 않도록 균형을 잡아 주는 트리 사용 ex) Red-Black Tree, B+Tree B+Tree 삽입/삭제시 항상 균형을 ..

Language/Java 2023.07.12

버퍼링(Buffering)과 스트림(Stream)

버퍼링(Buffering)과 스트림(Stream)은 데이터를 효율적으로 처리하기 위한 개념입니다. 버퍼링(Buffering) 효율성 메모리 영역인 버퍼(Buffer)는 데이터를 일시적으로 저장하는 임시 공간입니다. 버퍼는 데이터를 한 곳에서 다른 곳으로 전송하는 동안에 사용되며, 데이터를 효율적으로 처리하기 위한 중간 저장소 역할을 합니다. 버퍼의 주요 목적은 데이터 전송의 효율성을 높이는 것입니다. 입출력 작업이나 네트워크 통신 등의 데이터 전송은 데이터를 작은 단위로 나누어 전송하는 것이 일반적입니다. 이렇게 작은 단위로 나누어 전송하면, 데이터를 한 번에 읽거나 쓰는 것보다 성능이 향상될 수 있습니다. 버퍼를 사용하면 작은 데이터 단위를 모아서 한 번에 처리할 수 있습니다. 데이터를 일시적으로 버퍼..

Language/Java 2023.07.01

JVM 메모리 구조

소개 JVM(Java Virtual Machine)은 자바 프로그램을 실행하기 위한 가상 머신입니다. 이 블로그 포스트에서는 JVM의 메모리 영역 구조와 각 영역의 역할에 대해 자세히 알아보겠습니다. 메서드 영역 (Method Area 또는 Class Area) JVM이 시작될 때 생성되며, 모든 스레드가 공유하는 영역입니다. 클래스 파일의 정보, 상수, 메서드 코드 등이 저장됩니다. 클래스 로더에 의해 로딩된 클래스들의 정보와 정적 변수(static variables)가 할당됩니다. PermGen 영역이라고도 불리며, Java 7 이전 버전에서는 PermGen 영역에 존재했지만, Java 8부터는 Metaspace 영역으로 대체되었습니다. 힙 (Heap) 객체 인스턴스와 배열이 동적으로 할당되는 영역입..

Language/Java 2023.06.10

클래스(class), 객체(object), 인스턴스(instance) 차이

Object_객체 Class의 Instance나 Array를 말한다. 즉 어떤한 것을 정의 할수 있는 모든 것을 뜻한다. 자동차, 컴퓨터, 사람, 개념 등 Class_클래스 객체를 정의 하는 틀 또는 설계도 이다. Instance_인스턴스 Class 타입의 Object를 인스턴스 라고 합니다. 메모리에 할당된 객체 // 클래스 public Class Earth{ private String name; private int width; } // obj -> 인스턴스 Object obj = new Earth();참고 -- 코딩하는 보디 빌더 Java/Study

Language/Java 2023.04.16
728x90