php教程 PHP开发 JVM의 가비지 수집기

JVM의 가비지 수집기

Nov 22, 2016 pm 04:56 PM
jvm

직렬 수집기: 재활용을 위해 복사 알고리즘을 사용하는 차세대 단일 스레드 수집기입니다. 가비지 수집 중에는 다른 사용자의 모든 스레드가 일시 중지됩니다.

Serial Old Collector: Mark-Clear 알고리즘을 사용하는 Serial의 구세대 버전도 단일 스레드 수집기입니다.

ParNew 컬렉터: ParNew 컬렉터는 실제로 멀티스레드 버전의 Serial입니다. 멀티스레드 가비지 컬렉션 외에 수집 알고리즘(복사 알고리즘), 객체 할당 규칙, 재활용 전략 등을 포함합니다. 모두 직렬 수집과 동일합니다. 장치는 완전히 동일합니다.

병렬 스캐빈지 컬렉터: 복사 알고리즘을 사용하는 차세대 컬렉터이며 병렬 멀티스레드 컬렉터입니다. 이 컬렉터는 시스템의 처리량(사용자 코드 실행 시간/(시간)을 향상시키기 위해 설계되었습니다. 사용자 코드 실행 + 가비지 수집 시간)), 따라서 병렬 스캐빈저 수집기는 "처리량 우선 순위" 수집기라고도 합니다.

Parallel Old Collector: 'mark-clear' 알고리즘을 사용하는 Parallel Scavenge Collector의 구세대 버전입니다.

CMS Collector: 사용자 서비스의 응답 속도에 특별히 주의를 기울이고 있으며, 시스템 정지 시간을 최소화하여 사용자에게 더 나은 경험을 제공할 수 있기를 바랍니다. 동시 수집, 낮은 일시 중지. 대신 'mark-and-sweep' 알고리즘이 사용됩니다.

G1 컬렉터: 현재 컬렉터 기술 개발에서 가장 최첨단 기술 중 하나

병렬 및 동시성 방법


세대별 컬렉션을 채택하면 다른 컬렉터와 협력하지 않고도 전체 GC 힙을 독립적으로 관리할 수 있습니다.


공간 통합: 전반적으로 G1은 'mark-organize' 알고리즘을 사용하지만 로컬에서 관점에서는 "복사" 알고리즘을 기반으로 합니다. 그러나 어떤 경우에도 두 알고리즘 모두 G1 알고리즘이 메모리 공간 조각화를 생성하지 않으며 수집 후 정기적으로 사용 가능한 메모리를 제공할 수 있음을 의미합니다.


작업 단계: 초기 마킹, 최종 마킹, 재활용.

비고:

동시성: 가비지 수집 스레드는 사용자 스레드와 동시에 실행될 수 있습니다.

병렬: 여러 개의 가비지 수집 스레드가 있을 수 있지만 사용자는 스레드는 현재 상태에서 여전히 대기 중입니다.


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

매우 실용적인 분산 JVM 모니터링 도구입니다! 매우 실용적인 분산 JVM 모니터링 도구입니다! Aug 15, 2023 pm 05:15 PM

이 프로젝트는 개발자가 여러 원격 호스트 JVM을 더 빠르게 모니터링할 수 있도록 설계되었습니다. 프로젝트가 Spring 부트라면 통합하기가 매우 쉽습니다. Spring 부트 프로그램을 빠르게 초기화하고 Jar 패키지를 직접 소개하는 것으로 충분합니다.

JVM 명령줄 매개변수에 대한 자세한 설명: JVM 작업을 제어하는 ​​비밀 무기 JVM 명령줄 매개변수에 대한 자세한 설명: JVM 작업을 제어하는 ​​비밀 무기 May 09, 2024 pm 01:33 PM

JVM 명령줄 매개변수를 사용하면 세부적인 수준에서 JVM 동작을 조정할 수 있습니다. 공통 매개변수는 다음과 같습니다. Java 힙 크기 설정(-Xms, -Xmx) 새로운 세대 크기 설정(-Xmn) 병렬 가비지 수집기 활성화(-XX:+UseParallelGC) 생존자 영역의 메모리 사용량 감소(-XX: -ReduceSurvivorSetInMemory) 중복 제거 가비지 수집 제거(-XX:-EliminateRedundantGCs) 가비지 수집 정보 인쇄(-XX:+PrintGC) G1 가비지 수집기 사용(-XX:-UseG1GC) 최대 가비지 수집 일시 중지 시간 설정(-XX:MaxGCPau)

JVM 메모리 관리 포인트 및 주의사항 JVM 메모리 관리 포인트 및 주의사항 Feb 20, 2024 am 10:26 AM

JVM 메모리 사용법 마스터를 위한 포인트 및 주의사항 JVM(JavaVirtualMachine)은 Java 애플리케이션이 실행되는 환경으로, 가장 중요한 것은 JVM의 메모리 관리이다. JVM 메모리를 적절하게 관리하면 애플리케이션 성능이 향상될 뿐만 아니라 메모리 누수 및 메모리 오버플로와 같은 문제도 방지할 수 있습니다. 이 기사에서는 JVM 메모리 사용에 대한 핵심 사항과 고려 사항을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. JVM 메모리 파티션 JVM 메모리는 주로 다음 영역으로 나뉩니다.

Java 오류: JVM 메모리 오버플로 오류, 처리 및 방지 방법 Java 오류: JVM 메모리 오버플로 오류, 처리 및 방지 방법 Jun 24, 2023 pm 02:19 PM

Java는 널리 사용되는 프로그래밍 언어입니다. Java 애플리케이션을 개발하는 동안 JVM 메모리 오버플로 오류가 발생할 수 있습니다. 이 오류는 일반적으로 애플리케이션 충돌을 발생시켜 사용자 경험에 영향을 미칩니다. 이 기사에서는 JVM 메모리 오버플로 오류의 원인과 이러한 오류를 처리하고 방지하는 방법을 살펴봅니다. JVM 메모리 오버플로 오류란 무엇입니까? JVM(Java Virtual Machine)은 Java 애플리케이션을 실행하는 환경입니다. JVM에서 메모리는 힙, 메소드 영역, 스택 등 여러 영역으로 나뉩니다. 힙은 생성된 객체를 저장하는 데 사용됩니다.

JVM 가상머신의 기능과 원리 분석 JVM 가상머신의 기능과 원리 분석 Feb 22, 2024 pm 01:54 PM

JVM 가상 머신의 기능 및 원리 분석 소개: JVM(JavaVirtualMachine) 가상 머신은 Java 프로그래밍 언어의 핵심 구성 요소 중 하나이며 Java의 가장 큰 판매 포인트 중 하나입니다. JVM의 역할은 Java 소스 코드를 바이트코드로 컴파일하고 이러한 바이트코드를 실행하는 것입니다. 이 기사에서는 JVM의 역할과 작동 방식을 소개하고 독자의 이해를 돕기 위해 몇 가지 코드 예제를 제공합니다. 기능: JVM의 주요 기능은 다양한 플랫폼에서 Java 프로그램의 이식성 문제를 해결하는 것입니다.

JVM 힙 메모리 크기를 효율적으로 조정하는 방법은 무엇입니까? JVM 힙 메모리 크기를 효율적으로 조정하는 방법은 무엇입니까? Feb 18, 2024 pm 01:39 PM

JVM 메모리 매개변수 설정: 힙 메모리 크기를 합리적으로 조정하는 방법은 무엇입니까? Java 애플리케이션에서 JVM은 메모리 관리를 담당하는 핵심 구성 요소입니다. 그 중 힙 메모리는 객체 인스턴스를 저장하는 데 사용됩니다. 힙 메모리의 크기 설정은 애플리케이션의 성능과 안정성에 중요한 영향을 미칩니다. 이 기사에서는 구체적인 코드 예제를 통해 힙 메모리 크기를 합리적으로 조정하는 방법을 소개합니다. 먼저 JVM 메모리에 대한 기본 지식을 이해해야 합니다. JVM의 메모리는 힙 메모리, 스택 메모리, 메소드 영역 등 여러 영역으로 구분됩니다. ~에

JVM의 작동 원리 이해하기: Java 가상 머신의 원리에 대한 심층 탐구 JVM의 작동 원리 이해하기: Java 가상 머신의 원리에 대한 심층 탐구 Feb 18, 2024 pm 12:28 PM

JVM 원리에 대한 자세한 설명: Java 가상 머신의 작동 원리에 대한 심층적인 탐구에는 특정 코드 예제가 필요합니다. 1. 소개 Java 프로그래밍 언어의 급속한 발전과 광범위한 적용으로 인해 Java Virtual Machine(JavaVirtualMachine, JVM이라고 함) )도 소프트웨어 개발에 없어서는 안될 부분이 되었습니다. Java 프로그램의 실행 환경인 JVM은 크로스 플랫폼 기능을 제공하여 Java 프로그램이 다른 운영 체제에서 실행될 수 있도록 합니다. 이번 글에서는 JVM이 어떻게 작동하는지 알아보겠습니다.

JVM이 32비트인지 64비트인지 확인하는 Java 프로그램 JVM이 32비트인지 64비트인지 확인하는 Java 프로그램 Sep 05, 2023 pm 06:37 PM

JVM이 32비트인지 64비트인지 확인하는 자바 프로그램을 작성하기 전에 먼저 JVM에 대해 논의해보자. JVM은 바이트코드 실행을 담당하는 Java 가상 머신입니다. JRE(Java Runtime Environment)의 일부입니다. 우리 모두는 Java가 플랫폼 독립적이라는 것을 알고 있지만 JVM은 플랫폼 의존적입니다. 각 운영 체제마다 별도의 JVM이 필요합니다. Java 소스 코드의 바이트 코드가 있으면 JVM 덕분에 모든 플랫폼에서 쉽게 실행할 수 있습니다. Java 파일 실행의 전체 과정은 다음과 같습니다. - 먼저 Java 소스 코드를 .java 확장자로 저장하고 컴파일러는 이를 .class 확장자를 가진 바이트코드로 변환합니다. 이는 컴파일 타임에 발생합니다. 이제 런타임에 J

See all articles