스레드(Thread)
- 정의
- 프로세스: 운영체제로부터 자원을 할당받은 작원의 단위
- 스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위
- 메인 스레드와 작업 스레드
- 스레드를 생성하는 방법
- Runnable 인터페이스 구현한 객체에 run() 구현
- Thread 클래스 상속 받은 하위 클래스에서 run() 구현
- 스레드 메서드
- 이름 조회: 스레드참조값.getName()
- 이름 설정: 스레드참조값.setName()
- 스레드 인스턴스의 주소값: Thread.currentThread().getName()
- 스레드 동기화
- 필요성: 여러 스레드 동일한 데이터를 공유하면 데이터를 덮어쓰는 문제 발생 가능
- 임계 영역과 락, 키워드 syncronized
- 스레드 상태와 상태 제어 메서드
- 생성, 실행 대기, 실행, 일시 정지, 소멸
자바 가상 머신 (Java Virtual Machine)
- JVM 정의
- 자바 코드를 어느 운영 체제에서나 동작할 수 있도록 도와주는 별도의 프로그램
- JVM 구조
- Garbage Collection
- 더이상 사용하지 않는 객체를 삭제하여 메모리 확보
- 동작 방식
- Minor GC, Major GC
- 1. Stop The World
- 2. Mark and Sweep
출처
1) https://www.geeksforgeeks.org/java-lang-thread-class-java/
2) https://www.topperskills.com/tutorials/java/java-jvm-internal-architecture-structure.html
3)https://jonny-cho.github.io/java/2021/06/01/garbage-collection/
'부트캠프 기록 > Section1' 카테고리의 다른 글
기술면접 회고 (0) | 2022.09.19 |
---|---|
[Java] 심화(Effective) 문제풀이/ 18일차 기록 미완 (0) | 2022.09.18 |
[Java] 심화(Effective)/ 16일차 기록 (0) | 2022.09.18 |
[Java] 컬렉션 페어프로그래밍 회고/ 15일차 기록 (0) | 2022.09.17 |
[Java] 컬렉션 (0) | 2022.09.17 |