Java22 [JAVA] stack, heap (스택과 힙) 메모리 런타임 목차 자바의 메모리 영역 스택 (stack) 힙 (heap) 가비지 컬렉션 (Gabage Collection) 자바의 메모리 영역 자바의 메모리 구조는 크게 스택과 힙으로 나뉩니다. 스택 (stack) 기본 타입 (long, int, boolean,...)은 값을 실제로 저장 heap에 저장된 객체 (object 타입)의 주소값을 저장 scope 별 stack 영역 할당 스레드 별 독립적인 stack 할당 스택의 동작 과정은 간단히 다음과 같습니다. public class Test { public static void main(String[] args) { int arg = 2; /*1*/ arg = plusOne(argument); /*4, 5*/ } private static int plusOne(i.. 2022. 1. 26. System.out.println 보단 logger System.out.println API 패키지 : java.lang (Java 기본 API) System.out.println("Hello World!"); 추후 logger를 배우게 되면서 위 API를 호출하는 것이 아니라 여러 JAVA 로깅 라이브러리 (log4j2, logback) 중 하나를 선택하여 로깅을 하게 됩니다. Logger 라이브러리 : slf4j, log4j2, logback 등 import org.slf4j.Logger; import org.slf4j.LoggerFactory; ... private static final Logger logger = LoggerFactory.getLogger(HomeController.class); ... logger.debug("Hello Worl.. 2022. 1. 18. JAVA logging framework (기본) - slf4j, log4j와 logback 목차 로깅이란? 로깅을하는 이유 log4j logback log4j2 slf4j (공통 추상체) log4j2 vs logback log4j2 보안 이슈 로깅이란? 시스템의 동작 시 상태 / 동작 정보 등을 시간의 경과에 따라 기록한 것을 로그, 이렇게 기록하는 행위를 로깅이라 함. 로깅을 하는 이유 로그는 프로그램 동작 과정, 기록 그 자체입니다. 로그를 통해 시스템의 동작 과정, 사용자의 이용 패턴 등을 분석할 수 있고 나아가 법적인 분쟁이슈, 증거자료 등에도 충분히 쓰일 수 있습니다. JAVA에서 많이들 사용하는 logging framework에는 크게 2가지(log4j, logback)가 있고 그 상위에 구현체 한가지 (slf4j)가 있습니다. 이 글에서는 이 것들을 명확히 구분하여 인식하고자 합니.. 2022. 1. 14. [SPRING] @Qualifier : 동일한 이름의 bean이 존재한다면? @Component public class Car{ ... } public class Ray implements Car{ ... } public class Genesis implements Car{ ... } public class test{ @Autowired private Car car; ... } 레이, 제네시스 둘다 Car.java를 구현했다. 그리고 test.java에서 car객체의 의존성 주입을 했고, 컨테이너 초기화시 Exception을 발생했다! 이는 컨테이너가 car를 빈으로 등록하려하자 등록할 수 있는 후보가 여러개이기 때문에 발생한다. 이를 해결해주는 어노테이션이 @Qualifier이다. @Component public class Car{ ... } @Qualifier("ray") /.. 2022. 1. 14. 이전 1 2 3 4 다음