getInstance是一个函数。在java中,可以使用这种方式使用单例模式创建类的实例,所谓单例模式就是一个类有且只有一个实例,不像 objectob = new object() 的这种方式去实例化后去使用。主函数当中使用类的getInstance 函数,即可得到系统当前已经实例化的该类对象,若当前系统还没有实例化过这个类的对象。
GetInstance与new区别:
- 如Object object = new Object(),这时候,就必须要知道有第二个Object的存在,而第二个Object也常常是在当前的应用程序域中的,可以被直接调用的;而 ggetInstance() 在主函数开始时调用,返回一个实例化对象,此对象是static的,在内存中保留着它的引用,即内存中有一块区域专门用来存放静态方法和变量,可以直接使用,调用多次返回同一个对象。
- new创建后只能当次使用,而getInstance() 可以跨栈区域使用,或者远程跨区域使用。所以getInstance() 通常是创建static静态实例方法的
- new 一定要生成一个新对象,分配内存;getInstance() 则不一定要再次创建,它可以把一个已存在的引用给你使用,这在效能上优于new
参考文章:
未完待续