Java(5)
-
[자바] JDK & JRE & JVM
자바 개발을 위해 필수적인 세 가지 요소에 대해 요약한 글이다. JDK는 자바 기반 소프트웨어를 개발하기 위한 도구들로 이뤄진 패키지 JRE는 자바 코드를 실행하기 위한 도구들로 구성된 패키지 JVM은 라이브 자바 프로그램 실행을 담당하는 실행 소프트웨어 시스템 JDK 자바 컴파일러(javac) 자바 런타임 환경(JRE) JRE 자바 클래스 라이브러리(Java Class Libraries) 자바 클래스 로더(Java Class Loader) 자바 가상 머신(Java Virual Machine) 런타임환경 소프트웨어 프로그램을 실행하기 위해서는 실행할 환경이 필요하다. 런타임 환경은 프로그램 실행을 위해 클래스 파일을 로드하고 메모리 및 기타 시스템 리소스에 대한 액세스를 확보한다. JRE는 자바코드를 받..
2022.01.11 -
[자바] Logback 구동 방식 및 classpath 설정
Logback 설정 정보 탐색 Logback은 프로그래밍 또는 XML이나 Groovy 포맷의 설정 스크립트 파일을 통해서 설정할 수 있다. Logback이 스스로 설정 정보를 탐색하는 우선순위는 다음과 같다. classpath에서 logback-test.xml 파일을 찾는다. classpath에서 logback.groovy 파일을 찾는다. classpath에서 logback.xml 파일을 찾는다. JDK의 service-provider loading facility (service loader)에 의해 com.qos.logback.classic.spi.Configuration 인터페이스의 구현체를 찾는다. 위 과정에서 성공한 경우가 없다면, logback은 콘솔에 출력하는 BasicConfigurator..
2022.01.08 -
[자바] Logging Framework & Logging Wrapper + SLF4J
배우고 이해한 내용을 정리하는 글로써 틀린 부분이 있을 수 있습니다. 잘못된 점이 있으면 댓글로 남겨주시면 감사하겠습니다. 로깅(Logging)이란 시스템의 작동 정보인 로그(Log)를 기록하는 행위를 말한다. 시스템이 작동할 때 시스템의 작동 상태의 기록과 보존, 이용자의 습성 조사 및 시스템 동작의 분석 등을 하기 위해 작동 중의 각종 정보를 기록해둘 필요가 있는데, 이 기록을 만드는 것을 로깅이라 한다. 즉, 로그 시스템의 사용에 관계된 일련의 사건을 시간의 경과에 따라 기록하는 것이다. 실행한 프로그램의 이름, 콘솔로부터의 키인, 이상 사태 발생, 정지 상태, 컴퓨터의 사용 시간, 입출력 장치의 사용 개시와 사용 종료 시간 등을 기록하는 것으로 이렇게 해서 기록된 것을 로그라고 한다. 출처: 해시..
2022.01.07 -
[자바] static과 static final
배우고 이해한 내용을 정리하는 글로써 틀린 부분이 있을 수 있습니다. 잘못된 점이 있으면 댓글로 남겨주시면 감사하겠습니다ㅎ.ㅎ 우선 static에 대해 간단히 알아보자, static 키워드가 사용된 전역변수나 메소드는 컴파일 과정 중에 정적으로 바인딩되어 static 메모리에 할당된다. 따라서 프로그램이 실행될 때 static메모리에 할당되어 있다가 프로그램이 종료시에 값이 제거된다. 이와 반대로 지역변수의 경우 메소드의 '{'가 시작되는 시점에서 메모리에 할당되고 '}'를 만나서 메소드가 종료가 되면 지역변수의 값도 제거된다. 이처럼 static은 컴파일시에 생성되어서 종료시까지 계속 재사용할 수 있다. 스프링의 대표적인 개념인 싱글톤 패턴이 static 키워드를 통해 객체 관리가 되는 이유이다. ne..
2021.12.17 -
[자바] 메모리 관리 - 스택 & 힙 (+가비지컬렉션)
배우고 이해한 내용을 정리하는 글로써 틀린 부분이 있을 수 있습니다. 잘못된 점이 있으면 댓글로 남겨주시면 감사하겠습니다. 데이터를 저장하는 방식은 간단하게 나누면 컴퓨터 메모리에 저장되는 메모리 영역에 저장하는 방식과 외부 데이터베이스와 연결하여 외부 저장소에 저장하는 방식이 있다. 이 글은 자바에서 메모리 관리가 어떻게 이루어지는지에 대한 포스팅이다. 프로그램의 공통된 메모리 사용방식 코드 실행 영역 데이터 저장 영역 프로그램이 메모리를 사용하는 공통된 방식은 크게 코드 실행 영역과 데이터 저장 영역으로 분리해서 사용한다. 객체지향 프로그램의 메모리 사용방식 코드 실행 영역 스태틱(static) 영역 스택(stack) 영역 힙(heap) 영역 객체지향 프로그램에서는 데이터 저장영역을 다시 세개의 영역..
2021.12.08