new 和 newInstance区别
2016-03-15 00:00
176 查看
相同点:都可以创建一个类的实例。
不同点:new 是java的关键字,是用来创建一个新对象,有明确的用法和定义。
newInstance 不是关键字,newInstance() 是java反射框架中类对象(Class)创建新对象的方法,是经常使用,但非标准的方法名称。
newInstance 单例模式
单例模式的优点:
在内存中只有一个对象,节省内存空间。
避免频繁的创建销毁对象,可以提高性能。
避免对共享资源的多重占用。
可以全局访问。
适用场景:由于单例模式的以上优点,所以是编程中用的比较多的一种设计模式。我总结了一下我所知道的适合使用单例模式的场景:
需要频繁实例化然后销毁的对象。
创建对象时耗时过多或者耗资源过多,但又经常用到的对象。
有状态的工具类对象。
频繁访问数据库或文件的对象。
以及其他我没用过的所有要求只有一个对象的场景。
单例模式注意事项:
只能使用单例类提供的方法得到单例对象,不要使用反射,否则将会实例化一个新对象。
不要做断开单例类对象与类中静态引用的危险操作。
多线程使用单例使用共享资源时,注意线程安全问题。
不同点:new 是java的关键字,是用来创建一个新对象,有明确的用法和定义。
newInstance 不是关键字,newInstance() 是java反射框架中类对象(Class)创建新对象的方法,是经常使用,但非标准的方法名称。
newInstance 单例模式
单例模式的优点:
在内存中只有一个对象,节省内存空间。
避免频繁的创建销毁对象,可以提高性能。
避免对共享资源的多重占用。
可以全局访问。
适用场景:由于单例模式的以上优点,所以是编程中用的比较多的一种设计模式。我总结了一下我所知道的适合使用单例模式的场景:
需要频繁实例化然后销毁的对象。
创建对象时耗时过多或者耗资源过多,但又经常用到的对象。
有状态的工具类对象。
频繁访问数据库或文件的对象。
以及其他我没用过的所有要求只有一个对象的场景。
单例模式注意事项:
只能使用单例类提供的方法得到单例对象,不要使用反射,否则将会实例化一个新对象。
不要做断开单例类对象与类中静态引用的危险操作。
多线程使用单例使用共享资源时,注意线程安全问题。
相关文章推荐
- composer linux全局安装
- java 实现vsd转换为其它格式
- css调式技巧:a.class与a .class的区别, 空格的魅力
- JS:各种不同事件触发条件。onClick,onBlur等
- node.js + express + mongodb 新手写的简单的高校实验室人员及任务管理系统
- 系统运维安全设置
- JAVA自动生成正则表达式工具类
- JAVA中正则表达式总结
- springmvc 文件下载实现
- Cookie深度解析
- 解决servlet获取页面提交参数中文乱码
- 怎么实现ZBrush与数位板雕刻模型的结合运用
- 设计模式 —— 单例模式, Singleton Patttern
- eclipse字体大小设置
- ant安装
- 离线安装testNg
- eclipse中如何在当前工程中查找一个字符串
- Myeclipse错误:Errors occurred during the build.
- 第八章 Redis学习手册之事务
- iTween基础之CameraFade(摄像机淡入淡出)