Паттерн проектирования Singleton широко используется во всём Java Development Kit. Этот паттерн гарантирует, что у класса будет только один экземпляр на протяжении всей жизни приложения, с глобальной точкой доступа к этому экземпляру.
java.lang.Runtime.getRuntime() — возвращает экземпляр класса Runtime, который управляет окружением JVM. Существует только один экземпляр на процесс JVM, контролирующий ресурсы вроде сборки мусора и операций завершения работы.
java.lang.System.getSecurityManager() — предоставляет доступ к синглтону SecurityManager для текущей платформы. Он управляет политиками безопасности и разрешениями во всём приложении.
java.awt.Desktop.getDesktop() — возвращает экземпляр Desktop, представляющий окружение рабочего стола. Этот синглтон обрабатывает операции рабочего стола: открытие файлов, переход по URL и т. д.
Паттерн Singleton в этих классах JDK необходим по ряду причин:
Эти примеры из JDK, как правило, реализуют паттерн Singleton через private-конструкторы и статические фабричные методы вроде getInstance() или getRuntime(), запрещая прямое создание экземпляров и при этом предоставляя контролируемый доступ к единственному экземпляру.
Метод java.lang.Runtime.getRuntime() возвращает новый экземпляр Runtime каждый раз при вызове, позволяя нескольким экземплярам сосуществовать в одном процессе JVM.
Новый — ещё не проверен сообществом
Вы