Java 기본

 

Java 기초 정리 문서

C++로 돌아가는 Java

자바기본문법과클래스살펴보기.pdf

java기반어플리케이션개발의이해.pdf

Java Anti-Patterns

http://www.javaworld.com/javaworld/jw-07-2008/jw-07-harmful-idioms.html

http://library.dzone.com/sites/all/files/refcardz/rc024-corejava_online.pdf

 

Java. util

Iterating HashMap Tip

 

 

Enumeration

Enumeration

JSE 5.0 in a Nutshell

java enum 정리 1 - 기본 개념

java enum 정리 2 - enum의 메쏘드

java enum 정리 3 - java.lang.Enum 클래스와 enum의 실체

http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Core/lang/java/lang/Enum.java.htm

http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Core/lang/java/lang/Enum.java.htm

 

 

public enum OilProduct {

 

 GASOLINE("휘발유", 1), HIGH_GRADE_GASOLINE("고급휘발유", 2), DIESEL("경유", 3);

 

 private String name;

 private int productId;

 private static Map<Integer, OilProduct> enumMap = new HashMap<Integer, OilProduct>();

 

 static {

 for (OilProduct each : OilProduct.values()) {

 enumMap.put(each.getProductId(), each);

             }

       }

 

 private OilProduct(String name, int productId) {

 this.name = name;

 this.productId = productId;

       }

 

 public String getName() {

 return name;

       }

 

 public int getProductId() {

 return productId;

       }

 

 public static OilProduct fromProductId(int id) {

             OilProduct matched = enumMap.get(id);

 

 if (matched == null) {

 throw newIllegalArgumentException("cannot find OilProduct for productId:" + id);

             }

 

 return matched;

       }

 

}

 

 

Reflection

Using Java Reflection (번역 : Java Reflection 의 사용 )

Dynamic Proxy Classes

Java programming dynamics, Part 2: Introducing reflection

Java Reflection - Call stack introspection

 

introspection : 객체 내부의 상태나 그 상태정보를 수집하고 변경하는 행위 모두

reflection :

우리가 프로그래밍하는 언어는 컴퓨터의 자원을 이름과  식별자로 추상화한 개념을 사용한다. 실제로 이름과 식별자가 커퓨터의 자원으로 구체화되는 과정을 바인딩이라 부른다. 구체화되는 과정에서 바인딩하는 시점은 언어 정의시간, 언어 구현시간 ,번역시간 ,실행시간 네 가지로 구분된다. 여기서 언어 정의시간, 언어 구현시간과 번역 시간에 구체화 되면 이른 바인딩(early binding)이라고 부르고, 실행시간에 구체화되면 늦은 바인딩(late binding)이라고 부른다. 또 번역 시간을 정적 바인딩(static binding), 실행시간을 동적바인딩(dynamic binding)이라고 부르는데 자바에서는 늦은 바인딩을리플렉션이라고 부른다.

 

기본적인 클래스 로딩 예외

(Exception) 

클래스 로딩 문제 분석하기, Part 2: 기본적인 클래스 로딩 예외(Exception) (한글)

 

 

Static

 Logging/StaticLog (원문 http://wiki.apache.org/jakarta-commons/Logging/StaticLog)

 

 

기타

http://www.javakb.com/Uwe/Forum.aspx/java-tools/451/Eclipse-mthclass-problem
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4419673

 

Excuting an external program using Runtime.exec() method or ProcessBuilder class

Defenseive copying http://www.javapractices.com/Topic15.cjp

Cloning

http://www.adtmag.com/java/articleold.aspx?id=223

http://www.adtmag.com/java/articleold.aspx?id=364

 

Double Brace Initialization

최적화인가? 삼항 연산자와 if - else 구문

 

자바 System.out.println 콘솔 출력 가로채기