Discuss / Java / 不是很理解单例的作用

不是很理解单例的作用

Topic source

因为没怎么接触过实际项目,不太明白为什么要要求“一个进程有且只有一个实例”。有点抽象

a_bumpy_night

#2 Created at ... [Delete] [Delete and Lock User]

https://www.liaoxuefeng.com/wiki/1252599548343744/1321748528103458

可以参考这个廖老师讲过的,JDBC连接池的概念。通过连接池,我们只创建了一次DataSource,然后每次都使用这个单例连接同一个数据库。DataSource创建一次很麻烦,而且只要不换数据库,网站运行期间链接数据库所需要的实例是不需要改变的,所以就可以用单例。如果不用单例,每个用户登录一下连一次数据库,又断开,更改个东西又连数据库,又断开,网站肯定卡死了。

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

DataSource是池化的实例,也不一定是单例

单例的例子:

比如一个单机游戏,地图就是单例,游戏窗口也是单例

对着剑说

#4 Created at ... [Delete] [Delete and Lock User]

老师,您这里特地举了一个单机游戏的例子,那么网游呢,多线程呢,您在单例模式里说,单例的作用范围是:一个进程只有一个。这里我也理解得不是很深刻


  • 1

Reply