Enum 타입을 일부러 확장할 수 없게 했다.
‘클린코드’ 책을 읽다가 계속 이 용어들이 나와서 간단히 정리를 해야겠다고 생각했다.
스프링의 주요 기술인 IoC/DI, AOP와 PSA(Portable Service Abstraction)는 애플리케이션을 POJO로 개발할 수 있게 해주는 가능 기술(enabling technology)이라고 불린다.
전통적으로 도구나 프레임워크가 특별히 다뤄야 할 프로그램 요소에는 구분되는 명명 패턴을 적용해왔다. (ex. 테스트 메서드의 이름은 무조건 test로 시작해야 했다.)
이 방법의 단점
아이템 37을 설명하기 위해 식물(이름, 생애주기)을 나타낸 간단한 클래스
class Plant { enum LifeCycle {ANNUAL, PERENNIAL, BIENNIAL} final String name; final LifeCycle lifeCycle; Plant(String name, LifeCycle lifeCycle){ this.name = name…
JVM 은 크게 클래스로더 시스템, 메모리, 실행 엔진, JNI와Native Method Library로 이루어져 있다.
자바 바이트 코드를 읽어들여 메모리에 배치하는 역할을 한다. 클래스로더는 3가지 일을 한다.
휴리스틱(heuristics) 또는 발견법(發見法)이란 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법이다.
C1. 부적절한 정보 : 다른 시스템에 저장할 변경 이력 등은 주석으로 적절하지 않다. 작성자, 최종 수정일, SRP(Software Problem Report) 번호 등과…
열거한 값들이 집합으로 사용될 경우, 예전에는 각 상수에 서로 다른 2의 거듭제곱을 할당한 정수 열거 패턴을 사용해왔다.
public class Text { public static final int STYLE_BOLD = 1 << 0; public static final int STYLE_ITALIC = 1 << 1; public static final int STYLE_UNDERLINE = 1 << 2…
classloader란 abstract class byteCode를 읽어들여서 class 객체를 생성하는 역할을 담당한다. 클래스 로더 시스템은 로딩, 링크, 초기화로 이루어져 있고 로딩→ 링크→ 초기화 순으로 진행된다.
로딩(loading)
These were the top 10 stories published by lucky-sonnie in July of 2020. You can also dive into daily archives for July of 2020 by using the calendar at the top of this page.