Java (4) 썸네일형 리스트형 네트워크 해당 내용은 을 읽고 이해한 내용을 바탕으로 정리했습니다. 네트워킹 (Networking)네트워킹이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크(network)를 구성하는 것을 말한다.현재의 네트워크는 전 세계의 많은 수의 컴퓨터가 '인터넷'이라는 하나의 거대한 네트워크를 구성하고 있으며, 인터넷을 통해 다양하고 방대한 데이터를 공유하는 것이 가능하다. Java에서는 java.net 패키지를 사용하여 네트워크 통신 부분을 쉽게 작성할 수 있다. 클라이언트/서버 (client/server)'클라이언트/서버'는 컴퓨터 간의 관계를 역할로 구분하는 개념이다. 서버(server)는 서비스를 제공하는 컴퓨터(service provider)이고, 클라이언트(client)는 서비스를 이용하는 컴퓨터(servi.. 스레드의 동기화 해당 내용은 을 읽고 이해한 내용을 바탕으로 정리했습니다. 스레드의 동기화싱글스레드 프로세스는 단 하나의 스레드만 작업하기 때문에 프로세스의 자원을 사용하는 데 있어 별문제가 없지만, 멀티스레드 프로세스의 경우 여러 스레드가 같은 프로세스 내의 자원을 공유해서 작업하기 때문에 서로의 작업에 영향을 주게 된다.이러한 일을 예방하고자 '임계영역(critical section)'과 '잠금(lock)'이라는 개념이 도입되었다.공유 데이터를 사용하는 코드를 임계영역으로 지정하고, 공유 데이터가 가지고 있는 lock을 획득한 단 하나의 스레드만 이 영역 내의 코드를 수행할 수 있게 한다.해당 스레드가 임계영역 내의 코드를 수행하고 벗어나면 lock을 반납해야만 다른 쓰레드가 반납된 lock을 획득하여 임계영역의 코.. 프로세스와 스레드 해당 내용은 을 읽고 이해한 내용을 바탕으로 정리했습니다. 프로세스와 스레드프로세스(process)란 간단히 말해서 '실행 중인 프로그램(program)'이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 스레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 스레드이다.이 때문에, 모든 프로세스에는 최소한 하나 이상의 스레드가 존재하며, 둘 이상의 스레드를 가진 프로세스를 '멀트스레드 프로세스(multi-threaded process)'라고 한다. 하나의 프로세스가 가질 수 있는 스레드의 개수는 제한되어 있지 않지만, 스레드가 작업을 수행하는 데 개별적인 .. Java - HashTable HashTable이란?키와 값을 대응시켜 저장하는 데이터 구조키를 통해 해당 데이터에 빠르게 접근 가능 해싱키를 해시 함수에 넣어 나온 결과를 사용하여 값에 접근하는 과정 해시 테이블 구조키 : 해시 테이블 접근을 위한 입력 값해시 함수 : 키를 해시 값으로 매핑하는 연산해시 값 : 해시 테이블의 인덱스해시 테이블 : 키-값을 연관시켜 저장하는 데이터 구조해시 충돌해시 테이블의 같은 공간에 서로 다른 값을 저장하려는 경우서로 다른 키의 해시 함수를 통한 해시 값이 동일한 경우해시 출동 해결 방법으로는 크게 개방 주소법과 분리 연결법이 있다. 개방 주소법 (Open Address)충돌 시, 테이블에서 비어 있는 공간의 hash를 찾아 데이터를 저장hash와 value가 1:1 관계 유지비어 있는 공간 탐색.. 이전 1 다음