> Java > java지도 시간 > 본문

Java 클래스 로딩 프로세스 예시 분석

WBOY
풀어 주다: 2023-05-14 15:25:06
앞으로
1380명이 탐색했습니다.

설명

프로그램에서 클래스를 적극적으로 사용할 때 클래스가 메모리에 로드되지 않은 경우 시스템은 다음 세 단계를 통해 클래스를 초기화합니다.

클래스 로딩 단계

1. 로딩: 클래스 파일의 바이트코드 내용을 메모리에 로딩하고, 이러한 정적 데이터를 메소드 영역의 런타임 데이터 구조로 변환한 다음, 이 클래스를 나타내는 java.lang을 생성합니다. 메소드 영역의 클래스 데이터에 대한 액세스 입구 역할을 합니다.

2. 연결: Java 클래스의 바이너리 코드를 JVM의 실행 상태로 병합하는 프로세스입니다.

3. 클래스 생성자 () 메서드를 실행하는 과정입니다.

인스턴스

public class ClassLoadingTest{
    public static void main (String [] args){
        System.out.println(test.m);
    }
}
 
class test{
    static {
        m = 300;
    }
    static int m = 100;
}
//第一步:加载
//第二步:链接结束后m=0
//第三步:初始化结束后,m的值由<clinit>()方法执行决定
/*
这个test构造器<clinit>()方法由类变量的赋值和静态代码块中的语句按照顺序合并产生,类似于
<clinit>(){
m = 300;
m = 100;
}
*/
로그인 후 복사

위 내용은 Java 클래스 로딩 프로세스 예시 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!