jvm 오류 - 동적 대상 나이 판정
jvm를 공부하는 사람들은 기본적으로 위의 말을 읽었는데 여기서 말하는 것은 동적 연령의 판정이다.동적 판정의 조건은 같은 연령의 모든 대상 크기의 총계가 서바이버 공간의 절반보다 크다는 것이다. 그리고 산출된 연령은 맥스틴uringThreshold의 값과 비교해야 한다. 이로써 맥스틴uringThreshold의 설정이 너무 커서 대상이 승진할 수 없다는 것을 보장한다.
문제의 제기
장면 가정
굳이 같은 연령이 아니라면 모든 대상의 크기가 서바이버 공간의 절반 이상이어야 승진할 수 있다.다음 장면을 보도록 하겠습니다.
추론을 시작하다
가설적 결론을 얻다
Survivor가 100%를 차지했지만 대상은 승진하지 않습니다.구시대에는 분명히 공간이 있었지만 대상은 젊은 세대에 머물렀다.그러나 이 결론은 jvm의 표현과 맞지 않는 것 같다. 오래된 시대에 공간이 있다면 결국 승진할 것이다.
문제의 해답 uint ageTable::compute_tenuring_threshold(size_t survivor_capacity) {
//survivor_capacity survivor
size_t desired_survivor_size = (size_t)((((double) survivor_capacity)*TargetSurvivorRatio)/100);
size_t total = 0;
uint age = 1;
while (age < table_size) {
total += sizes[age];//sizes
if (total > desired_survivor_size) break;
age++;
}
uint result = age < MaxTenuringThreshold ? age : MaxTenuringThreshold;
...
}
나는 승진 연령을 계산한 코드를 떼어냈다.동적 연령의 계산을 살펴보자.코드에는 TargetSurvivorRatio 값이 있습니다.
- XX: TargetSurvivorRatio 대상 생존율, 기본 50%
uint ageTable::compute_tenuring_threshold(size_t survivor_capacity) {
//survivor_capacity survivor
size_t desired_survivor_size = (size_t)((((double) survivor_capacity)*TargetSurvivorRatio)/100);
size_t total = 0;
uint age = 1;
while (age < table_size) {
total += sizes[age];//sizes
if (total > desired_survivor_size) break;
age++;
}
uint result = age < MaxTenuringThreshold ? age : MaxTenuringThreshold;
...
}
재연
아니면 위 장면?연령 1은 33%, 연령 2는 33%로 기본 Target Survivor Ratio(50%)를 누적하고 초과했으며 연령 2와 연령 3의 대상이 모두 승진했다.
소결
동적 대상 나이 판단은 주로 Target SurvivorRatio라는 매개 변수에 의해 제어된다.그리고 나이의 어릴 때부터 어른까지의 누적화라고 할 수 있으며, 어떤 연령대의 대상의 크기가 아니다.보고 나서 이 매개 변수를 기억해라. Target Survivor Ratio. 비록 너는 앞으로 기본적으로 그를 조정하지 않겠지만.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
동적 대상 나이 판단은 주로 Target SurvivorRatio라는 매개 변수에 의해 제어된다.그리고 나이의 어릴 때부터 어른까지의 누적화라고 할 수 있으며, 어떤 연령대의 대상의 크기가 아니다.보고 나서 이 매개 변수를 기억해라. Target Survivor Ratio. 비록 너는 앞으로 기본적으로 그를 조정하지 않겠지만.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.