본문 바로가기

전체 글

(49)
멀티스레드의 개념 멀티스레드를 설명하기에 앞서 프로세스와 스레드부터 먼저 짚고 넘어가고자 한다. 프로세스와 스레드 프로세스 (Process) 프로세스는 현재 실행 중인 프로그램이다. 프로그램이 실행 중이지 않을 때는 보통 하드디스크에 저장되어 있다가 실행할 때 메인메모리로 이동한다. 이때 메모리는 다음 그림과 같이 구분된다. 프로세스 메모리할당 구조 Code 영역: 프로그램 실행 코드를 위한 공간이다. 우리가 작성한 코드는 바로 여기에 있을 것이다. 코드영역은 읽기 전용이다. Data 영역: 전역변수 등 고정된 데이터를 위해 할당된 공간이다. Java의 경우 static 변수를 만들면 이쪽에 있을 것이다. Heap 영역: 동적할당 데이터를 위한 공간이다. Java의 경우 객체가 생성되면 이쪽에 저장이 될 것이다. Stac..
JDBC가 뭐지? 오늘은 JAVA 애플리케이션을 개발할 때 꼭 쓰게 되는 JDBC에 대해서 알아보겠다. JDBC가 뭐지? 아주 간단히 말하면 JAVA 애플리케이션에서 DATABASE에 접속할 수 있도록 도와주는 API이다. 이 JDBC는 처음 썬마이크로즈에서 JDK 1.1을 출시했을 때 일부로 같이 출시하였다고 한다. 현재 JAVA의 javax.sql 패키지에 포함되어 있다. 다시 설명하면, JDBC는 테이블 형식의 데이터(특히 관계형 테이터베이스) 에 접근하게 해준다. JDBC는 아래 세가지의 역할을 한다. 1. datasource에 연결해준다. 2. 쿼리를 보내고, 명령문을 데이터베이스에 업데이트해준다. 3. 우리가 보낸 쿼리를 데이터 베이스가 처리하고 그에 대한 처리결과를 알려준다. 다음 짦은 예시가 소개한 세가지를..
컬렉션을 쓰는 이유 오늘은 컬렉션에 대해서 알아보겠다. 그러려면 우선 Collection이 뭔지부터 알아보자. 오늘도 equals 포스팅과 같이 내가 궁금했던 점들을 물음표 형식으로 풀어나갈 것이다. Collection이 뭔가? 단순히 말하자면 데이터 묶음이다. 그냥 단순한 데이터 묶음은 아니고, 데이터를 저장하고, 검색하고 처리한다. 그럼 Collection Framework는 뭐지? 효과적으로 데이터를 처리하기 위한 통일된 아키텍쳐라고 볼 수 있다. 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 아래 구성요소로 제공해준다. 모든 collection framework은 다음과 같이 구성되어 있다. Interfaces: 컬렉션을 표현하는 추상적인 데이터 타입이다. 자체적으로 데이터가 처리되는 컬렉션들이 이 안에 ..