«weak-references» 태그된 질문

약한 참조는 소유권을 주장하지 않는 참조입니다. 약한 참조는 해당 개체가 메모리에있는 동안 해당 개체에 대한 참조를 유지하지만 참조 된 개체가 더 이상 필요하지 않을 때 메모리 관리 시스템이 관련 메모리를 회수하는 것을 방지하지는 않습니다. 많은 언어가 Swift, Objective-C, Java, C #, Python, Perl 및 Lisp와 같은 다양한 수준의 약한 참조를 특징으로하거나 지원합니다.


6
ARC에서 항상 자신에 대한 약한 참조를 블록으로 전달합니까?
Objective-C의 블록 사용에 대해 약간 혼란 스럽습니다. 현재 ARC를 사용하고 있으며 앱에 많은 블록이 있으며 현재 self약한 참조 대신 항상 참조합니다 . 이러한 블록이 유지 self되고 할당이 해제되지 않도록 하는 원인이 될 수 있습니까? 문제는 항상 블록에서 weak참조를 사용해야 self합니까? -(void)handleNewerData:(NSArray *)arr { ProcessOperation *operation = [[ProcessOperation alloc] initWithDataToProcess:arr completion:^(NSMutableArray …

7
약한 참조와 소유되지 않은 참조의 차이점은 무엇입니까?
스위프트는 : 강력한 참조 약한 참조 소유되지 않은 참조 소유하지 않은 참조는 약한 참조와 어떻게 다릅니 까? 소유하지 않은 참조를 사용하는 것이 언제 안전합니까? 소유되지 않은 참조는 C / C ++에서 매달려있는 포인터 와 같은 보안 위험 요소 입니까?






4
Java의 참조 클래스 이해 : SoftReference, WeakReference 및 PhantomReference
누군가가 세 가지 참조 클래스의 차이점을 설명 할 수 있습니까 (또는 멋진 설명에 대한 링크를 게시 할 수 있습니까)? SoftReference> WeakReference> PhantomReference하지만, 나는 각각을 사용하는 경우? 또는 WeakHashMap없는 이유는 무엇 입니까?SoftHashMapPhantomHashMap 그리고 다음 코드를 사용하면 ... WeakReference<String> ref = new WeakReference<String>("Hello!"); if (ref != null) { // ref can get …

4
__weak 참조와 __block 참조의 차이점은 무엇입니까?
저는 Xcode의 문서를 읽고 있는데 여기에 저를 당혹스럽게하는 것이 있습니다. __block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; 다음은 문서에서 복사되었습니다. 블록은 캡처하는 변수에 대한 강력한 참조를 형성합니다. 당신이 사용하는 경우 self블록 내에서 블록에 강한 참조를 형성 self그렇다면, self또한 블록에 대한 강한 참조 (가 일반적으로 수행하는), 강한 …

2
WeakHashMap 사용에도 불구하고 OutOfMemoryException
를 호출하지 않으면 System.gc()시스템에서 OutOfMemoryException이 발생합니다. 왜 System.gc()명시 적으로 전화해야하는지 모르겠습니다 . JVM이 gc()스스로 호출해야 합니까? 조언 부탁드립니다. 다음은 내 테스트 코드입니다. public static void main(String[] args) throws InterruptedException { WeakHashMap<String, int[]> hm = new WeakHashMap<>(); int i = 0; while(true) { Thread.sleep(1000); i++; String key = new String(new Integer(i).toString()); …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.