易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Java单例模式的几种写法
Java单例模式的几种写法
private
static
final
UserService userService =
new
UserService();
private
UserService() {
}
/**
* 采取预加载的方式,userService在 classLoader 载入UserService.class 已经声明了对象
*
* @return
*/
public
static
UserService getInstance() {
return
userService;
}
/**
* 用了synchronized 多个线程排队的情况比较严重
*
* @return
*/
// public static synchronized UserService getInstance(){
// if(userService==null){
// userService = new UserService();
// }
// return userService;
// }
/**
* 可能会创建多个实例的情况
*
*
*/
// public static UserService getInstance() {
// if (userService == null) {
// synchronized (UserService.class) {
//
// userService = new UserService();
// }
// }
// return userService;
//
// }
// /**
// * 通过双检查来判断,当前实例是否为空,第一次创建实例的时候可能会出现排队情况
// *
// * 创建完实例后,以后不会有排队的情况
// *
// */
// public static UserService getInstance() {
// if (userService == null) {
// synchronized (UserService.class) {
// if (userService == null) {
// userService = new UserService();
// }
// }
// }
// return userService;
//
// }
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图