01.package namespace;
02.
03.
04.
05.//单例模式--- 饿汉式
06./*
07.class Person
08.{
09. private Person p=new Person ();
10. private Person () {}
11. public Person GetInstance()
12. {
13. return p;
14. }
15.}
16.*/
17./*
18. * 下面是懒汉式,只在在单线种的情况下,而这种情况在多线程的情况下会多现在不安全现在,因为如果有两个线程同时访问到new Person ,那么我就生成两个对象,这样就违反了
19. * 单例模式下面一个是在多线
20. * */
21./*
22.class Person
23.{
24. private Person person=null;
25. private Person () {}
26. public Person getInstance()
27. {
28. if(person==null)
29. {
30. person =new Person();
31. }
32. return person;
33. }
34.
35.}*/
36.class Person
37.{
38. private Person person=null;
39. private Person () {}
40. public Person getInstance()
41. {
42. if(person==null)
43. {
44. synchronized(this)
45. {
46. if(person==null)
47. person =new Person();
48.
49. }
50. }
51. return person ;
52. }
53.}
54./*
55. *
56. * 这样在synchronized 线程控制块里面进行多线程的控制,就不会再出现多个线程访问时出现多个对象的情况了.
57. * 还有一点就是外面的person ==null 判断是用来提高效率的,不然第一次都要对锁进行判断,消耗浓资源
58. * 这样可以有次的提高效率
59. * */
60.public class Single {
61. public static void main(String args[])
62. {
63. System.out.println("this is java");
64. }
65.}
66./*
67. * 单例模式就是在内存中想只能存在一个对象,而不允许再实例化其他的对象
68. *
69. * */
分享到:
相关推荐
一个简单的java工程,包含注释,一目了然,其中包含了单例模式的所有实现方式,懒汉式,饿汉式,双重校验,枚举,静态内部类等方式实现单例。
Java 单例模式 懒汉模式 //懒汉式 多线程中不可以保证是一个对象
Java单例模式,其中:单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种
详细讲解了Java单例模式的几种实现方式,并有详细的示例配合讲解.
作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 PPT详细了单例模式的实现和使用场景
java单例模式的例子java单例模式的例子java单例模式的例子
源码 博文链接:https://tianlihu.iteye.com/blog/747737
Java单例模式Java单例模式Java单例模式Java单例模式
java单例模式及实现
Java设计模式-单例模式(懒汉和恶汉)
这段代码实现了一个简单的日志记录器Logger,其中使用了Java的单例模式。在类的构造方法中,首先定义...这个简单的示例代码展示了如何使用Java单例模式来实现一个日志记录器的简单功能,方便了对日志数据的管理和记录。
java单例模式代码实例
java单例模式连接数据库源码.可以直接引用只需加入相应的mysql 或 oracle的驱动,修改源码的连接地址用户名及密码。
详解JAVA单例模式及多种实现
java单例模式
代码中演示了Java设计模式中的单例模式,其中包括饿汉单例模式,懒汉单例模式以及序列化饭序列化单例模式。在实际的开发中,可以直接借鉴使用。
非常详细的Java单例模式讲解的文档,请求通过,已经上传过一次了
【ASP.NET编程知识】java 单例模式(饿汉模式与懒汉模式).docx