java인터뷰 (3) 썸네일형 리스트형 면접에서 진짜 자주 나오는 자바 질문 - 섹션 3. 자바 동시성 및 멀티스레딩 1. 자바에서 스레드(Thread)를 생성하는 방법과 차이점자바에서 스레드를 생성하는 방법은 대표적으로 3가지가 있다:Thread 클래스 상속Runnable 인터페이스 구현ExecutorService 또는 Callable을 이용한 Thread Pool 방식// 1. Thread 상속class MyThread extends Thread { public void run() { System.out.println("Thread 실행!"); }}// 2. Runnable 구현class MyRunnable implements Runnable { public void run() { System.out.println("Runnable 실행!"); }}// 3. Execut.. JAVA synchronized 키워드와 ReentrantLock의 차이점 (멀티스레딩) Java에서 멀티스레딩을 구현할 때 동기화(synchronization)는 필수적인 요소다. 대표적으로 사용하는 두 가지 방법이 있는데, 바로 synchronized 키워드와 ReentrantLock 클래스다. 이 두 방식은 동시성 제어를 위한 도구라는 공통점이 있지만, 사용 방법과 특징에서 많은 차이를 가진다. 이 문서에서는 두 방식의 차이점을 명확하게 비교하고 실전에서의 활용 방식을 알아보자.* 동기화(Synchronization)란?멀티스레드 환경에서는 여러 스레드가 동시에 공유 자원에 접근할 수 있기 때문에, 데이터 일관성과 안정성을 확보하기 위해 동기화가 필요하다. 동기화를 통해 한 번에 하나의 스레드만 특정 코드 블록을 실행할 수 있도록 제어할 수 있다.1. synchronized 키워드syn.. JAVA final, finally, finalize의 차이점 정리 자바를 공부하거나 개발하다 보면 final, finally, finalize라는 비슷한 이름의 키워드나 메서드를 자주 접하게 된다. 이름은 비슷하지만 쓰임새나 의미는 전혀 다르기 때문에 혼동하기 쉽다. 이 문서에서는 세 가지의 개념을 명확히 구분하고 각각의 역할을 알아보자.1. finalfinal은 자바에서 수정 불가능성을 의미하는 키워드다. 다양한 위치에 사용할 수 있으며 의미는 맥락에 따라 조금씩 달라진다.1.1 변수에 사용변수에 final을 선언하면 초기화 이후 값 변경이 불가능하다.주로 상수 선언 시 사용된다.final int MAX_COUNT = 100;1.2 메서드에 사용메서드에 final을 선언하면 서브 클래스에서 오버라이딩할 수 없다.public final void printHello() .. 이전 1 다음