Singleton pattern is one of the most commonly used patterns in Java. It is used to control the number of objects created by preventing external instantiation and modification. This concept can be generalized to systems that operate more efficiently when only one object exists, or that restrict the instantiation to a certain number of objects, such as: java
The Story for Singleton windows
Here is a simple usage case. A country can have only one president (maybe normally). So whenever we want a president, just use AmericaPresident to return one. getPresident() method will make sure there is always only one president created. Otherwise, it would not be so nice. app
Class Diagram ide
package com.programcreek.designpatterns.singleton; public class AmericaPresident { private AmericaPresident() { } private static AmericaPresident thePresident; public static AmericaPresident getPresident(){ if(thePresident == null) thePresident = new AmericaPresident(); return thePresident; } }Singleton Pattern Used in Java Stand Library
java.lang.Runtime#getRuntime()
getRunTime() returns the runtime object associated with the current Java application. spa
Process p = Runtime.getRuntime().exec( "C:/windows/system32/ping.exe programcreek.com"); //get process input stream and put it to buffered reader BufferedReader input = new BufferedReader(new InputStreamReader( p.getInputStream())); String line; while ((line = input.readLine()) != null) { System.out.println(line); } input.close();Output:
Pinging programcreek.com [198.71.49.96] with 32 bytes of data: Reply from 198.71.49.96: bytes=32 time=53ms TTL=47 Reply from 198.71.49.96: bytes=32 time=53ms TTL=47 Reply from 198.71.49.96: bytes=32 time=52ms TTL=47 Reply from 198.71.49.96: bytes=32 time=53ms TTL=47 Ping statistics for 198.71.49.96: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 52ms, Maximum = 53ms, Average = 52ms