哪位大神能告诉我这有什么区别?

love__csdn 2018-03-30 05:23:16



还有我把这个类引进来调用它里面的方法跟new一个对象在调用有什么区别,跪求大神讲解一下,万分感谢……
...全文
453 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jq_15361628391 2018-04-10
  • 打赏
  • 举报
回复
首先,有一点,你写成静态的,点出来的connection是不是没有初始化,那是个null的,点出来没有用。其次,你的单例是成立的,但是这种方式可读性不强。再就是,你就是在把connection写成静态,要么在static代码块里面初始化,要是直接初始化。这种方式和你用静态方法的方式区别是一个是延迟加载,是有当调用get方法的时候才会去加载和初始化connection,而另外一种就是直接加载,当虚拟机加载ConnectionFactory的时候就会提前编译static修饰的属性和方法。 不理解,可以参考饿汉式,饱汉式单例模式。
木子0204 2018-04-10
  • 打赏
  • 举报
回复
这个应该是单例模式的写法吧
Hard_Z 2018-04-09
  • 打赏
  • 举报
回复
你调用的永远都是一个 而你new的新的会有多个
沁海棠 2018-03-31
  • 打赏
  • 举报
回复
connectionFactory 工厂类创建数据库连接, 工厂是一个单例的,通过工厂来获取连接.
yjsl__ 2018-03-30
  • 打赏
  • 举报
回复
打.调用不就是null了吗?这个工具类写得不好,应该是方法静态 调用它里面的方法跟new一个对象在调用没有区别,只是不可能new了,因为构造器私有化了
oyljerry 2018-03-30
  • 打赏
  • 举报
回复
new是每次创建一个新对象。单例就是每次都访问的同一个对象
城南一休 2018-03-30
  • 打赏
  • 举报
回复
你这个工具类是单例模式的,私有化了构造函数,所以不能直接通过new 来获取对象,只能通过内部的方法获取对象,而对象也是静态的,所以也就是说获取的对象都是同一个,节省了内存空间。不过JDBC的工具类完全没必要这么写,直接把你的getConnection方法定义成静态的就可以了。要获取连接对象的时候,直接通过类名点出来,方便好用
maradona1984 2018-03-30
  • 打赏
  • 举报
回复
个人觉得你这个类写的不够专业,槽点很多啊 1.类名首字母小写? 2.Connection这个变量在这个场景下根本没有定义的意义,直接把getConn定义成静态方法,直接返回DriverManager拿到的对象不就行了? 3.ConnectionFactory没有任何做单例对象的意义,可以去掉

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧