Java Garbage Collection
1. Java Virtual Machine(JVM) C 나 C++에서는 OS 레벨의 메모리에 직접 접근하기 때문에 free()라는 메소드를 호출하여 할당받았던 메모리를 명시적으로 해제해주어야 한다. 그렇지 않으면 memory leak이 발생하게 되고, 현재 실행 중인 프로그램에서 memory leak 이 발생하면 다른 프로그램에도 영향을 끼칠 수 있다...
1. Java Virtual Machine(JVM) C 나 C++에서는 OS 레벨의 메모리에 직접 접근하기 때문에 free()라는 메소드를 호출하여 할당받았던 메모리를 명시적으로 해제해주어야 한다. 그렇지 않으면 memory leak이 발생하게 되고, 현재 실행 중인 프로그램에서 memory leak 이 발생하면 다른 프로그램에도 영향을 끼칠 수 있다...
1. Stack Memory와 Heap Space 개념 JVM은 애플리케이션을 최적의 방식으로 실행하기 위해 메모리를 스택과 힙 메모리로 나뉜다. 새로운 변수와 객체를 선언하거나, 새로운 메소드를 호출하거나, String을 선언하거나, 유사한 작업을 수행할 때마다 JVM은 스택 메모리 또는 힙 공간에서 이러한 작업에 대한 메모리를 지정한다. 2. S...
1. 초기화 방법 1) delete() ClearStringBuffer.java public class ClearStringBuffer { public static void main(String[] args) { // create a string buffer StringBuffer str = new St...
1. 스케줄 시간대 변경 기본적으로 Spring은 cron 표현식에 서버의 로컬 시간대를 사용한다. 그러나 zone 속성을 사용하여 이 시간대를 변경할 수 있다. @Scheduled(cron = "0 * * * * ?", zone = "Asia/Seoul") 2. 스케줄 매개 변수 지정 이러한 스케줄을 하드 코딩하는 것은 간단하지만, 일반적으로 ...
1. Exception 발생 DB 연동을 위해 DataSource를 정보를 properties 파일에 정의해두고, @Value 어노테이션을 통해 값을 주입하였다. 프로그램 실행 중 UnsatisfiedDependencyException과 BeanCreationException이 발생하였다. BeanCreationException은 스프링 Bean 객...
1. SMTP란 SMTP(Simple Mail Transfer Protocol)는 전자 우편을 송신하고 수신하는 데 사용되는 TCP/IP 프로토콜이다. 일반적으로 POP3 또는 IMAP(Internet Message Access Protocol)와 함께 사용되어 메시지를 서버 메일함에 저장하고 사용자를 위해 서버에서 주기적으로 메시지를 다운로드한다. ...
1. 컨테이너 툴 Red Hat Enterprise Linux 8은 오픈 컨테이너 이니셔티브(Open Container Initiative, OCI) 표준과 호환되는 다양한 툴로 컨테이너를 검색, 실행, 구축 및 공유하도록 시스템을 맞춤 설정할 수 있는 컨테이너 툴을 제공한다. 이처럼 선택의 유연성을 확보하고 애플리케이션 컨테이너 지원을 확대하여 원하...
1. Linux 배포판 Linux 배포판은 Linux 커널을 중심으로 여러 시스템 소프트웨어 및 응용 소프트웨어를 같이 묶어서 구성한 운영 체제이다. 흔히 패키지 매니저, 개발 툴, 체인, 각종 유틸리티 프로그램, 데스크톱 환경 등을 포함한다. 주요 용도에 따라 데스크톱 용도, 서버 용도, 임베디드 용도, 다용도 배포판 등 여러 배포판이 존재한...
1. 소프트웨어 개발과 배포 개발 결과물을 고객에게 제공하기 위해서는 서버에 배포해야 한다. 최신 애플리케이션들은 클라우드 기반으로 구성되어 트래픽에 따라 탄력적인 확장과 고가용성을 보장하지만 배포 시 서비스를 멈춰야 하는 중단 배포 방식의 경우 다운타임(Downtime)이 발생한다. 물론 특정 애플리케이션의 경우 계획적으로 다운타임을 허용할 수 있...
1. CentOS Linux 개발 종료 Red Hat에서 RHEL 재구축으로 CentOS Linux 개발 종료를 발표하면서 많은 Linux 사용자의 마음을 아프게 했다. 비록 CentOS가 완전히 비활성화된 것이 아니라 CentOS Linux는 현재 Red Hat의 업스트림(개발)으로 계속 발전하고 있다. 새로운 CentOS 운영 체제의 이름은 Ce...