作业帮 > 综合 > 作业

单例模式中的实例是在什么时候产生的?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 20:53:12
单例模式中的实例是在什么时候产生的?
你加载该类的时候,而且只能产生一个实例对象,所以叫单例模式,他的构造器是私有的,只能通过它的一个静态方法得到实例,而这个静态方法可以去调构造器产生一个实例并返回
再问: 启动服务器的时候是怎样加载这个单例类的?
再答: Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每个这样的实例用来表示一个 Java 类。通过此实例的 newInstance()方法就可以创建出该类的一个对象。 其实所谓的单例模式并不是他的对象永远就只有一个,一个类的对象在我们需要的时候可以随时创建,但是我们不需要管实例的销毁,因为垃圾管理器会自动销毁,这也是java语言的一个特点之一;但是单例模式就是在该类在已经创建一个对象的情况下不允许在创建另一个对象,所以你在使用线程的时候要注意单例类的锁定,不允许2个线程中同时调用一个单例类,应为这2个线程的实例会被创建2次也就是2个不同的实例,这违反了单例模式的约束;所以你的问题:在启动服务器的时候该类的实例并没有产生;但是该类会在 java.lang.Class中有一份他自己的字节码。 不知道我说的够不够详细了,不懂得再问