인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
Language/Java

☕ 싱글톤 객체가 깨져버리는 경우 (역직렬화 / 리플렉션)

싱글톤 객체 싱글톤 객체는 단 하나의 유일한 객체를 의미 한다. 해당 인스턴스가 리소스를 많이 차지하는 무거운 인스턴스일때, 메모리 절약을 위해 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법이다. 아래는 싱글톤 디자인 패턴을 구현하는 방법중 멀티쓰레드 환경에서 안전하고 검증된 방법인 Bill Pugh Solution 방법으로 구현한 싱글톤 객체이다. [GOF] 💠 싱글톤(Singleton) 패턴 - 꼼꼼하게 알아보자 Singleton Pattern 싱글톤 패턴은 디자인 패턴들 중에서 가장 개념적으로 간단한 패턴이다. 하지만 간단한 만큼 이 패턴에 대해 코드만 던져주고 끝내버리는 경우가 있어, 어디에 쓰이는지 어떠한 문 inpa.tistory.com cla..

category_image
인파_
2023.02.15
(0)
디자인 패턴/GOF

💠 싱글톤(Singleton) 패턴 - 꼼꼼하게 알아보자

Singleton Pattern 싱글톤 패턴은 디자인 패턴들 중에서 가장 개념적으로 간단한 패턴이다. 하지만 간단한 만큼 이 패턴에 대해 코드만 던져주고 끝내버리는 경우가 있어, 어디에 쓰이는지 어떠한 문제가 있는지 제대로 알지 못하고 얼렁뚱땅 넘어가버리는 것이 많아 보인다. 이번 시간에는 기술면접의 단골 질문이면서 간단하지만 결코 간단하지 않은 디자인 패턴의 싱글톤 패턴에 대해 꼼꼼하게 알아가 보는 시간을 가져보자. 싱글톤 패턴이란 단 하나의 유일한 객체를 만들기 위한 코드 패턴이다. 쉽게 말하자면 메모리 절약을 위해, 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법을 말한다. 우리가 전역 변수라는 걸 만들어 이용하는 이유는, 똑같은 데이터를 메서드마다 ..

category_image
인파_
2022.11.04
(0)
Language/Java (JVM)

☕ 클래스는 언제 메모리에 로딩 & 초기화 되는가 ❓

JVM의 클래스 로더 (Class Loader) 자바의 클래스들이 언제 어디서 메모리에 올라가고 클래스 멤버들이 초기화되는지, 원리를 알기위해선 우선 JVM(자바 가상 머신)의 클래스 로더(Class Loader)의 진행 방식에 대해 알 필요가 있다. 특히나 다음과 같이 내부(중첩) 클래스 중에 static 키워드가 붙고 안붙고의 유무에 따른 메모리 로드 차이와 쓰레드에 세이프하다는 등, 이러한 부분은 꽤나 고수준의 지식이기 때문에 글 로만 훑어보고 넘어가기 다반사라 이를 이해하기 위해선 클래스 로더 부터 살펴볼 필요가 있다. class Outer { class Inner { } static class Holder { } } 클래스 로더는 컴파일 된 자바의 클래스 파일(*.class)을 동적으로 로드하고..

category_image
인파_
2022.10.31
(0)