java 3

[Language/Java] 싱글톤(Singleton) 패턴 - #1

싱글톤(Singleton) 패턴이란? Application 전체에서 오직 단, 한 개의 객체만 생성해서 사용하고 싶을 때 사용하는 것이 바로 싱글톤(Singleton) 패턴이다. 즉, 클래스의 객체를 단, 한 번만 생성하고 싶을 경우에 적용하는 디자인 패턴이다. 싱글톤 패턴을 적용할 클래스의 생성자를 private 접근제한자로 선언하여 외부에서 해당 클래스의 객체를 생성하지 못하게 하는것이 포인트이다. 단, 외부에서 객체를 생성하지는 못하게 하더라도 반환받아 사용할 수는 있게 해줘야하기 때문에 싱글톤 패턴을 사용하여 선언한 클래스에서 객체를 반환해주는 정적(static) 메서드를 제공하는 것이 일반적이다. 싱글톤(Singleton) 패턴적용한 클래스 선언 예시 public class SingletonEx..

[Language] Java 2023.12.30

[Language/Java] 자바(Java)의 메모리 구조

자바(Java) Application 실행과정 자바의 메모리 구조를 자세하게 알아보기에 앞서 먼저 자바 어플리케이션의 전체적인 실행과정을 알아보자. 1) 소스 코드 작성 및 컴파일 자바 프로그래밍 언어로 소스 코드를 작성한다. 작성된 소스 코드는 자바 컴파일러(javac)를 통해 바이트 코드 (.class 파일) 로 컴파일된다. 2) 바이트 코드 실행 생성된 바이트코드(.class 파일)는 JVM(Java Virtual Machine)에 의해 실행된다. 자바 응용 프로그램이 시작되면, 해당 클래스의 'main' 메소드가 실행된다. 3) JVM의 시작과 메모리 할당 JVM은 운영제제(OS)에 의해 메모리를 할당 받으며, 이 때 JVM이 실행된다. JVM은 OS으로 부터 할당받은 메모리를 Method Are..

[Language] Java 2023.11.29

[Language/Java] SDK, JDK, JRE, JVM, JIT 란?

SDK(Software Development Kit) 란? SDK는 말 그대로 소프트웨어 개발을 위한 키트(도구 모음)을 의미한다. SDK는 개발자가 필요로 하는 다양한 도구, 라이브러리, 문서 등을 제공한다. JDK는 SDK의 일종으로 자바로 개발을 하기 위한 SDK를 의미한다. JDK(Java Development Kit) 란? JDK는 자바로 소프트웨어를 개발하기 위한 도구 모음을 의미한다. JDK에는 JRE를 비롯한 자바 컴파일러('javac'), 디버깅 도구, 빌드 도구 등이 포함되어 있어 자바 소스 코드를 작성하고 컴파일하며 실행할 수 있는 환경을 제공한다. * 자바 컴파일러('javac') Java 소스코드 -> 바이트 코드 Java 소스코드를 바이트 코드로 변환하는 Java 컴파일러이다. ..

[Language] Java 2023.11.28