본문 바로가기

CS (Computer Science)3

멀티 쓰레드 (Thread) 일단 쓰레드가 무엇인지 알아야 한다. https://yous3163.tistory.com/12 10주차 : Thread Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread는 사전적 의미로 한 가닥의 실이라는 뜻인데, 한 가지 작업을 실행하기 위해 순차적으로 실 yous3163.tistory.com 자바 스터디를 하며 따로 정리한 Thread에 대해 잠깐 보고 오는 것이 좋을 것 같다. 멀티스레드는 무엇인가? 간단하다 여러개의 스레드이다. 왜 여러개의 스레드를 사용해야 하는지? 왜 이런 개념이 생겼는지에 대해 알아보자 우리는 이전에 Servlet , WAS에 대해 공부하였다. 우리가 요청을 보내게 되면 누군가 servlet을 호출해준다.. 2021. 6. 5.
2주차 주제 : 가비지 컬렉터의 개념과 동작원리 - 가비지 컬렉터의 기본 적인 구조와 동작원리 - 가비지 컬렉터의 full gc란 - java 8 가바지 컬렉터의 특징 - 가비지 컬렉터의 기본 적인 구조와 동작원리 GC를 이해하기 위해서는 JVM의 메모리 관리에 대해 알아야 한다. JVM에는 일반적으로 Young Generation / Old Generation 이라는 두가지의 물리적 공간이 존재한다. - Young Generation 영역 : 새롭게 생성한 객체가 위치한다. 많은 객체가 이 영역에 생성되었다 사라지며 이를 Minor GC라고 한다. - Old Generation 영역 : 접근불가능한 상태가 되지않아 Young 영역에서 살아남은 객체가 이 영역으로 복사된다. Young 영역보다 크게 할당되며 GC는 적게 발생한다. 이 영역에서 객체가 .. 2021. 3. 8.
Blocking / Non-Blocking 1주차 주제 Blocking / Non-Blocking - blocking 프로그램과 non- blocking 프로그램 - 동기 비동기 프로그램 Blocking 네트워크 통신에서 요청이 발생하고 완료될 때 까지 모든 일을 중단한 상태로 대기해야하는 것이 블로킹이다. 블로킹 방식의 소켓 통신은 결과가 올때 까지 다른 작업을 중단하고 기다려야 한다. non- blocking 네트워크 통신이 완료될때 까지 기다리지 않고 다른 작업을 수행할 수 있으므로 경우에 따라 효율이나 반응속도가 더 뛰어나다. 반면에 설계가 복잡하다는 단점이 있다. 블로킹과 논블로킹은 다른 작업을 수행하는 주체를 어떻게 상대하는지가 중요하다. 자신의 작업을 하다가 다른 작업 주체가 하는 작업의 시작부터 끝까지 기다렸다가 다시 자신의 작업을.. 2021. 3. 1.