java-memory-model

    2

    2답변

    를 호출? 과 같은 구현 세부 정보는 의도적으로 제외됩니다. method1은 closable을 캡처합니까?이 질문의 첫 번째 부분에 나와 있습니다. static char* value; void capture(char* ptr){ value = ptr; } int len(void) { return strlen(value); }

    3

    2답변

    java jpoint conference에서 비디오를보고 있습니다. 슬라이드에 영어 이외의 실례 : 나는 Alexey Shipilev 보고서에서 슬라이드를 다음에 대한 질문이 있습니다. 실제로 작가는 변수 세트가 될 수 없다고 말합니다. r1 = 1 (Y) r2 = 0 (x) r3 = 1 (x) r4 = 0 (Y) 비디오에 따르면 그는 분명히 그렇

    1

    1답변

    java에 리더 및 라이터 스레드가 있으며 아래 코드 스 니펫이 있습니다. int volatile ready = false; int var1; int var2; int var3; T1: while(!ready); print var1; print var2; print var3; T2: var1 = 1; var2

    0

    1답변

    "비 휘발성 long 및 double 변수 읽기/쓰기"는 비 원자 일 수 있습니다. 이것은 정적 및 비 정적 필드 및 배열과 관련이 있습니다. 그리고 대응하는 long/double 로컬 변수는 어떨까요? 그들은 원자 성이든 아니든간에.

    0

    1답변

    을이 질문은 JMM 우려 : 구체적 : https://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf 당신이 JMM 사양에서 다음 식을 (이 13 페이지의 섹션 5) 설명시겠습니까 두 작업이 발생하기 전에 관계를 공유하는 경우 관계 이전에 발생한 모든 코드와 의 순서대로 발생하지 않아도됩니다. 예를 들어, 다른 스레드

    3

    1답변

    private static class Node<E> { volatile E item; volatile Node<E> next; /** * Constructs a new node. Uses relaxed write because item can * only be seen after publication via c

    0

    1답변

    Java에서 로컬 기본 변수에 final 키워드를 사용하는 것은 무엇입니까? 성과 이익이 있습니까?

    11

    1답변

    명확한 방식으로 개념을 설명하는 포괄적 인 출처를 찾을 수 없습니다. 내 이해는 스레드가 새로운 객체를 할당하는 eden에 메모리 덩어리를 제공한다는 것입니다. 경쟁 쓰레드는 다소 연속적인 에덴 (eden) 덩어리를 갖게 될 것입니다. TLAB에서 첫 번째 스레드의 빈 영역이 부족하면 어떻게됩니까? 그것은 eden의 새 덩어리를 요청합니까?

    7

    1답변

    의 내가 이런 식으로 실행되는 두 개의 스레드가 있다고 가정 해 봅시다 : 공유 된 이미지의 픽셀을 업데이트하는 동안 계산을 수행 스레드 A를 스레드 B는 주기적으로 화면 에 이미지 복사를 읽고 스레드 A는 신속하게 작업을 수행합니다. 즉, 1 초당 1 백만 건의 업데이트로 잠금/뮤텍스/모니터를 자주 잠그고 잠금을 해제하는 것이 좋지 않을 것으로 생각됩니다

    4

    3답변

    이전에 답변을 받았을 수 있지만 문제가 복잡하기 때문에 확인이 필요합니다. 그래서 질문을 바꿉니다 질문 1 : 스레드가 동기화 된 블록에 들어갈 때 메모리 바리어는 내가 동기화 한 객체의 필드뿐만 아니라 어떤 필드도 포함하게됩니까? 많은 객체가 동기화 된 블록 내에서 수정되면 스레드 메모리 캐시간에 많은 양의 메모리 이동이 발생합니다. Thread 1 o