Android JVM 에서 알 아야 할 지식 들

2617 단어 Android고급
JVM 메모리 할당
JVM 메모리 구분, 우선 스 레 드 에서 두 부분 구분 
스 레 드 개인 부분
프로그램 카운터, 가상 컴퓨터 스 택, 로 컬 방법 스 택
특징: 쓰레기 회수 필요 없 이 스 레 드 종료 자동 종료.
스 레 드 공유 부분
방법 구역 
 특징: GC 회수 가 필요 합 니 다.
GC 알고리즘 (그 대상 들 이 회수 되 어야 한다 고 판단)
루트 검색 접근 성 알고리즘 은 루트 에 따라 검색 합 니 다. 루트 라 는 온라인 대상 에 의 해 인 용 된 대상 이 없 으 면 회수 할 수 있 습 니 다.
GCroot 대상
정적 속성 참조 대상, 상수 참조 대상, 가상 스 택 참조 대상, 로 컬 방법 스 택 참조 대상
——————————————————————————————————————
스 레 드 개인 적 인 뜻 으로 모든 스 레 드 는 프로그램 카운터, 가상 컴퓨터 스 택, 로 컬 방법 스 택 에 대응 합 니 다.N 여 개의 스 레 드 는 N 여 개의 스 레 드 에 대응 합 니 다.
프로그램 카운터
프로그램 카운터 의 역할: 프로그램 카운터 가 가리 키 는 것 은 다음 명령 의 주 소 를 가리 키 며 스 레 드 전환 이 실 수 를 방지 합 니 다.
 public static  void  main(){
      1,  Person person =new Person();
      2, personProxy.say("   ");
    }

javaC 는 자바 파일 을 'class 파일' 로 변환 합 니 다. 모든 줄 은 대응 하 는 바 이 너 리 명령 (바 이 너 리 명령 은 안 올 라 갑 니 다) 으로 변 환 됩 니 다. 프로그램 계수 기 는 앞의 1 을 말 합 니 다. 현재 명령 을 실행 할 때 프로그램 계수 기 + 1 을 말 합 니 다. 다음 프로그램 계수 기 는 2 가 됩 니 다. 프로그램 계수 기 는 현재 명령 이 그 단계 까지 실 행 될 것 을 지시 하 는 것 입 니 다.현재 스 레 드 는 집행 권 리 를 잃 고 집행 권 리 를 얻 을 때 프로그램 계수 기 를 통 해 프로그램 이 잘못 되 지 않도록 보증 할 수 있다.
 
가상 컴퓨터 창고
스 택 의 구조 가 선진 적 으로 나 와 스 택 이 허용 하 는 최대 깊이 를 초과 하면 이상 StackOverflow Error (일반 재 귀 는 발생) 를 던 집 니 다.
가상 스 택 의 역할: 자바 방법 을 실행 하고 모든 자바 방법 을 실행 하면 스 택 프레임 이 생 깁 니 다.
창고 프레임
부분 변수 표: 방법 이 사용 하 는 부분 변수 입 니 다. 첫 번 째 는 현재 대상 This 입 니 다.
작업 스 택  
동적 링크: 상수 탱크 를 연결 하 는 정보
반환 주소:  방법 반환 주소
자세 한 것 은 이 글 을 보 세 요. 자바 - 실행 시 스 택 프레임 구조 가 매우 가 늘 습 니 다.
로 컬 방법 창고
로 컬 방법 스 택 과 가상 컴퓨터 스 택 은 차이 가 많 지 않 지만 모두 native 방법 을 실행 합 니 다.
————————————————————————————————
방법 영역
정적 변수
정적 상수
자바 클래스 메타 정보 자바. class 파일 (이 클래스 의 모든 방법 과 변수, 상수 정보)
퇴적 구역
인 스 턴 스 대상 을 저장 합 니 다.
더 미 는 신세대 (1 / 3), 옛날 시대 (2 / 3), 영구 세대 (1.8 이상 은 원 공간 이 고 원 공간 은 물리 적 메모리 주 소 를 직접 사용 할 수 있 으 며 가상 컴퓨터 메모리 가 차지 하지 않 습 니 다) 로 나 뉜 다.
신생대
Eden (8) S1 (1) S2 (1) 로 나 뉜 다.
에덴 구
새로 만 든 대상 은 보통 Eden 지역 에 두 는데, 특별히 크 지 않 으 면 노년 지역 에 직접 넣 습 니 다.
s1 구역 s2 구역
이 두 비율 은 1 대 1 로 GC 가 먼저 Eden 구역 에서 스 캔 하면 생존 대상 은 S 구역 에 놓 인 다.
옛날
S 구역 의 대상 이 GC 를 한 번 지나 갈 때마다 나이 가 + 1 이 되 고 15 가 넘 으 면 옛날 로 들어간다.
GC 회수 알고리즘
 
신생대 
주로 복제 알고리즘
옛날
태그 지우 기와 태그 정리 결합
복제 법
주로 신세대 에 발생 합 니 다. s1 쌍 은 접근 성 알고리즘 을 거 쳐 copy 를 S2 구역 으로 복사 한 다음 에 s1 의 모든 메모 리 를 회수 합 니 다. 그러면 쓰레기 수 거 를 할 수 있 습 니 다. s1 과 s2 두 구역 은 복사 법 으로 메모 리 를 회수 합 니 다.
태그 지우 기
회수 해 야 할 메모 리 를 표시 하고 직접 제거 하면 단점 이 있 습 니 다. 예 를 들 어 1, 2, 3, 4, 5 대상 은 2 와 4 를 회수 합 니 다. 
표기 정리 법 
표 시 를 지 운 후 메모리 조각 을 제거 합 니 다.

좋은 웹페이지 즐겨찾기