안녕하세요. 점냥입니다:) 이번 포스팅에서는 Java Thread를 외부에서 종료시키는 방법에 대해서 작성해보려고 합니다. 이 주제는 최근 기업 기술 질문에서 대답을 못한 질문 중에 하나로 정답을 찾고 정리하고자 이번 포스팅을 준비하게 되었습니다. while문에서 무한 루프를 돌고 있어 종료되지 않는 스레드, 외부에서 어떻게 강제 종료시킬 수 있는가? class SampleThread implements Runnable { @Override public void run() { while(true) { System.out.println("thread is running"); } } } 모든 Thread는 Runnable의 run() 함수 내 코드를 실행하고 함수의 모든 코드가 실행이 되면 스레드는 자동으로..
코틀린에서는 object 키워드 하나로 끝나는 싱글톤 구현, 하지만 자바에서는 "어떻게 하면 더 안전하고 효율적으로 인스턴스를 하나만 유지할까?"라는 고민이 꽤 깊어집니다. 오늘은 가장 기초적인 방법부터 멀티 스레드 환경에서도 끄떡없는 고급 기법까지, 자바 싱글톤 구현의 진화 과정을 정리해 보겠습니다!가장 단순한 시작: Eager Initialization (이른 초기화)클래스가 메모리에 로드될 때 바로 인스턴스를 생성하는 방식입니다.public class A { private A instance = new A(); private A() {} public static A getInstance() { return instance; }}장점: 클래스 로딩 시점에 생성되므로 Thread..
어느 평화로운 오후, 안드로이드 개발 단톡방에 질문이 하나 올라왔습니다. "문자열이 똑같은데 왜 if문 안으로 안 들어갈까요?"라는 내용이었죠. final String text = "길찾기" if (text == textView.getText().toString()) { // 실행이 안 돼요! } 코드를 처음 보고는 "== 문법 때문이네"라며 단정 지었습니다. 흔히 자바에서 문자열 비교는 eqauls()를 써야 한다고 배웠기 때문이죠. 하지만 이후 올라오는 톡방의 다른 사람들의 답변을 듣고, 상황에 따라서 == 문법이 틀린 코드가 아니라는 사실을 알게 되었습니다. 왜 어떤 상황에서는 ==가 먹히고 어떤 상황에서는 안 되는 걸까요? 그 열쇠는 바로 String Pool(문자열 풀)에 있습니다.Java..
- Total
- Today
- Yesterday
- android
- Animation
- 백준
- WebView
- fragment
- Player Animator
- ViewModel
- 안드로이드
- Java
- github
- Test
- CI/CD
- google io 2025
- build
- AOS
- Kotlin
- Scean
- recyclerview
- Coroutine
- 2d
- 유니티
- Unity
- View
- Gradle
- 기술질문
- deep link
- git
- compose
- Top Down
- Tutorial
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
