Matches in DBpedia 2016-04 for { <http://wikidata.dbpedia.org/resource/Q3504872> ?p ?o }
Showing triples 1 to 17 of
17
with 100 triples per page.
- Q3504872 subject Q8268983.
- Q3504872 subject Q8285793.
- Q3504872 abstract "In software engineering, the Initialization on Demand Holder (design pattern) idiom is a lazy-loaded singleton. In all versions of Java, the idiom enables a safe, highly concurrent lazy initialization with good performance.The implementation of the idiom relies on the initialization phase of execution within the Java Virtual Machine (JVM) as specified by the Java Language Specification (JLS). When the class Something is loaded by the JVM, the class goes through initialization. Since the class does not have any static variables to initialize, the initialization completes trivially. The static class definition LazyHolder within it is not initialized until the JVM determines that LazyHolder must be executed. The static class LazyHolder is only executed when the static method getInstance is invoked on the class Something, and the first time this happens the JVM will load and initialize the LazyHolder class. The initialization of the LazyHolder class results in static variable INSTANCE being initialized by executing the (private) constructor for the outer class Something. Since the class initialization phase is guaranteed by the JLS to be serial, i.e., non-concurrent, no further synchronization is required in the static getInstance method during loading and initialization. And since the initialization phase writes the static variable INSTANCE in a serial operation, all subsequent concurrent invocations of the getInstance will return the same correctly initialized INSTANCE without incurring any additional synchronization overhead.This gives a highly efficient thread-safe "singleton" cache, without synchronization overhead; benchmarking indicates it to be far faster than even uncontended synchronization. However, the idiom is singleton-specific and not extensible to pluralities of objects (e.g. a map-based cache).".
- Q3504872 wikiPageExternalLink memoryModel.
- Q3504872 wikiPageExternalLink jsr-133-faq.html.
- Q3504872 wikiPageExternalLink DoubleCheckedLocking.html.
- Q3504872 wikiPageWikiLink Q181156.
- Q3504872 wikiPageWikiLink Q186468.
- Q3504872 wikiPageWikiLink Q193321.
- Q3504872 wikiPageWikiLink Q2599269.
- Q3504872 wikiPageWikiLink Q2712542.
- Q3504872 wikiPageWikiLink Q746699.
- Q3504872 wikiPageWikiLink Q80993.
- Q3504872 wikiPageWikiLink Q8268983.
- Q3504872 wikiPageWikiLink Q8285793.
- Q3504872 comment "In software engineering, the Initialization on Demand Holder (design pattern) idiom is a lazy-loaded singleton. In all versions of Java, the idiom enables a safe, highly concurrent lazy initialization with good performance.The implementation of the idiom relies on the initialization phase of execution within the Java Virtual Machine (JVM) as specified by the Java Language Specification (JLS). When the class Something is loaded by the JVM, the class goes through initialization.".
- Q3504872 label "Initialization-on-demand holder idiom".