java
-
Thread 종류 non-daemon, daemon tread non-daemon thread java의 main을 실행했을 때 실행되는 thread daemon thread 위의 non-daemon이 아닌 thread의 작업을 돕는 보조적인 역할을 하는 thread non-daemon thread가 모두 죽으면, daemon thread도 강제적으로 종료된다 garbage collection와 같은 백그라운드 태스크를 실행하며 low priority를 가지고 있습니다. Thread 상태 스레드의 상태는 java.lang.Thread 클래스 내부에 State라는 이름을 가진 Enumerated Types(열거형)으로 선언되어 있습니다. NEW 스레드가 생성되었지만 아직 실행되지 않은 상태 RUNNABLE..
[JAVA] Thread 종류 및 상태Thread 종류 non-daemon, daemon tread non-daemon thread java의 main을 실행했을 때 실행되는 thread daemon thread 위의 non-daemon이 아닌 thread의 작업을 돕는 보조적인 역할을 하는 thread non-daemon thread가 모두 죽으면, daemon thread도 강제적으로 종료된다 garbage collection와 같은 백그라운드 태스크를 실행하며 low priority를 가지고 있습니다. Thread 상태 스레드의 상태는 java.lang.Thread 클래스 내부에 State라는 이름을 가진 Enumerated Types(열거형)으로 선언되어 있습니다. NEW 스레드가 생성되었지만 아직 실행되지 않은 상태 RUNNABLE..
2023.07.08 -
서버에 설정을 살펴보던 중에 "java.security.egd" 옵션을 발견하게 되었고, 해당 설정이 어떠한 역할을 하는지 궁금하여 찾아본 내역을 정리해 보자. 정의 jvm 설정 중에 하나로 Java에 "SecureRandom" 클래스를 초기화 하는 방식에 영향을 미치는 옵션이다. 대부분의 설정값은 default값이 존재한다. 해당 default값을 사용하지 않고 따로 설정을 해주었다는 것은 기존에 default값을 사용할 때 어떠한 문제가 발생해서 따로 설정을 해주었을 것이다. default값을 사용하면 어떠한 문제가 발생하는지 찾아보자. java 8 이전에 버전에서는 "/dev/random" 값이 default 값이었다고 한다. 해당 값으로 설정이 되어있으면 Tomcat이 구동 되는데 blocking..
[Java] java.security.egd option서버에 설정을 살펴보던 중에 "java.security.egd" 옵션을 발견하게 되었고, 해당 설정이 어떠한 역할을 하는지 궁금하여 찾아본 내역을 정리해 보자. 정의 jvm 설정 중에 하나로 Java에 "SecureRandom" 클래스를 초기화 하는 방식에 영향을 미치는 옵션이다. 대부분의 설정값은 default값이 존재한다. 해당 default값을 사용하지 않고 따로 설정을 해주었다는 것은 기존에 default값을 사용할 때 어떠한 문제가 발생해서 따로 설정을 해주었을 것이다. default값을 사용하면 어떠한 문제가 발생하는지 찾아보자. java 8 이전에 버전에서는 "/dev/random" 값이 default 값이었다고 한다. 해당 값으로 설정이 되어있으면 Tomcat이 구동 되는데 blocking..
2023.06.28 -
ThreadLocal이란 ThreadLocal은 JDK 1.2부터 제공된 오래된 클래스입니다. ThreadLocal 클래스를 활용하면 스레드 단위로 로컬 변수를 사용할 수 있기 때문에 마치 전역 변수처럼 여러 메서드에서 활용할 수 있습니다. ThreadLocal 클래스는 thread-local 변수들을 제공합니다. 이 변수들은 각 스레드가 독립적으로 변수의 초기화 된 사본을 가지고 있습니다. ThreadLocal 인스턴스들은 보통 스레드와 상태를 연결하려고 하는 클래스들의 private static 필드들입니다. (예를 들어, 유저 ID 또는 트랜잭션 ID) 제공되는 메서드 set, get, remove - threadLocal의 로컬 변수 조작 withInitial - static 메서드를 이용한 객체..
[Java] ThreadLocal이란ThreadLocal이란 ThreadLocal은 JDK 1.2부터 제공된 오래된 클래스입니다. ThreadLocal 클래스를 활용하면 스레드 단위로 로컬 변수를 사용할 수 있기 때문에 마치 전역 변수처럼 여러 메서드에서 활용할 수 있습니다. ThreadLocal 클래스는 thread-local 변수들을 제공합니다. 이 변수들은 각 스레드가 독립적으로 변수의 초기화 된 사본을 가지고 있습니다. ThreadLocal 인스턴스들은 보통 스레드와 상태를 연결하려고 하는 클래스들의 private static 필드들입니다. (예를 들어, 유저 ID 또는 트랜잭션 ID) 제공되는 메서드 set, get, remove - threadLocal의 로컬 변수 조작 withInitial - static 메서드를 이용한 객체..
2022.11.24 -
JVM의 구성요소 중, 데이터 영역에 대한 설명으로 아래의 내용들에 대해서 다루어 보도록 하겠다 Runtime Data Areas란 Runtime Data Areas의 구성 요소 스레드 별로 존재 PC Register JVM Stack Native Method Stack 스레드 공유 Method Area 상세 구조 Heap 상세 구조 Java8부터 달라진 점 Runtime Data Areas란 JVM은 Java 컴파일러가 컴파일한 ByteCode를 ClassLoader를 이용해 메모리(RuntimeDataArea)에 실행 가능한 상태로 적재한다. RuntimeDataArea는 JVM이 프로그램을 수행하기 위해 OS로부터 별도로 할당받은 메모리 영역이다. Runtime Data Areas의 구성 요소 Ru..
[JAVA] JVM 메모리 구조, 데이터 영역 ( Runtime Data Areas)JVM의 구성요소 중, 데이터 영역에 대한 설명으로 아래의 내용들에 대해서 다루어 보도록 하겠다 Runtime Data Areas란 Runtime Data Areas의 구성 요소 스레드 별로 존재 PC Register JVM Stack Native Method Stack 스레드 공유 Method Area 상세 구조 Heap 상세 구조 Java8부터 달라진 점 Runtime Data Areas란 JVM은 Java 컴파일러가 컴파일한 ByteCode를 ClassLoader를 이용해 메모리(RuntimeDataArea)에 실행 가능한 상태로 적재한다. RuntimeDataArea는 JVM이 프로그램을 수행하기 위해 OS로부터 별도로 할당받은 메모리 영역이다. Runtime Data Areas의 구성 요소 Ru..
2022.08.23