1. 스레드 로컬(ThreadLocal)과 상속 가능한 스레드 로컬( InheritableThreadLocal)에 대하여 [ 스레드 로컬(ThreadLocal)이란? ] 자바는 오랜 기간 동안 동시성 처리를 위해 스레드를 사용해왔다. 대표적으로 스프링 프레임워크는 멀티 스레드 모델을 사용하고 있으며, 1개의 요청을 1개의 스레드가 처리하는 thread-per-request 방식으로 동작하고 있다. 자바는 각각의 스레드 별로 필요한 정보를 저장할 수 있는 스레드 로컬(Thread Local)이라는 기술을 제공하고 있다. 각각의 스레드는 살아있는 한 ThreadLocal에 접근할 수 있는 암묵적인 참조를 갖는 것이다. 이러한 스레드 로컬은 다음과 같이 활용할 수 있다. 스레드 내에서 공유할 값을 저장하고 어..
1. 유용한 개발 관련 아티클 및 영상 #5 성장하고 싶은 당신이 꼭 해야 하는 인지적 활동 먼저 노력과 학습으로 지적 능력을 통제할 수 있다고 믿는 성장 마인드셋이 필요함 성장 마인드셋을 가진 사람들은 어려운 도전을 받아들이고 어려움을 버틸 가능성이 높음 성장 마인드셋을 가지고 지속적인 학습으로 지식을 축적하여 인지적 활동의 기반을 쌓아야 함 인지적 활동으로는 다음과 같은 것들이 있음 자신을 돌아보고(self-reflectivity) 노출하라(자신을 관찰하고 기록하고 분석함) 정보들을 인출하고 정교화하라 자신만의 것으로 생성하라 출처: https://yozm.wishket.com/magazine/detail/2394/ 29CM 의 이굿위크 장애대응 기록 장애 원인 예상 보다 훨씬 많은 트래픽이 인입됨(..
1. Nested Class(중첩 클래스)에 대한 자바 스펙 문서 정리 [ Nested Class(중첩 클래스)에 대하여 ] 자바에서는 한 클래스 내에서 다른 클래스를 정의할 수 있는데, 이를 nested 클래스라고 한다. nested 클래스는 다시 static 클래스와 non-static 클래스로 나눌 수 있다. static: static nested class라고 부름 non-static: inner class라고 부름 class OuterClass { // inner class 라고 부름 class InnerClass { ... } // static nested class 라고 부름 static class StaticNestedClass { ... } } nested 클래스는 해당 클래스를 둘러싸는..
1. 유용한 개발 관련 아티클 및 영상 #4 단축키 사용에 관한 일화 마우스로 인해 버려지는 시간들을 모아보면 생산성에 많은 영향을 줌 어찌보면 이는 팀의 생산성을 떨어트리는 것일 수 있으므로 연습해야 함 출처: http://www.chidoo.me/index.php/2022/12/29/keep-your-ide-shortcuts-in-mind/ 구글을 떠나는 것에 대한 FAQ 엔지니어링 디렉터로 "단지" 35명을 관리하는데, 일반적으로 80명 이상을 관리함으로써 어떤 휴리스틱에 의해 회사가 그가 없이도 잘 운영될 수 있다고 판단된 것 같음 Google에서의 장기 근속 후 해고된 한 인물의 경험을 통해 우리를 돌이켜볼 필요가 있을 것 같음 출처: https://news.hada.io/topic?id=129..
아래의 내용은 DZone의 포스팅을 바탕으로 참고하여 정리한 내용입니다. 1. 중복 문자열 제거를 통한 메모리 절약을 위한 -XX:+UseStringDeduplication GC 옵션 [ 중복 문자열의 개념과 예시 ] 중복 문자열이란? JDK 개발팀의 조사에 따르면 다음과 같은 자바 애플리케이션의 특징이 있다고 한다. 프로세스의 25%는 문자열임 그 중 13.5%는 중복 문자열임 평균 문자열의 길이는 45자임 중복된 문자열이라 함은 다음과 같이 동일한 내용을 갖지만 별도로 저장된 객체를 의미한다. 둘을 equals로 비교하면 true가 나오지만, ==으로 비교하면 false가 나온다. 이러한 문자열을 우리는 중복 문자열이라고 한다. String string1 = new String("MangKyu"); ..