아이템 37. ordinal indexing 대신 EnumMap을 사용하라.
이펙티브 자바 아이템 37. ordinal indexing 대신 EnumMap을 사용하라. 실행결과 위에 코드에는 문제점이 많다 배열을 사용해서 제네릭을 사용하지도 못했고 그래서 문제가 될 소지들이 있고 앞에서 말했던 잘못된 동작을 할수있는 사항이 많다 이런 상황에서는 EnumMap이 존재한다 EnumMap으로 대체한 코
Writing
기술 자체보다 어떤 문제를 왜 그렇게 풀었는지에 초점을 둡니다.
이펙티브 자바 아이템 37. ordinal indexing 대신 EnumMap을 사용하라. 실행결과 위에 코드에는 문제점이 많다 배열을 사용해서 제네릭을 사용하지도 못했고 그래서 문제가 될 소지들이 있고 앞에서 말했던 잘못된 동작을 할수있는 사항이 많다 이런 상황에서는 EnumMap이 존재한다 EnumMap으로 대체한 코
이펙티브 자바 아이템 36. 비트필드 대신 EnumSet을 사용하라 실행결과 이렇게 사용하는것을 비트필드라고 한다 이렇게 하는것은 집합연산을 통해서 하나의 값을 쓸려고 하는것이다. 이것은 구닥다리 스타일이다. 이것을 enumset을 이용하면 아래의 코드이다. 실행결과 열거할수 있는 타입을 한데 모아 집합 형태로 사용한다고
이펙티브 자바 아이템 35. ordinals 메서드 대신 instance fields를 사용하라 실행결과 위에서 ordinal() 메소드를 사용했는데 이것은 문제가 많다 일단 중간에 다른 값이 들어간다고 하면 값이 바뀌게 된다 실행결과 OCTET2를 추가하면 결과값이 바뀌게 된다. java doc를 보면 아래 처럼 Mos
이펙티브 자바 아이템 34. int 상수 대신 열거 타입을 사용하라. 위에 정수 열거 패턴에는 단점들이 많다. 실제로 오렌지와 사과의 이름이 동일한것이 있으면 같은것을 구분하기 위해 앞에 명칭에 오렌지를 붙혀야 했다. 실행결과 그리고 위에 코드 처럼 오렌지를 보내야 하는 클래스에 사과를 보내도 문제가 생기지 않는다. 문자
Enum Types 자바 열거는 상수의 집합을 정의하는 데 사용되는 특수 자바 유형입니다. 보다 정확하게는 Java enum 유형은 특별한 종류의 Java 클래스입니다. 열거 형은 상수, 메소드 등을 포함 할 수 있습니다. 자바 열거 형은 Java 5에 추가되었습니다. Enum 예제 다음은 간단한 Java enum 예제입
이펙티브 자바 아이템 33. 타입안전 이종컨테이너를 고려하라. 실행결과 위에 코드 처럼 간단하게 타입안전 이종 컨테이너를 구현할수있는데 여기서 2가지 문제 점이 있다. 악의적인 클라이언트가 Class객체를 제네릭이 아닌 로타입으로 넘기면 타입안정성이 깨진다. 실행결과 위에 코드에서 f.putFavorite((Class)I
Neal Gafter's Super Type Tokens jdk 5 generics 추가 되면서 java.lang.Class를 제네릭 타입으로 바꿀수 있다 예를 들면 String.class를 지금은 Class<String 으로 Joshua Bloch 말하는 THC, or Typesafe Heterogenous Contai
이펙티브 자바 아이템 32. 제네릭과 가변인수를 함께 쓸 때는 신중하라. 가변인수(varargs) 메서드와 제네릭은 자바 5 때 함께 추가되었으므로 서로 시너지 효과가 날꺼라고 예상하는데 그렇지가 않다. 가변인수는 인수의 갯수를 클라이언트에서 조절할수 있게 해주는데 구현방식에서 헛점이 있다. 가변인수를 사용하면 배열이 하
가변인수(varargs) Java 메소드를 생성한다고 가정합시다 . 그러나 메소드가 받아 들일 인수가 얼마나 많은지 확실하지 않습니다. 이 문제를 해결하기 위해 Java 1.5에서는 가변 인수가 도입되었습니다. Varargs는 가변 인수에 대한 짧은 이름입니다. Java에서 메소드의 인수는 임의의 수의 값을 허용 할 수
레디스 클러스터 에러 현재 운영시스템에서 레디스를 클러스터로 운영하고 있는데 운영중인 클러스터에 장비 하나가 셧다운 되면서 슬래이브가 마스터로 승격이 되는 과정이 있었는데 이과정에서 운영중인 클라이언트쪽이 문제가 생겨서 서비스에 장애가 생겼다. 운영중인 환경은 자바로 만들어진 환경이며 지금 jedis를 사용하고 있다. j