Study

· Study/Java
Collection Framework란 ? 컬렉션 프레임워크(Collection Framework) 란 다양한 컬렉션(데이터의 집합)을 다루기 쉽게 클래스/인터페이스로 표준화 한 것을 말한다. 컬렉션을 다루는 다양한 클래스를 정의해놓아서 사용자는 데이터를 다루는 기능을 별도로 구현할 필요가 없고, 다형성이 보장되어 있어서 구현체가 변경되어도 기존 기능을 문제 없이 사용할 수 있다 (ex) ArrayList -> LinkedList) 컬렉션 프레임워크의 대표적인 인터페이스로는 List, Set, Map, Queue가 있고 각각을 구현하는 여려 클래스가 존재한다. List, Set, Queue는 공통 기능을 추출한 Collection 인터페이스를 상속하고 있지만, Map은 구조적 특성으로 인해 독립적으로 정..
· Study/Java
JVM이란 ? JVM이란 Java Virtual Machine의 약자로 자바 바이트 코드를 읽어서 기계어로 변환하고 실행시키는 역할을 한다. Java는 윈도우, 리눅스 등 어떠한 OS에서도 독립적으로 실행할 수 있는데, 이것이 가능한 이유는 JVM이 OS와 애플리케이션 중간에서 중재자 역할을 하며 OS에 맞는 기계어로 번역해주기 때문이다. (단, JVM은 OS 별로 존재한다) JVM은 javac 컴파일러로 컴파일된 바이트 코드(.class)를 읽어서 OS에게 할당받은 메모리 영역에 넣어두고, 동적으로 바이트 코드를 읽어서 네이티브 언어로 해석한 뒤 실행시킨다. 이외에도 Garbage Collector를 통한 메모리 관리, 네이티브 메서드 지원, 멀티 스레드를 지원하는 등 많은 역할을 한다. JVM 구조 ..
· Study/Etc
디자인 패턴이란 ? 디자인 패턴이란 개발 과정에서 자주 발생하던 문제에 대한 해결책을 재사용 가능한 형태로 정리해 놓은 검증된 설계 방법 또는 솔루션이다. 디자인 패턴의 장점으로는 일관된 구조를 사용하기 때문에 팀원 간 의사소통을 쉽게 만들어주고 유지보수성이 좋다. 또한 검증된 방법이기 때문에 신뢰하고 애플리케이션을 개발할 수 있고, 시스템의 확장성이 높아진다. 디자인 패턴은 크게 생성 패턴, 구조 패턴, 행위 패턴 3가지가 있다. 이번 게시글에서는 행위 패턴의 종류에 대해 간략히 알아본다. 행위 패턴 행위 패턴은 객체 간의 상호 작용하는 방법과 책임을 분배하는 방법에 중점을 두는 디자인 패턴이다. 주요 패턴으로는 옵저버, 커맨드, 이터레이터, 전략, 템플릿 메서드 패턴이 있다. 옵저버 (Observer..
· Study/Etc
디자인 패턴이란 ? 디자인 패턴이란 개발 과정에서 자주 발생하던 문제에 대한 해결책을 재사용 가능한 형태로 정리해 놓은 검증된 설계 방법 또는 솔루션이다. 디자인 패턴의 장점으로는 일관된 구조를 사용하기 때문에 팀원 간 의사소통을 쉽게 만들어주고 유지보수성이 좋다. 또한 검증된 방법이기 때문에 신뢰하고 애플리케이션을 개발할 수 있고, 시스템의 확장성이 높아진다. 디자인 패턴은 크게 생성 패턴, 구조 패턴, 행위 패턴 3가지가 있다. 이번 게시글에서는 구조 패턴의 종류에 대해 간략히 알아본다. 구조 패턴 구조 패턴은 클래스나 객체를 조합해서 더 큰 구조로 만들거나 인터페이스를 제공하는 디자인 패턴이다. 주로 상속이나 구성(Composition)을 통해 클래스를 조직화해서 새로운 기능을 제공하거나, 인터페이..
· Study/Etc
디자인 패턴이란 ? 디자인 패턴이란 개발 과정에서 자주 발생하던 문제에 대한 해결책을 재사용 가능한 형태로 정리해 놓은 검증된 설계 방법 또는 솔루션이다. 디자인 패턴의 장점으로는 일관된 구조를 사용하기 때문에 팀원 간 의사소통을 쉽게 만들어주고 유지보수성이 좋다. 또한 검증된 방법이기 때문에 신뢰하고 애플리케이션을 개발할 수 있고, 시스템의 확장성이 높아진다. 디자인 패턴은 크게 생성 패턴, 구조 패턴, 행위 패턴 3가지가 있다. 이번 게시글에서는 생성 패턴의 종류에 대해 간략하게 알아본다. 생성 패턴 생성 패턴은 객체의 생성과 초기화에 관련된 패턴으로, 클래스의 인스턴스화를 다양한 방법으로 다루기 위한 디자인 패턴이다. 주로 객체 생성과 관련된 복잡성을 줄이고, 객체의 종류를 시스템에서 유연하게 확장..
CPU 스케줄러 및 스케줄링 알고리즘 CPU는 코어 1개마다 하나의 프로세스만 실행할 수 있고 동시에 여러개의 프로세스를 실행할 수 없다. 우리는 평소 여러개의 프로그램을 동시에 실행하며 컴퓨터를 하기에, 하나의 코어에 여러개의 프로세스를 동시에 실행하는 것 처럼 보이지만 이는 CPU가 Context Switching을 통해 여러개의 프로세스를 아주 짧은 시간 동안 번갈아가며 동시에 실행되는 것 처럼 보이게 하는 것이다. (코어가 2개 이상이고 프로세스가 서로 다른 코어에서 실행된다면 실제로 동시 실행된다 할 수 있다.) 즉, 동일 코어 내에서 특정 시점에는 하나의 프로세스만 CPU를 할당받는다. 이렇게 CPU는 여러 작업을 조금씩 나눠서 실행해야 하기 때문에 Ready Queue라는 대기열을 만들고 프..
jonghne
'Study' 카테고리의 글 목록 (2 Page)