자바

자바에서 가상 기계 오류를 수정하는 방법.랭자바 가상 머신이 작동에서 그것을 방지 내부 오류 또는 자원 제한을 발견 할 때 가상 기계 오류가 발생합니다. 전체 응용 프로그램이 충돌하는 것을 방지하기 위해 자체 방어 메커니즘입니다. 이 기사에서는 다양한 유형의 가상 기계 오류,특성,트리거되는 다양한 이유 및이를 해결하기위한 몇 가지 잠재적 인 솔루션에 대해 설명합니다.

가상 기계 오류 유형

가상 기계 오류에는 네 가지 유형이 있습니다:

  1. 오류
  2. 내부 오류
  3. 알 수 없는 오류

이 섹션에서 이러한 유형을 자세히 살펴 보겠습니다.

    잭스 런던
    잭스 런던 2019

    에밀리 래넌은

    차세대 개발 운영:가치 흐름 관리

    헬렌 빌(개발 운영 연구소.)

    에밀리 래넌은

    서버리스 팀 성장 방법

    쉰 브리 살(레고 그룹)

    에밀리 래넌은

    기계 학습 시스템의 지속적인 제공

    )

가상 머신 오류

그림: 개발 운영 커뮤니티에서 매우 인기가 있습니다.이 응용 프로그램은 개발 운영 커뮤니티에서 매우 인기가 있습니다. 대부분의 개발 운영 엔지니어들은 단지 하나의 메모리 오류가 있다고 생각할 수 있지만 실제로 8 가지 다른 맛의 메모리 오류가 있습니다:

  • 자바.랭자바 힙 공간
  • 자바.랭이 문제를 해결하려면 다음을 수행하십시오.랭요청된 배열 크기가
  • 자바를 초과합니다.랭이 문제를 해결하는 방법은 다음과 같습니다.랭이 문제를 해결하려면 다음을 수행하십시오.랭새 기본 스레드
  • 자바를 만들 수 없습니다.랭자바를 삭제하거나 자식
  • 을 희생하십시오.랭각 오류는 다른 이유에 의해 트리거됩니다. 마찬가지로 이러한 오류에 대한 솔루션은 메모리 부족 오류 문제의 종류에 따라 다릅니다. 다음은 모든 종류의 메모리 오류,원인 및 솔루션을 요약 한 아름다운 한 페이지 문서입니다.

    일반적으로 가비지 수집 로그와 힙 덤프를 분석하여 메모리 오류를 진단하고 수정할 수 있습니다. 가비지 수집 로그를 수동으로 분석하는 것은 지루할 수 있으므로 다음과 같은 무료 도구를 사용하는 것이 좋습니다. 마찬가지로 힙 덤프를 분석하기 위해 힙 히어로 또는 이클립스 매트와 같은 무료 도구를 사용하는 것이 좋습니다.

    참조:스택 오버플로 오류: 원인&솔루션

    스택 오버플로 오류

    스레드의 스택 스택은 실행하는 메서드,기본 데이터 유형 값,로컬 변수,개체 포인터 및 반환 값에 대한 정보를 저장합니다. 이 모든 것들이 메모리를 소비합니다. 스레드의 스택 크기는 할당 된 메모리 제한을 넘어 성장하는 경우,자바.랭스택 오버플로 오류가 발생합니다. 이 문제는 일반적으로 실행 중인 프로그램의 버그로 인해 스레드가 재귀적으로 동일한 함수를 반복해서 호출할 때 발생합니다. 스택 오버플로 오류를 디버깅하는 방법에 대한 자세한 내용 및 가능한 모든 솔루션을 수정하여 여기에 있습니다.

    내부 오류

    자바.랭내부 오류는 세 가지 이유로 인해 발생합니다. 가상 컴퓨터를 구현하는 소프트웨어에 오류가 있거나 기본 호스트 시스템 소프트웨어에 오류가 있거나 하드웨어에 오류가 있는 경우

    그러나 이런 종류의 내부 오류가 발생하는 경우는 드뭅니다. 내부 오류가 발생할 수 있는 특정 시나리오를 이해하려면 오라클의 자바 버그 데이터베이스에서’내부 오류’문자열을 검색합니다. 이 기사(2018 년 12 월 20 일)를 작성하는 시점에서 오라클의 자바 버그 데이터베이스에서이 오류에 대해보고 된 결함은 200 개뿐입니다. 그들 대부분은 고정되어 있습니다. 그래서,이 일에 대해 너무 많이 걱정하지 마십시오!

    알 수없는 오류

    자바.랭예외나 오류가 발생했지만 자바 가상 컴퓨터가 실제 예외나 오류를 보고할 수 없는 경우 알 수 없는 오류가 발생합니다. 알 수없는 오류는 거의 발생하지 않습니다. 사실,오라클 자바 버그 데이터베이스에서’알 수없는 오류’를 검색 할 때 발견 된 결함이 2 개만보고되었습니다.

    참조: 자바 응용 프로그램에 대한 원격 디버깅

    특성

    가상 기계 오류에는 몇 가지 주요 특성이 있습니다:

    • 체크되지 않은 예외
    • 동기&비동기 배달

    이 섹션에서는 이러한 두 가지 특성에 대해 알아보겠습니다.

    검사되지 않은 예외

    검사되지 않은 예외의 두 가지 유형이 있습니다.

    컴파일 타임에 검사되는 예외를 검사된 예외라고 합니다. 코드의 일부 메서드가 확인된 예외를 발생시키는 경우 메서드는 예외를 처리하거나’발생’키워드를 사용하여 예외를 지정해야 합니다. 이 예외의 예는 다음과 같습니다.

    검사되지 않은 예외에는 이 요구 사항이 없습니다. 그들은 잡히거나 던져 선언 할 필요가 없습니다. 모든 유형의 가상 기계 오류는 확인되지 않은 예외입니다.

    동기&비동기 배달

    예외는 동기 및 비동기의 두 가지 모드로 발생할 수 있습니다.

    동기 예외는 프로그램이 유사한 환경에서 실행된 횟수에 상관없이 특정 프로그램 문에서 발생합니다. 동기 예외의 예는 다음과 같습니다.

    비동기 예외는 프로그램 명령문의 어느 시점에서나 발생할 수 있습니다. 그것이 던져 질 수있는 일관성이 없습니다. 모든 가상 기계 오류는 비동기 적으로 던져 지지만 때로는 동 기적으로 던져 질 수도 있습니다. 스택 오버플로 오류는 네이티브 메소드 실행 또는 자바 가상 머신 리소스 제한으로 인해 메소드 호출에 의해 동 기적으로 발생 될 수 있으며 비동기 적으로 발생할 수 있습니다. 마찬가지로 객체 생성,배열 생성,클래스 초기화 및 복싱 변환 중에 비동기 적으로 메모리 오류가 발생할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.

Previous post 아프리카 계 미국인 상담
Next post 정신 분열증 환자는 위험합니까?