设计模式篇之一文搞懂如何实现单例模式

来源:腾讯云 2023-03-17 21:02:20

设计模式篇之一文搞懂如何实现单例模式

大家好,我是小简,这一篇文章,6种单例方法一网打尽,虽然单例模式很简单,但是也是设计模式入门基础,我也来详细讲讲。


(资料图)

DEMO仓库:https://github.com/JanYork/DesignPattern ,欢迎PR,共建。

单例模式

单例模式(SingletonPattern)是 Java中最简单的设计模式之一。

单例模式一共存在 --> 懒汉式、饿汉式、懒汉+同步锁、双重校验锁、静态内部类、枚举这六种方式。

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。

这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

要求

单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。

为什么需要使用单例模式

只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等。解决一个全局使用的类频繁地创建与销毁问题。其他场景自行脑部,单例即全局唯一对象,比如我们所熟悉的SpringBean默认就是单例的,全局唯一。

单例原理

单例的原理非常简单,我们让他唯一的方法就是让他不可用被new,那我们只需要私有化类的构造即可:

private ClassName() {}

但是私有化后,我们不能new又如何创建对象呢?

我们首先要明白,private他是私有的,也就是不让外部其他类访问,那我们自己还是可以访问的,所以在上文的要求中就说到了:单例类必须自己创建自己的唯一实例。

同时我们还需要抛出单例的获取方法。

单例模式之懒汉式

创建单例类

public class SlackerStyle {}

创建一个属性保存自身对象

public class SlackerStyle {    private static SlackerStyle instance;}

私有化构造

public class SlackerStyle {    private static SlackerStyle instance;    /**     * 私有化构造方法(防止外部new新的对象)     */    private SlackerStyle() {    }}

自身创建对象与获取对象方法

public class SlackerStyle {    private static SlackerStyle instance;    /**     * 私有化构造方法(防止外部new新的对象)     */    private SlackerStyle() {    }    /**     * 提供一个静态的公有方法,当使用到该方法时,才去创建instance     * 即懒汉式     *     * @return instance(单例对象)     */    public static SlackerStyle getInstance() {        if (instance == null) {            instance = new SlackerStyle();        }        return instance;    }}

当我们调用静态方法,它便会判断上面的静态属性instance中有无自身对象,无 --> 创建对象并赋值给instance,有 --> 返回instance

优缺分析

优点:延迟加载,效率较高。缺点:线程不安全,可能会造成多个实例。

解释:延迟加载 --> 懒汉式只有在需要时才会创建单例对象,可以节约资源并提高程序的启动速度。

单例模式之懒汉式+锁

在以上的类中,对getInstance()方法添加synchronized锁,即可弥补线程不安全缺陷。

/**     * 注意,此段为补充,为了解决线程不安全的问题,可以在方法上加上synchronized关键字,但是这样会导致效率下降     * 提供一个静态的公有方法,加入同步处理的代码,解决线程安全问题     * 此方法为线程安全的懒汉式,即懒汉+同步锁,就不额外写一个类了     *     * @return instance(单例对象)     */    public static synchronized SlackerStyle getInstance2() {        if (instance == null) {            instance = new SlackerStyle();        }        return instance;    }

虽然弥补了线程不安全的缺陷,但是也失去了一部分效率,所以需要根据业务环境去选择适合的方法,鱼和熊掌不可兼得。

单例模式之饿汉式

还是如开始一样,创建好单例类,私有化构造方法。

public class HungryManStyle {    /**     * 私有化构造方法(防止外部new新的对象)     */    private HungryManStyle() {    }}

静态初始化对象

我们饿汉式是延迟加载的,即要用,然后第一次去调用时才会创建对象,而饿汉式恰恰相反,他在初始化类的时候就去创建。

静态初始化?

我们的static关键词修饰的方法或属性,在类加载之初遍开辟内存创建好了相关的内容了。

包括每个类的:

static{}

中也一样的。

所以我们直接使用static修饰。

public class HungryManStyle {    /**     * 静态变量(单例对象),类加载时就初始化对象(不存在线程安全问题)     */    private static final HungryManStyle INSTANCE = new HungryManStyle();    /**     * 私有化构造方法(防止外部new新的对象)     */    private HungryManStyle() {    }    /**     * 提供一个静态的公有方法,直接返回INSTANCE     *     * @return instance(单例对象)     */    public static HungryManStyle getInstance() {        return INSTANCE;    }}

而且我们在类的静态属性创建时就new了一个自身对象了。

优缺分析

饿汉式的优点如下:

线程安全:由于在类加载时就创建单例对象,因此不存在多线程环境下的同步问题。没有加锁的性能问题:饿汉式没有使用同步锁,因此不存在加锁带来的性能问题。实现简单:饿汉式的实现比较简单,不需要考虑多线程环境下的同步问题。

饿汉式的缺点如下:

立即加载:由于在类加载时就创建单例对象,因此可能会影响程序的启动速度。浪费资源:如果单例对象很大,并且程序中很少使用,那么饿汉式可能会浪费资源。

综上所述,饿汉式的优点是线程安全、没有加锁的性能问题和实现简单,缺点是可能影响程序的启动速度和浪费资源。

在选择单例模式的实现方式时,需要根据实际情况综合考虑各种因素,选择最适合的方式。

单例模式之双重检查锁

初始化基本单例类

老规矩。

public class DoubleLockStyle {    /**     * volatile关键字,使得instance变量在多个线程间可见,禁止指令重排序优化     * volatile是一个轻量级的同步机制,即轻量锁     */    private static volatile DoubleLockStyle instance;    /**     * 私有化构造方法(防止外部new新的对象)     */    private DoubleLockStyle() {    }}

不一样的是,我在属性上使用volatile关键词修饰了。

volatile?

补充知识啦!

在这个代码中,使用了 volatile 关键字来确保 instance 变量的可见性,避免出现空指针异常等问题。

volatile是一种修饰符,用于修饰变量。当一个变量被声明为volatile时,线程在访问该变量时会强制从主内存中读取变量的值,而不是从线程的本地缓存中读取。使用volatile关键字可以保证多线程之间的变量访问具有可见性和有序性。在对该变量进行修改时,线程也会将修改后的值强制刷回主内存,而不是仅仅更新线程的本地缓存。

补充:

volatile的主要作用是保证共享变量的可见性和有序性。共享变量是指在多个线程之间共享的变量,例如单例模式中的 instance变量。如果不使用volatile关键字修饰 instance变量,在多线程环境下可能会出现空指针异常等问题。

这是因为当一个线程修改了 instance变量的值时,其他线程可能无法立即看到修改后的值,从而出现空指针异常等问题。

使用 volatile关键字可以解决这个问题,因为它可以保证对共享变量的修改对其他线程是可见的。

除了可见性和有序性之外,volatile 还可以防止指令重排序。指令重排序是指 CPU 为了提高程序执行的效率而对指令执行的顺序进行调整的行为。在单例模式中,如果 instance 变量没有被声明为 volatile,那么在多线程环境下可能会出现单例对象被重复创建的问题。这是因为在多线程环境下,某些线程可能会在 instance 变量被初始化之前就调用 getInstance()方法,从而导致多次创建单例对象。通过将 instance 变量声明为 volatile,可以保证在创建单例对象之前,instance 变量已经被正确地初始化了。

双重锁

/** * 提供一个静态的公有方法,加入双重检查代码,解决线程安全问题,同时解决懒加载问题 * 即双重检查锁模式 * * @return instance(单例对象) */public static DoubleLockStyle getInstance() {    if (instance == null) {        // 同步代码块,线程安全的创建实例        synchronized (DoubleLockStyle.class) {            //之所以要再次判断,是因为可能有多个线程同时进入了第一个if判断            if (instance == null) {                instance = new DoubleLockStyle();            }        }    }    return instance;}

在获取方法中,使用synchronized来同步,使它线程安全。

有缺分析

双重锁模式是一种用于延迟初始化的优化模式,在第一次调用时创建单例对象,并在之后的访问中直接返回该对象。它通过使用双重检查锁定(double checked locking)来保证在多线程环境下只有一个线程可以创建单例对象,并且不会加锁影响程序性能。

优点:

线程安全:使用双重锁模式可以保证在多线程环境下只有一个线程可以创建单例对象,并且不会加锁影响程序性能。延迟初始化:在第一次调用时创建单例对象,可以避免不必要的资源浪费和内存占用。性能优化:通过使用双重检查锁定,可以避免不必要的锁竞争,从而提高程序性能。

缺点:

实现复杂:双重锁模式的实现相对复杂,需要考虑线程安全和性能等因素,容易出现错误。可读性差:由于双重锁模式的实现比较复杂,代码可读性较差,不易于理解和维护。难以调试:由于双重锁模式涉及到多线程并发访问,因此在调试过程中可能会出现一些难以定位和复现的问题。

一个synchronized为何叫双重锁?

在双重锁模式中,确实只有一个 synchronized关键字,但是这个 synchronized关键字是在代码中被使用了两次,因此被称为“双重锁”。

具体来说,双重锁模式通常会在 getInstance方法中使用 synchronized关键字来保证线程安全,但是这会影响程序的性能,因为每次访问 getInstance方法都需要获取锁。为了避免这个问题,双重锁模式使用了一个优化技巧,即只有在第一次调用 getInstance方法时才会获取锁并创建单例对象,以后的调用都直接返回已经创建好的单例对象,不需要再获取锁。

具体实现时,双重锁模式会在第一次调用 getInstance方法时进行两次检查,分别使用外部的 if语句和内部的 synchronized关键字。外部的 if语句用于判断单例对象是否已经被创建,如果已经被创建则直接返回单例对象,否则进入内部的 synchronized关键字块,再次检查单例对象是否已经被创建,如果没有被创建则创建单例对象并返回,否则直接返回已经创建好的单例对象。

这样做的好处是,在多线程环境下,只有一个线程可以进入内部的 synchronized关键字块,从而保证了线程安全,同时避免了每次访问 getInstance方法都需要获取锁的性能问题。

单例模式之静态内部类

因为已经熟悉了这个设计模式原理,我就直接放代码了。

public class StaticInnerClassStyle {    /**     * 私有化构造方法(防止外部new新的对象)     */    private StaticInnerClassStyle() {    }    /**     * 静态内部类     */    private static class SingletonInstance {        // 静态内部类中的静态变量(单例对象)        private static final StaticInnerClassStyle INSTANCE = new StaticInnerClassStyle();    }    /**     * 提供一个静态的公有方法,直接返回SingletonInstance.INSTANCE     *     * @return instance(单例对象)     */    public static StaticInnerClassStyle getInstance() {        return SingletonInstance.INSTANCE;    }}

优缺分析

优点:

线程安全:静态内部类在第一次使用时才会被加载,因此在多线程环境下也可以保证只有一个线程创建单例对象,避免了线程安全问题。延迟加载:静态内部类模式可以实现延迟加载,即只有在第一次调用 getInstance方法时才会加载内部类并创建单例对象,避免了在程序启动时就创建单例对象的开销。

缺点:

需要额外的类:静态内部类模式需要定义一个额外的类来实现单例模式,如果项目中有大量的单例对象,则会增加代码量。无法传递参数:静态内部类模式无法接受参数,因此无法在创建单例对象时传递参数,这可能会对某些场景造成限制。

总的来说,静态内部类模式是一种性能高、线程安全的单例模式实现方式,适用于大部分场景。

如果需要传递参数或者需要频繁创建单例对象,则可能需要考虑其他的实现方式。

它不是static修饰吗?为什么也可以懒加载

懒加载即延时加载 --> 使用时采取创建对象。

在静态内部类模式中,单例对象是在静态内部类中被创建的。静态内部类只有在第一次被使用时才会被加载,因此单例对象也是在第一次使用时被创建的。这样就实现了延迟加载的效果,即在需要时才创建单例对象,避免了在程序启动时就创建单例对象的开销。

此外,静态内部类中的静态变量和静态方法是在类加载时被初始化的,而静态内部类本身是非常轻量级的,加载和初始化的时间和开销都非常小。因此,静态内部类模式既能够实现懒加载,又不会带来太大的性能损失。

总之,它在静态初始化意料之外,我相信也在你意料之外。

单例模式之枚举单例

/** * @author JanYork * @date 2023/3/1 17:54 * @description 设计模式之单例模式(枚举单例) * 优点:避免序列化和反序列化攻击破坏单例,避免反射攻击破坏单例(枚举类型构造函数是私有的),线程安全,延迟加载,效率较高。 * 缺点:代码复杂度较高。 */public enum EnumerateSingletons {    /**     * 枚举单例     */    INSTANCE;    public void whateverMethod() {        // TODO:do something ,在这里实现单例对象的功能    }}

在上述代码中,INSTANCEEnumSingleton类型的一个枚举常量,表示单例对象的一个实例。由于枚举类型的特性,INSTANCE会被自动初始化为单例对象的一个实例,并且保证在整个应用程序的生命周期中只有一个实例。

使用枚举单例的方式非常简单,只需要通过 EnumSingleton.INSTANCE的方式来获取单例对象即可。例如:

EnumerateSingletons singleton = EnumerateSingletons.INSTANCE;singleton.doSomething();

使用枚举单例的好处在于,它是线程安全、序列化安全、反射安全的,而且代码简洁明了,不容易出错。另外,枚举单例还可以通过枚举类型的特性来添加其他方法和属性,非常灵活。

优缺分析

线程安全:枚举类型的实例创建是在类加载的时候完成的,因此不会出现多个线程同时访问创建单例实例的问题,保证了线程安全。序列化安全:枚举类型默认实现了序列化,因此可以保证序列化和反序列化过程中单例的一致性。反射安全:由于枚举类型的特殊性,不会被反射机制创建多个实例,因此可以保证反射安全。简洁明了:枚举单例的代码非常简洁,易于理解和维护。

枚举单例的缺点相对来说比较少,但是也存在一些限制:

不支持懒加载:枚举类型的实例创建是在类加载的时候完成的,因此无法实现懒加载的效果。无法继承:枚举类型不能被继承,因此无法通过继承来扩展单例类的功能。有些情况下不太方便使用:例如需要传递参数来创建单例对象的场景,使用枚举单例可能不太方便。

总之,枚举单例是一种非常优秀的单例实现方式,它具有线程安全、序列化安全、反射安全等优点,适用于大多数单例场景,但也存在一些限制和局限性。需要根据具体的场景来选择合适的单例实现方式。

这么多方式我该怎么选?

设计模式本就是业务中优化一些设计带来的概念性设计,我们需要结合业务分析:

饿汉式:适用于单例对象较小、创建成本低、不需要懒加载的场景。懒汉式:双重锁:适用于多线程环境,对性能要求较高的场景。静态内部类:适用于多线程环境,对性能要求较高的场景。枚举:适用于单例对象创建成本较高,且需要考虑线程安全、序列化安全、反射安全等问题的场景。

如果你的单例对象创建成本低、不需要考虑线程安全、序列化安全、反射安全等问题,建议使用饿汉式实现单例;如果需要考虑线程安全和性能问题,可以选择懒汉式的双重锁或静态内部类实现方式;如果需要考虑单例对象创建成本较高,需要考虑线程安全、序列化安全、反射安全等问题,建议选择枚举单例实现方式。当然,在实际的开发中,还需要考虑其他一些因素,如单例对象的生命周期、多线程访问情况、性能要求、并发访问压力等等,才能综合选择最合适的单例实现方式。

Java程序员身边的单例模式

来自某AI(敏感词):

上一篇 :

下一篇 :

x 广告
高层声音

设计模式篇之一文搞懂如何实现单例模式

2023-03-17

甘肃白银启动“无废城市”建设 黄河沿岸遍地成“景”_天天微速讯

2023-03-17

河南省农信联社副主任吴金鹏被查

2023-03-17

航天发展:蓝军装备中的部分外场设备属于易耗品

2023-03-17

小手牵大手作文初二(热门90篇)

2023-03-17

环球即时:【宋薛】纸醉金迷43~46(宋岚x薛洋)

2023-03-17

工业旅游兴起,一线工人“唱主角”

2023-03-17

【新视野】恶魔电影系统小说_恶魔电影系统

2023-03-17

双喜临门!伊万-托尼27岁生日当天重返英格兰队大名单

2023-03-16

奥斯梅恩:自信是最强前锋之一,德罗巴是我的偶像|观焦点

2023-03-16

汽车资讯:梅赛德斯·迈巴赫GLS能否与Bentley Bentayga和Rolls-Royce Cullinan匹敌?_天天最资讯

2023-03-16

热消息:4300余人报名 呈贡区老年大学今年开设17门专业课程

2023-03-16

奥迪Q5 e-tron 40 e-tron:领先于时代的电动SUV 全球观热点

2023-03-16

环球资讯:共60国!试点恢复出境团队游全名单来了

2023-03-16

儿童啃指甲是什么原因造成的_儿童啃指甲是什么原因

2023-03-16

*ST凯乐:控股股东被动减持284.13万股公司股份,拟继续被动减持不超1.14%股份

2023-03-16

歌华有线(600037):3月15日北向资金增持81.6万股

2023-03-16

世界热头条丨千亿龙头获主力重金杀入,两大行业市盈率处在近十年低位

2023-03-15

全球简讯:二轮摩托车违章查询58_二轮摩托车违章查询

2023-03-15

中国同盟会的机关报_中国同学网

2023-03-15

国家对转业干部住房如何保障_军队转业干部住房保障办法 天天热推荐

2023-03-15

女演员实名举报五星级酒店,涉事酒店回应_世界播资讯

2023-03-15

连云港:民建会员连云增绿添彩

2023-03-15

富丽堂皇的意思_美满的反义词-全球播资讯

2023-03-15

全球短讯!洪涛股份:公司参与了中国电信、中国移动多个营业厅的装饰装修项目和设计项目

2023-03-15

3月14日基金净值:富国远见优选混合A最新净值1.0117,跌0.51%

2023-03-15

沙尘暴蓝色预警:河北、北京、天津等9省区市有扬沙或浮尘|环球快资讯

2023-03-14

铝合金计算重量对照表_铝合金理论重量计算公式

2023-03-14

发生重大债务违约时未及时履行临时信披义务 鸿达兴业收深交所监管函

2023-03-14

【《一生推不如一生恋》 古馆恋&速星爱来】官方实拍登场

2023-03-14

远程医疗是心血管护理的一个有价值的选择

2023-03-14

天天通讯!意甲26轮!那不勒斯一枝独秀,五大豪门集体拉胯,AC米兰不中用啊

2023-03-14

办公室工作人员个人总结_个人办公室工作总结|消息

2023-03-14

全球最新:辽宁铁道职业技术学院贴吧退伍兵_辽宁铁道职业技术学院贴吧

2023-03-13

盒式磁带录音机

2023-03-13

自己开水果店需要多少投资(开水果店投资多少钱)

2023-03-13

乌鲁木齐商品房维修资金3月13日起交存凭据启用电子票据

2023-03-13

3月13日国产软件板块涨幅达2%_世界球精选

2023-03-13

天天速看:2023年短道速滑世锦赛收官 中国队获1金1银

2023-03-13

天天报道:智通全球财经日志|3月13日

2023-03-13

大幅加仓!欧洲资管巨头出手 增持中国核心资产! 世界今头条

2023-03-13

没字多音字组词的近义词

2023-03-12

全球热推荐:03月12日12时云南昭通疫情数据 阳了以后为什么会腰疼?应该怎么办?

2023-03-12

烟花易冷林志炫_烟花易冷

2023-03-12

小米米家液晶小黑板正式开卖 随想随画 记录灵感瞬间

2023-03-12

弗洛伊德的个人资料_弗洛伊德的名言 环球焦点

2023-03-12

核心素养教育平台_核心素养教育

2023-03-11

2月份我国人民币贷款增加1.81万亿元_天天热门

2023-03-11

hankook是什么牌子轮胎_hankook是什么牌子的轮胎

2023-03-11

中老年钙片什么牌子好吸收(中老年钙片什么牌子好)

2023-03-11

禁区电视剧

2023-03-11

世界新消息丨2020款新cs75的通病有哪些

2023-03-11

全球热议:上海光伏展

2023-03-11

比喻句二年级_比喻词有哪些

2023-03-11

迅捷微信聊天恢复软件_如何通过迅捷微信聊天记录恢复器恢复微信聊天记录

2023-03-10

阴阳师吸血姬就业_阴阳师吸血姬十层|世界消息

2023-03-10

陕西发布沙尘暴黄色预警信号

2023-03-10

云南省导游协会、云南省旅行社协会发布《致广大导游和游客朋友的一封信》 天天视点

2023-03-10

天天短讯!15.2摄氏度!格陵兰岛3月异常高温创同期最高纪录

2023-03-10

每个国家钱币表_每个国家钱币的符号 世界热讯

2023-03-10

奥运主题歌曲2022_奥运主题歌-观点

2023-03-10

刘雯井柏然、桂纶镁昆凌,CHANEL秀上的CP真好磕! 聚看点

2023-03-10

天天关注:当日快讯:叙利亚总统阿萨德会见到访的伊朗外长阿卜杜拉希扬

2023-03-10

即时看!边牧颜色价格_边牧颜色

2023-03-10

全球快资讯丨头晕恶心是什么原因_头晕恶心是什么病

2023-03-10

天天微速讯:犯罪行为的名词解释_犯罪行为

2023-03-09

清平月村居的诗配画_清平月村居的诗-当前关注

2023-03-09

半夜爆火,“室温超导”横空出世,概念股大热

2023-03-09

浙江将专项治理口腔种植:单颗常规全流程不超过4500元

2023-03-09

当前动态:写春天作文400字大全3年级_写春天作文400

2023-03-09

全球快看:浦东新区疫情防控情况_浦组词语

2023-03-09

上海樱花节3月15日开幕,大中小学生免费入园-焦点快播

2023-03-09

爱心人士反映四川江油流浪动物救助站动物生存环境恶劣 警方:展开调查

2023-03-09

地球一小时的意义有哪些_地球一小时的意义-全球今日讯

2023-03-09

AvaTrade爱华:在岸人民币与离岸人民有什么不同?

2023-03-09

香港科技探索公布2月平均每日订单总商品交易额2220万港元-天天动态

2023-03-09

一抹夕阳_一抹_天天速看料

2023-03-09

世界快资讯:catia装配导入零件怎么移动_catia装配导入零件

2023-03-09

张扬两会访谈|中国女足主教练水庆霞:任何事如果轻而易举得到,那就不叫奋斗

2023-03-08

现如今学什么技术最赚钱_学什么技术最赚钱 全球播报

2023-03-08

今日热议:北京动物园将派兽医和饲养员下周抵美 护理并护送“丫丫”回国

2023-03-08

世界今日报丨中山职业技术学院宿舍六人床多长_中山职业技术学院宿舍

2023-03-08

每日头条!占地面积怎么算

2023-03-08

ChatPDF也来了!一键上传文件即可解读,复制粘贴都省了-每日热讯

2023-03-08

西班牙面积

2023-03-08

脑淤血的症状和表现_脑淤血的症状-头条焦点

2023-03-08

共享单车女运维:日均上万步,“走”出幸福生活 世界视点

2023-03-08

什么是杜马选举|世界讯息

2023-03-08

每日看点!抗战之龙城飞将

2023-03-08

如何格式化c盘

2023-03-08

天天资讯:辰字五行属什么_诗字五行属什么

2023-03-08

中评现场:济台女企业家联谊 穿旗袍秀自信-每日播报

2023-03-08

哪种动物最没有方向感

2023-03-07

男人和女人上床

2023-03-07

保险理赔计算公式 焦点速读

2023-03-07

科蓝软件:已有多个数字乡村业务案例 并已荣获2022数字普惠金融服务乡村振兴成果奖 焦点热门

2023-03-07

安兵基

2023-03-07

齐齐哈尔新型冠状病毒肺炎疫情:3月7日齐齐哈尔疫情最新消息今天数据统计情况通报-环球速看料

2023-03-07

今日精选:怎么破解路由器密码并看到密码呢_怎么破解路由器密码

2023-03-07

国考报名流程是怎么样的

2023-03-07

环球快消息!汕头眼科中心近视激光手术_汕头眼科中心

2023-03-07

肛门湿疹-资讯

2023-03-07

世界快看:市场静候美联储利率政策线索,港股平开,阿里涨超2%

2023-03-07

焦点资讯:参加女子斯诺克世锦赛收获亚军 陕西“小花”打破尘封20年纪录

2023-03-07

世界报道:类似龙腾小说网

2023-03-07

10万元投资项目招商_10万元投资项目

2023-03-07

葛天宇_当前速讯

2023-03-07

门兴主帅谴责小图拉姆假摔:就算在英格兰这也会遭到自家球迷嘘声

2023-03-06

全球速读:dnf黑暗神殿在哪

2023-03-06

中福会与身边榜样面对面 学雷锋融入日常 环球快消息

2023-03-06

得了甲流可以吃三文鱼吗-全球快资讯

2023-03-06

绿源有原装电池吗-环球聚焦

2023-03-06

【跟着节气游云南】惊蛰 | 到中国观鸟“圣地”体验百鸟齐鸣

2023-03-06

世界热议:摩纳哥王妃格蕾丝

2023-03-06

全球即时看!NBA总裁亚当萧华将发表2023届毕业典礼演讲

2023-03-06

每日头条!涨停雷达:ST板块异动 *ST辅仁触及涨停

2023-03-06

星之卡比镜之迷宫攻略

2023-03-06

发改委:猪粮比价回升至二级预警区间

2023-03-06

ie浏览器的工具栏没有自定义_ie浏览器的工具栏在哪里 世界简讯

2023-03-06

天天要闻:英文顺口溜大全100首口语_英语顺口溜大全100首_英语顺口溜小学

2023-03-06

【天天新要闻】职场人际关系心理学论文_职场人际关系心理学

2023-03-06

泰特:无论走到哪儿 人人都爱博班 球迷们也是

2023-03-06

吃火龙果会便血吗正常吗_吃火龙果会便血吗

2023-03-05

庄子与老子是什么关系_庄子与老子并称-焦点热讯

2023-03-05

世界播报:泰戈尔的资料

2023-03-05

思林杰(688115.SH):1329.37万股限售股将于3月14日上市流通

2023-03-05

20以内减法口诀表图片二年级_20以内减法口诀表_环球消息

2023-03-05

遇见你丨你好,陌生人 零下40℃的暖心救援

2023-03-05

世界消息!一丝不苟的拼音和譬如的拼音_一丝不苟的拼音

2023-03-05

委比是什么意思_说一说委比是什么意思的简介-全球新资讯

2023-03-05

索尼考虑同三星电子联手据悉将讨论半导体供应合作方案

2023-03-05

最火的游戏2021排行前10名 2022大型网游游戏排行榜

2023-03-04

【环球热闻】政协委员廖明宏:两岸青少年交流要持续深入 功在当代利在千秋

2023-03-04

美利达公爵500怎么样|新消息

2023-03-04

天天热议:詹皇伤病恢复揪心一幕:推小三轮车代步 脚伤严重程度恐超预期

2023-03-04

演员吴健:从当红男星到无人问津,他的“消失”是演艺圈的损失_天天速递

2023-03-04

4580例慢性淋巴细胞白血病患者9个基因的大规模研究

2023-03-04

山甲的功效和作用_山甲

2023-03-02

邓州市公安局网警大队破获一起破坏计算机信息系统案

2023-03-02

世界速讯:新ID.3首秀,展现大众汽车纯电动ID.家族的战略愿景

2023-03-02

TA:与哈登密切的人强调 哈登对马克西本赛季的成长有着积极帮助

2023-03-02

2016年百度沸点榜单

2023-03-02

每日头条!东港警方联合镇政府开展“安全警示教育”活动

2023-03-02

世界观点:安顺经开区:将一棵棵金刺梨树苗“镶嵌”在山间谷地

2023-03-01

微信怎么发指定红包给别人_微信怎么发指定红包|热议

2023-03-01

【天天快播报】重庆市医药界人大代表政协委员座谈会成功举办

2023-03-01

看透这3句话,顿悟了人性残酷真相,句句入骨! 精彩看点

2023-03-01

英飞拓(002528)3月1日主力资金净卖出2.36亿元

2023-03-01

地瓜是红薯吗热量高吗_地瓜是红薯吗 全球短讯

2023-03-01

猎人德拉诺稀有宠物_魔兽世界德拉诺财宝猎人飞行成就攻略

2023-03-01

天天看点:助力博物馆之城建设 北京金漆镶嵌艺术博物馆“百兔迎春”特展启幕

2023-03-01

全球视点!建筑面积4.2万平方米!嘉定新城再添购物中心!

2023-03-01

EDS-305 资讯推荐

2023-03-01

【速看料】斜风细雨的读法

2023-03-01

讨债的诉讼时效有多长怎么计算诉讼时效

2023-03-01

营养学的基础知识_营养学

2023-02-28

四川省应急厅副厅长董绍棠一行调研四川航空应急救援(自贡)基地情况

2023-02-28

ZR-V致在姊妹车,东风本田HR-V官图曝光,提供1.5T/2.0L混动可选

2023-02-28

耐的部首和笔顺_耐的部首-热点

2023-02-28

天天要闻:ndola

2023-02-28

最新快讯!关于春夏秋冬的句子四年级

2023-02-28

阵风7到8级!河北升温“大潮”如火如荼!昼夜温差大“春捂”有讲究|播资讯

2023-02-28

湿乎乎的话题虎扑社区_湿乎乎的话题_热资讯

2023-02-28

世界焦点!“纸本油画展”沪上开幕 探索新型油画材料更多可能性

2023-02-28

冰糖梨水的功效与作用_冰糖梨水的功效是什么_全球快讯

2023-02-28

全球头条:金陵药业拟定增募资不超7.5亿元 主要投向智慧养老项目

2023-02-28

如何读《滹沱河》?

2023-02-28

个人独资公司解散都有哪些流程?

2023-02-28

国家权利最高职位_国家权利|每日短讯

2023-02-27

吃黄体酮和维生素e的副作用_维生素E的副作用

2023-02-27

热资讯!焦点科技: 独立董事对担保等事项的独立意见

2023-02-27

万华化学:上调中国地区MDI价格

2023-02-27

顺网科技(300113)2月27日主力资金净卖出3661.11万元

2023-02-27

听妈吗的话周杰伦歌词谐音_听妈吗的话周杰伦歌词

2023-02-27

联合光电:暂未与Arbe合作

2023-02-27

藁怎么读和什么字同音_藁怎么读

2023-02-27

联想新一代ThinkPad X13系列发布:外观设计全面升级|当前焦点

2023-02-27

全球信息:年末岁初还是 岁末年初_年末岁初还是岁末年初

2023-02-27

易经与管理艺术_对于易经与管理艺术简单介绍

2023-02-27

如何让暂无头像的知乎用户上传头像_如何让暂无头像的知乎用户上传头像图片-环球播报

2023-02-27

不再是我 天天微头条

2023-02-27

全球热资讯!难以“狂飙”的国产电视剧

2023-02-27

减肥可以喝红糖水吗 减肥的时候喝红糖水好吗 世界今热点

2023-02-26

全球播报:丘北县卫生健康系统志愿者服务队

2023-02-26

天天微速讯:瑞联新材(688550.SH)2022年度净利润2.47亿元 同比增长3.10%

2023-02-26

【国际漫评】数字中的美国:3 世界新动态

2023-02-26

当前报道:欧洲狮

2023-02-26

芬奇:爱德华兹最近英雄球打得有点多了 他需要以正确的方式打球 世界关注

2023-02-26

当前视点!中国交通年鉴1993

2023-02-26

中原证券:经济复苏是上半年行情主线 成长板块龙头仍是全年主要亮点 世界即时看

2023-02-26

刑事和解促涉诉矛盾就地化解

2023-02-26

热点!山花开

2023-02-25

环球百事通!章鱼的血液是什么颜色的_章鱼介绍

2023-02-25

希望破灭!IFTY宣布解散,“御三家”从此不再 世界头条

2023-02-25

中国鬼戏

2023-02-25

环球快看:荣耀Magic5 Pro影像参数曝光:旗舰三摄、6400万像素长焦

2023-02-25

中西医学丛书十二种

2023-02-25

白萝卜的四种最佳搭配?

2023-02-25

金泰妍_金泰妍619事件是什么_今日关注

2023-02-25

丽湖花园度假村

2023-02-25

返回顶部