为什么会全局
来源:2-5 初始化工具类MyBatisUtils
kevin唯心
2020-01-31 18:22:29
老师我不清楚为什么把连接放到类中写成静态就能全局唯一了,在逻辑层new 对象只能当前用户自己用。要想所有用户一起用就封装起来么? 能详细说明下不。有点迷糊
1回答
好帮手慕酷酷
2020-02-01
同学你好,因为对于静态代码块或者静态变量、方法,会在类加载的过程中就会被初始化,而且在内存中只存在一份,所有不需要创建对象就可以直接使用,在内存中唯一,也就是全局唯一。使用这种方式的原因是,
1、可以简化编写,使用 工具类.方法名 就可以来使用,不需要多次new对象,浪费内存。
2、如果我们在创建连接的时候,使用的对象是a,而资源释放的是对象b,那么a和b不是一个对象。并且分别通过a和b获取的数据库驱动,也不是同一个驱动,所以要保证全局唯一性。一直使用一开始创建的那个对象。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题