Java의 동기화 Synchronized 개념 정리#2 이번엔 singleton과 static 함수에서 synchronized가 어떻게 동작하는지 확인해 보겠습니다.Singleton 객체에서의 동기화singleton은 객체를 한개만 생성하여 사용하도록 합니다. 따라서 #1번 글에서 사용했던것과 예제나 개념은 크게 다르지 않습니다.public class Singleton { public ArrayList mList = new ArrayList(); private Singleton() { // } private static class Holder { public static final Singleton sHolderSingleton = new Singleton(); } public static Singleton getInstance() { return Holde.. 개발이야기/Java 7년 전
Java의 메모리 관리 - Weak, Soft, Phantom reference 예제 Weak reference와 soft reference는 그래도 뒤져보면 예제가 좀 있습니다.하지만 정말 rare하게 쓰이는 phantom reference에 대한 예제는 구글링을 해도 찾기가 쉽지 않습니다.다행이 아래 깔끔한 예제를 찾았기에 링크 해 봅니다.원문은 아래 링크에서 확인하실 수 있습니다.http://neverfear.org/blog/view/150/Strong_Soft_Weak_and_Phantom_References_Java Strong References먼저 우리가 일반적으로 쓰고있는 Strong reference 입니다.이런식의 참조는 절대 GC가 되지 않습니다.package org.neverfear.leaks; /* * URL: http://neverfear.org/blog/view.. 개발이야기/Java 7년 전
Weak reference의 이해 Weak reference (약한 참조)대한 글을 시작해 보려고 합니다.먼저 자바(JVM)의 메모리를 구조를 이해해야 weak reference, soft reference, phantom reference를 보다 잘 이해 할 수 있습니다.JVM에서 자바의 메모리가 어떤 구조를 갖는지는 다음번에 잘 정리해서 올리도록 하겠습니다. 예전에 제가 찾았던 weak reference에 대한 잘 정리된 글을 단순?? 번역해서 올립니다. Strong referencesFirst I need to start with a refresher on strong references. A strong reference is an ordinary Java reference, the kind you use every day. Fo.. 개발이야기/Java 7년 전