首页 > 滚动 > > 内容页

一文搞懂 Java 中的内存泄漏(Memory Leak)|世界今头条

2023-02-14 17:17:43 腾讯云

Hello folks,在今天的这篇文章中,我将讨论 Java 虛擬機生态体系中的一个至为关键內容—— Memory Leak(内存泄漏)。

从事 Java 开发的技术人员应该都知道:Java 的核心优势之一是基于其内置的垃圾收集器(或简称 GC)的帮助下能够进行内存自动管理。GC 隐式地负责分配和释放内存,从而使得其能够处理大多数内存泄漏问题。


(资料图)

诚然,在某种意义上而言,GC 能够有效地处理大部分的内存问题,但它并不是一种保证万无一失的内存泄漏解决方案。的确,GC 生性非常聪明,但它并非完美无缺,因为内存泄漏仍然可能悄悄地发生,仍然可能存在应用程序生成大量多余对象的情况,然后耗尽关键内存资源,从而导致整个应用程序失败,业务故障。

因此,Memory Leak (内存泄漏)是 Java 虛擬機體系中的一个真正的疑难问题。

在解析 Memory Leak(内存泄漏)之前,我們先來澄清一下相關概念。Memory Leak 與 OutOfMemoryError(內存溢出):内存泄漏可以视为一种問題, OutOfMemoryError 則视为一种症状。因此,并非所有 OutOfMemoryErrors 都意味着内存泄漏,并且并非所有内存泄漏都表现为 OutOfMemoryErrors。

何为 Java 中的 Memory Leak ?

Memory Leak ,即“内存泄漏”,通常是指一个或多个对象不再被使用,但同时又无法被持续工作的垃圾收集器清除的情况。

我们可以将内存中的对象分为两大类:

1、引用对象是可以从我们的应用程序代码访问并且正在或将要使用的对象。

2、未引用的对象是应用程序代码无法访问的对象。

垃圾收集器最终会从堆中移除未引用的对象,为新对象腾出空间,但它不会移除被引用的对象,因为它们被认为很重要。这样的对象会使 Java 堆内存越来越大,并推动垃圾回收做更多的工作。这将导致所构建的应用程序通过抛出 OutOfMemory 异常而变慢甚至最终崩溃。

通常而言,内存泄漏是不好的,在實際的業務場景中,无论是基于业务表現还是用户体验,因为它会阻塞内存资源并随着时间的推移導致系统性能下降。如果不加以及時处理,应用程序最终将耗尽其资源,最终以致命的 Java.lang.OutOfMemoryError 异常终止退出。

在 Java 内存模型设计中,有两种不同类型的对象驻留在堆内存中,“引用的”和“未引用的”。引用对象是那些在应用程序中仍然具有活动引用的对象,而未引用对象没有任何活动引用。

垃圾收集器定期清除未引用的对象,但它默认情况下不会收集仍在引用的对象。这是可能发生内存泄漏的地方,具體如下所示:

Memory Leak 症状

在實際的場景中,有一些較為明顯的症状可以让我们怀疑所构建的 Java 应用程序正在遭受内存泄漏之困扰。以下为最常见的场景:

1、应用程序运行时出现 Java OutOfMemory 错误。‍

2、应用程序运行时间较长时性能下降,并且不会在应用程序启动后立即出现。

3、应用程序运行的时间越长,垃圾收集次数就越多。

4、连接用完。

Why Memory Leak ?‍

这是一个很残酷的现实,Java 中的内存泄漏通常可能是由于代码中无法预料的错误而发生的,这些错误会保留对不需要的对象的引用,除此之外,这些链接会阻止 GC 功能操作。

在某些特定的場景下,即使指定了 System.gc() 方法也是如此。当内存不足或可用内存不足以支撐程序所需时,垃圾收集器很可能会启动。如果垃圾收集器没有释放足够的内存资源,那麼,應用程序将會使用操作系统的内存。

与 C++ 和其他编程语言中的内存泄漏相比,Java 内存泄漏通常没有那么严重。根据 IBM developerWorks Jim Patrick 的说法,在考虑内存泄漏时需要考虑两个方面:

1、泄漏的大小

2、程序的生命周期

如果 JVM 有足够的内存来运行所構建的應用程序,那么小型 Java 应用程序中的内存泄漏并不重要。另一方面,如果我們的 Java 应用程序持续运行,内存泄漏将是一个嚴肅的问题,畢竟,无限期运行的软件最终会耗尽内存,從而導致業務故障。

当應用程序使用大量内存的临时对象时,也会发生内存泄漏。如果不取消引用这些耗费大量内存的对象,程序将很快耗尽可访问的内存。

不过,幸运的是,在实际的经验总结中有几种类型的 Java 内存泄漏是众所周知的,通过在编写 Java 代码时给予一定程度的关注,我们可以确保它们不会出现在我们的代码中。

Memory Leak 实践场景‍‍‍‍

1、静态字段持有对象

可能导致潜在内存泄漏的第一种情况是大量使用静态变量。 Java 内存泄漏的最简单、直接的示例之一便是通过未清除的静态字段引用的对象。例如,一个静态字段包含一组我们永远不会清除或丢弃的对象。

以下為演示此类行为的一个简单的代码示例:

public class StaticReferenceLeak {  public static List NUMBERS = new ArrayList<>();  public void addBatch() {    for (int i = 0; i < 100000; i++) {      NUMBERS.add(i);    }  }  public static void main(String[] args) throws Exception {    for (int i = 0; i < 1000000; i++) {        (new StaticReferenceLeak()).addBatch();        System.gc();        Thread.sleep(10000);    }  }}

addBatch 方法将 100000 个整数添加到名为 NUMBERS 的集合中。当然,如果我们需要这些数据,这完全没问题。但在这种情况下,我们永远不会删除它。即使我们在 main 方法中创建了StaticReferenceLeak 对象并且没有持有对它的引用,我们也很容易看出垃圾收集器无法清理内存。相反,它不断增长:

如果我们看不到 StaticReferenceLeak 类的实现细节,我们会期望对象使用的内存被释放,但事实并非如此,因为 NUMBERS 集合是静态的。如果它不是静态的就没有问题,所以在使用静态变量时要格外小心。

解决方案:

为避免并可能防止此类 Java 内存泄漏,因此,应该尽量减少静态变量的使用。如果必须拥有它们,请格外谨慎,当然,在不再需要时从静态集合中删除数据。

2、未关闭的资源

访问位于远程服务器上的资源、打开文件并处理它们等等并不少见。此类代码需要在我们的代码中打开流、连接或文件。但我们必须记住,我们不仅要负责打开资源,还要负责关闭资源。否则,我们的代码可能会泄漏内存,最终导致 OutOfMemory 错误。

为了说明这个问题,让我们看一下下面的例子:

public class UnclosedResources {  public static void main(String[] args) throws Exception {    for (int i = 0; i < 1000000; i++) {      URL url = new URL("http://www.google.com");      URLConnection conn = url.openConnection();      InputStream is = conn.getInputStream();      // rest of the code goes here    }  }}

上述循环的每次运行都会导致打开和引用 URLConnection 实例,从而导致资源(内存)缓慢耗尽。

解决方案:

(1)始终使用 finally 块来关闭资源‍

(2)关闭资源的代码(即使在 finally 块中)本身不应有任何异常‍

(3)使用 Java 7+ 时,我们可以使用 try -with-resources 块‍

3、使用 ThreadLocals

ThreadLocal 是 Java 世界中的一个结构体,可以让我们将处理范围隔离到当前线程,从而在某些情况下实现线程安全。我们可以保留有关当前用户的信息、绑定到用户的执行上下文或任何需要在线程之间进行隔离的信息。

ThreadLocal(在 Introduction to ThreadLocal in Java tutorial 中有详细讨论)是一种构造,它使我们能够将状态隔离到特定线程,从而使我们能够实现线程安全。

使用此构造时, 每个线程都将持有对其 ThreadLocal 变量副本的隐式引用,并将维护自己的副本,而不是在多个线程之间共享资源,只要线程处于活动状态。

尽管有很多优点,但使用 ThreadLocal 变量是有争议的,因为如果使用不当,它们会因引入内存泄漏而臭名昭著。Joshua Bloch 曾经评论过线程局部使用:

“Sloppy use of thread pools in combination with sloppy use of thread locals can cause unintended object retention, as has been noted in many places. But placing the blame on thread locals is unwarranted.”

当你开始从更广阔的角度思考时,问题就出现了。现代应用程序服务器或 Servlet 容器使用线程池来控制可以并发运行的线程数,从而一遍又一遍地重用相同的线程。在这种情况下,线程会被重用并且不会被垃圾回收,因为对线程的引用一直保存在池本身中。

这不是 ThreadLocal 本身的问题,但总的来说,这是现代技术堆栈内部发生的复杂情况。我们应该预料到并记住分配给 ThreadLocal 的值将被保留,因此需要清理,否则内存将在 ThreadLocal 内部使用。

解决方案:

(1)、当我们不再使用 ThreadLocals 时,清理它们是一种很好的做法。ThreadLocals 提供了 remove()方法,该方法删除当前线程为此变量的值。

(2)、不要使用 ThreadLocal.set(null) 来清除值。它实际上并没有清除该值,而是会查找与当前线程关联的 Map,并将键值对分别设置为当前线程和 Null。

(3)、最好将 ThreadLocal 视为我们需要在 finally 块中关闭的资源,即使在出现异常的情况下也是如此:

try {    threadLocal.set(System.nanoTime());    //... further processing}finally {    threadLocal.remove();}

4、 引用外部类的内部类

在我看来,这是一个非常有趣的案例——内部私有类保留对其父类的引用的案例。具體如下场景所示:

public class OuterClass {  // some large arrays of values  private InnerClass inner;  public void create() {    inner = new InnerClass();    // do something with inner and keep it  }  class InnerClass {    // some logic of the inner class  }}

假设 OuterClass 包含对大量占用大量内存的对象的引用,即使不再使用它也不会被垃圾收集。那是因为 InnerClass 对象将隐式引用 OuterClass ,这使得它不符合垃圾收集的条件。

解决方案:

这是关于内部类的要求,是否应该访问外部类中的数据。如果不是,将内部类变为静态将解决该问题。当然,我们还可以首先考虑内部私有类是否真的需要,也许可以使用不同的架构模式。

5、 使用不正确 equals() 和 hashCode() 的实现

Java 内存泄漏的另一个常见示例便是使用具有未正确实现(或根本不存在)的自定义 equals() 和 hashCode() 方法的对象,以及使用哈希检查重复项的集合。这种集合的一个典型代表便是 HashSet。

为了说明这个问题,让我们看一下下如下的例子:

public class HashAndEqualsNotImplemented {  public static void main(String[] args) {    Set set = new HashSet<>();    for (int i = 0; i < 1000; i++) {      set.add(new Entry("test"));    }    System.out.println(set.size());  }}class Entry {  public String entry;  public Entry(String entry) {    this.entry = entry;  }}

在我们深入解释之前,问自己一个简单的问题:代码将使用 System.out.println(set.size()) 调用打印的数字是多少?如果答案是 1000,那么将是是正确的。那是因为我们没有正确实现 equals 方法。这意味着添加到 HashSet 的 Entry 对象的每个实例都会被添加,而不管从我们的角度来看它是否是重复的。这可能会导致 OutOfMemory 异常。

如果我们用正确的实现来改变我们的代码,代码将导致打印 1 作为我们的 HashSet 的大小。我們以如下場景進行簡單舉例說明,下面是 JetBrains IntelliJ 实现的 equals() 和 hashCode() 方法的代码:

public class HashAndEqualsNotImplemented {  public static void main(String[] args) {    Set set = new HashSet<>();    for (int i = 0; i < 1000; i++) {      set.add(new Entry("test"));    }    System.out.println(set.size());  }}class Entry {  public String entry;  public Entry(String entry) {    this.entry = entry;  }  @Override  public boolean equals(Object o) {    if (this == o) return true;    if (o == null || getClass() != o.getClass()) return false;    Entry entry1 = (Entry) o;    return Objects.equals(entry, entry1.entry);  }  @Override  public int hashCode() {    return Objects.hash(entry);  }}

解决方案:

根据以往的经验,在创建类时应正确实现 equals() 和 hashCode() 方法。大多数现代 IDE 将帮助实现我们进行优化。

6、使用 finalize() 方法

使用终结器是潜在内存泄漏问题的另一个来源。每当重写类的 finalize() 方法时,该类的对象不会立即被垃圾回收。取而代之的是,GC 将它们排队等待最终确定,这发生在稍后的时间点。

此外,如果在 finalize() 方法中编写的代码不是最优的,并且如果终结器队列跟不上 Java 垃圾收集器,那么迟早我们的应用程序注定会遇到 OutOfMemoryError。

解决方案:

很簡單,禁用此方法。

當然,除了如上所述的場景之外,也存在其他的場景,畢竟,基於不同的環境、不同的場景,便會展示不同的現象。

通俗地说,我们可以将内存泄漏视为一种疾病,它通过阻塞重要的内存资源来降低应用程序的性能。和所有其他疾病一样,如果不治愈,随着时间的推移,它可能会导致致命的应用程序崩溃。

Memory Leak,作為一種症狀,有的時候的確很难解决,通常需要對 Java 语言以及操作系統相關知識體系有很深的理解與掌握。畢竟,在处理内存泄漏时,没有一种万能的解决方案,因为泄漏可能通过各种不同的事件、場景发生。

然而,在實際的項目開發活動中,如果我们能夠采用最佳实践并定期执行严格的代码評審和分析,那麼,我们可以将应用程序中内存泄漏的风险降至最低,從而減少損失。‍

Adiós !

x 广告
最近更新

一文搞懂 Java 中的内存泄漏(Memory Leak)|世界今头条

2023-02-14

全球快播:圣诞节祝福语

2023-02-14

中泰证券:首予招商积余“买入”评级

2023-02-14

今日聚焦!东方新型冠状病毒肺炎疫情:2月14日东方疫情最新消息今天数据统计情况通报

2023-02-14

文明礼貌黑板报图片

2023-02-14

焦点热门:工商银行喜结良缘金条30克价格今天多少一克(2023年02月14日)

2023-02-14

南京加快发展储能产业计划 做强储能电池赛道

2023-02-14

【机构调研记录】上银基金调研智飞生物

2023-02-14

环球滚动:汤姆克鲁斯真人照_汤姆克鲁斯真实身高

2023-02-14

【世界时快讯】穿组词语有哪些词语的组词

2023-02-14

牛油果一般要蒸多久

2023-02-14

北京坐月子下奶食谱_最有效的下奶食谱|天天报道

2023-02-14

你说的都对什么梗 天天消息

2023-02-13

每日快播:创业板首只连续8个“20cm”涨停股诞生,发生了什么?

2023-02-13

新车报讯:提供27种皮革及100种车漆选择宾利添越新增MULLINER定制服务

2023-02-13

好消息:国家安排!解决老年人的吃饭问题,1份菜3元起的食堂将普及!_当前热点

2023-02-13

男朋友母亲生日礼物 天天播报

2023-02-13

男的都喜欢什么礼物

2023-02-13

天天热点评!韩建河山2月13日快速上涨

2023-02-13

光圈优先摄影技巧_光圈优先和快门优先的区别

2023-02-13

环球热文:焚烧汽车、暴发冲突!法国第四轮抗议,近百万人罢工

2023-02-13

千里光的毒副作用_长期吃三七的毒副作用是什么|信息

2023-02-12

山东女足队员家遭强拆?官方通报_全球速看料

2023-02-12

谁说旅行车必须是进口?这4款合资车同样带给你“诗与远方”

2023-02-12

床头壁灯用多少瓦合适图片_床头壁灯用多少瓦合适

2023-02-12

世界观察:特斯拉 Model Y后轮驱动版高调宣布涨价2000元,是好还是坏?

2023-02-11

抖音短视频怎么弄字幕_抖音短视频怎么弄字幕

2023-02-11

前沿热点:水白菜

2023-02-11

广告画与礼品盒欣赏|世界快看

2023-02-11

西北政法大学校庆的礼物

2023-02-11

倒车很慢碰到后车会有痕迹吗 _迈锐宝用5w40还是5w30

2023-02-11

网吧电脑多少钱一台标准配置-网吧电脑多少钱一台|天天要闻

2023-02-11

女生吃醋男生是什么感受 女人吃醋男人会开心吗|全球讯息

2023-02-11

日剧《美彼》第二季来啦!“女王”清居还是那么美!_天天热讯

2023-02-10

最好的平板电脑排名_最好平板电脑|最新消息

2023-02-10

特稿:寒冬有尽 春日可期——出境游有序恢复提振全球对中国经济的信心与期待

2023-02-10

seo优化写伪原创内容是什么样的!|微速讯

2023-02-10

华北制药:苯磺酸左氨氯地平片通过仿制药一致性评价_当前速读

2023-02-10

中证中金公司商品期货综合指数发布

2023-02-10

临沂有什么名小吃 临沂十大小吃|每日观察

2023-02-10

个人养老金账户的钱退休后可以一次性取出吗?要交税吗

2023-02-10

02月10日12时青海海东疫情数据 阳了以后为什么会腰疼?应该怎么办?

2023-02-10

66大寿孙女送什么礼物

2023-02-10

word目录小点点怎么打 天天聚看点

2023-02-10

婚检体格检查分3部分

2023-02-10

生产繁忙|每日消息

2023-02-10

如何解决CPU风扇不转的情况?CPU风扇不转了怎么办?-系统之家_要闻

2023-02-10

21年9月迪奥会员日送什么|世界聚看点

2023-02-10

宋亚东无缘世界前五

2023-02-10

速递!答案是孙燕姿世界巡回演唱会_关于答案是孙燕姿世界巡回演唱会介绍

2023-02-10

苹果4s报价_现在苹果专卖店4s多少钱 今日快讯

2023-02-09

环球时讯:强震已致土叙两国近 2 万人遇难

2023-02-09

克霉唑 全球球精选

2023-02-09

邹鸿成姓名打分结果 邹鸿成性格分析 全球新要闻

2023-02-09

广联达造价软件下载_广联达造价软件官网

2023-02-09

淘宝注册开店流程及费用_淘宝注册开店流程

2023-02-09

速读:四叶草项链的含义是什么 四叶草项链有什么含义

2023-02-09

观焦点:抚州东乡区:向干部节后作风问题亮剑

2023-02-09

重庆10条轨道交通线路加紧建设

2023-02-09

前沿热点:7+7 江宁路店

2023-02-09

2022年A股豆浆机龙头股一览(2022/11/3)

2023-02-09

保研一个人能报几所学校_保研可以报几个学校

2023-02-09

2017党员自我剖析材料_党员个人分析材料精选|环球精选

2023-02-09

阿里云服务器ip地址_方块云服务器官网

2023-02-09

世界观察:脸上有痣的男演员

2023-02-08

在更多设备上运行 Google Meet 并使其与 Zoom 兼容

2023-02-08

定性分析与定量分析的区别主要有_定性分析与定量分析的区别

2023-02-08

如何关爱学生论文_如何关爱学生

2023-02-08

考教师资格证,这5类人没有报名资格!_热资讯

2023-02-08

白皮书显示知识产权保险促进企业创新能力提升

2023-02-08

FAITH|每日资讯

2023-02-08

世界速讯:电脑的兼容模式怎么设置

2023-02-08

焦点速读:法拉第未来FF91已送回中国测试

2023-02-08

每日讯息!少年四大名捕演员表郑爽是谁_少年四大名捕演员表郑爽

2023-02-08

【天天新要闻】要努力读书的正能量句子

2023-02-08

全球快讯:《耀眼的你啊》黎雯结局

2023-02-08

2月8日河南地区萤石市场价格暂稳

2023-02-08

2017年山东省公务员面试公告(含名单)

2023-02-08

河南:“三个强化”撑起校园“平安伞” 全球快报

2023-02-08

焦点简讯:80寸激光电视尺寸_100寸激光电视尺寸

2023-02-08

n95口罩多少钱一个?n95口罩应该如何选择?_天天视点

2023-02-08

世界今头条!三国为什么被禁播_梦想三国为什么禁播

2023-02-08

阿胶糕放冰箱会发霉吗 全球百事通

2023-02-08

平价高音质的蓝牙耳机推荐fiilt2pro-新资讯

2023-02-07

ChatGPT概念股大热!这些工种会被AI取代吗?

2023-02-07

好看的网游耽美完结小说

2023-02-07

每日热文:银离子敷料_银离子

2023-02-07

化肥企业忙生产 保供稳价助春耕_世界微头条

2023-02-07

特拉斯十大预言具体_特斯拉对中国预言简单

2023-02-07

三本是什么意思_全球播资讯

2023-02-07

永茂泰:目前没有与电池热管理系统相关的产品|环球微速讯

2023-02-07

韩语日常用语100句_韩语日常用语

2023-02-07

白腰滨鹬 环球视讯

2023-02-07

【大河网景】葫芦酸、糖画甜……喜庆元宵节郑州图书馆里人从众、乐翻天-每日讯息

2023-02-07

七夕看新妇隔巷停车·一作陈伯材诗 天天微动态

2023-02-07

is语音是真的吗_is语音兼职是真的 今日报

2023-02-07

三宝北平奇遇记

2023-02-07

每日热议!荒塔和小塔的关系_荒塔

2023-02-06

猪粮比价触发一级预警,二季度猪价或止跌回稳

2023-02-06

五粮液等大跌!“禁酒令”虚惊一场,但白酒股为何如此脆弱? 通讯

2023-02-06

焦点速读:养的越多亏的越多,养一头猪亏损275元,猪价或小幅下跌!估值处历史地位,生猪养殖板块迎来布局良机|只炒消息

2023-02-06

沪股通尾盘转为净买入,早盘一度净卖出近12亿元-全球速读

2023-02-06

上海沪启管道设备有限公司 世界时讯

2023-02-06

玻璃 环球百事通

2023-02-06

焦点短讯!突发预警!鞋服行业,“亏声”一片!

2023-02-06

全球聚焦:丰田花冠旅行一款罕见的易于使用的家用旅行车

2023-02-06

世界观热点:瑞士手表

2023-02-06

马嵬驿 当前速读

2023-02-06

最新:夏季奥运会

2023-02-06

全球今热点:世界建筑细部风格设计百科

2023-02-05

东张庄村

2023-02-05

华为手机设置通话自动录音功能_华为手机如何开启通话自动录音

2023-02-05

世界速读:高铁小镇闹元宵 暖心招聘促就业

2023-02-05

东莞新彩科技有限公司 当前消息

2023-02-05

微信视频号更新了什么-短讯

2023-02-05

早春选单品配色真的很重要!博主身上这20套,启发性太强了

2023-02-05

精选!数字信息技术赋能文化产业

2023-02-05

suv前后轮胎怎样对调_suv前后轮胎对调注意事项 热议

2023-02-05

何雨檬

2023-02-05

井冈山大学人文学院|全球热讯

2023-02-04

广州瑞圣网络科技有限公司

2023-02-04

每日头条!媒体人:市场决定了球员工资,中国足球职业联赛没降薪限薪的必要

2023-02-04

02月04日从杭州出发到景德镇的防疫政策_当前热门

2023-02-04

中小企业信贷成本、风险和可得行研究-当前视讯

2023-02-04

全球快资讯:羡慕了!看过张静初的家,才明白这几年她为什么“销声匿迹”

2023-02-04

全球播报:开零食店做好这几点,生意越来越好(一)

2023-02-04

全球信息:中胸侧板

2023-02-04

临床流行学|全球播报

2023-02-04

全球热议:主动脉横断钳闭术

2023-02-04

溧阳站 天天热点评

2023-02-03

【世界时快讯】【APP安利】记账软件如繁星一般多,却很少有几个好用的

2023-02-03

中方:敦促日方深刻反省侵略历史 妥善处理强征“慰安妇”等历史遗留问题_世界要闻

2023-02-03

普京称首要任务是保护俄罗斯 80年后再遭德国坦克威胁 世界速看

2023-02-03

紫薇扮演者马伊琍_紫薇扮演者 环球新消息

2023-02-03

天天头条:内蒙古艺术学院怎么样好不好附内蒙古艺术学院最好的专业排名及王牌专业介绍

2023-02-03

久易农业IPO:农药无专利却高速增长,主要产品与发明者硬刚

2023-02-03

板块异动 | 《数字乡村建设指南》启动修订 全面助力乡村振兴 供销社概念股走强 数字乡村方向领涨|环球热门

2023-02-03

2023年巨蟹座6月财运分析 运势了解|世界新消息

2023-02-03

天天新动态:1187件省政协提案完成集中交办

2023-02-03

【全球热闻】网站流量查询_网站流量

2023-02-03

2022年各国央行净买黄金1135吨:印度33吨,土耳其148吨,中国呢-天天精选

2023-02-03

12月18日山东潍坊疫情最新情况统计及潍坊疫情确诊今日多少例|世界视讯

2023-02-02

【全球聚看点】通过无损红外成像实现更好的牙腔诊断

2023-02-02

天天即时:13199元的三星S23 Ultra,是谁的菜?

2023-02-02

初灵信息(300250)2月2日主力资金净卖出7347.39万元_每日视点

2023-02-02

颅内“炸弹”破裂命悬一线 神经内科精准“拆弹”转危为安_全球热闻

2023-02-02

异动快报:微导纳米(688147)2月2日10点20分触及涨停板

2023-02-02

2月2日生意社丙酮(全国)基准价为5287.50元/吨-今日关注

2023-02-02

要闻:怎么快速长高方法_长高的快速方法

2023-02-02

气动球阀型号规格尺寸表_气动球阀型号

2023-02-02

新中付pos机安全不安全_新中付pos机安全

2023-02-01

子宫内膜异位症——症状?治疗?|当前滚动

2023-02-01

最资讯丨社保申请书范文_社保申请

2023-02-01

3种伤胃食物被揪出,医生劝告:不想胃“烂成网”,趁早扔进垃圾桶

2023-02-01

宝马开始测试固态电池 计划2030年装车上市

2023-02-01

中电兴发(002298)1月31日主力资金净卖出1878.10万元_新动态

2023-02-01

全球热门:今日rpg模拟器下载_rpg模拟器

2023-02-01

27岁香港女生买下18㎡纳米楼,利用2米9层高做隔层卧室,独居太爽

2023-01-31

世界今日讯!陈红简介及照片_陈红简介

2023-01-31

2023东莞工农8号元宵节派对(时间+地点)

2023-01-31

世界前十:麦克罗伊维持第一位 森川攀升到第七

2023-01-31

世界今亮点!韩媒:美国牵头多国举行军演“针对朝鲜”

2023-01-31

2023年跑马季的最大难点是它?4种类型跑者应当如何备赛和选赛 观察

2023-01-31

牛肉怎么炒好吃又嫩的做法 全球快播

2023-01-30

全球热头条丨南京江北新区:400余场新春活动 让群众在实践站乐享过大年

2023-01-30

武庚纪最新情报公布,又一上古凶兽出现,远古旧神大羿正式登场

2023-01-30

藤原绳主-关于藤原绳主部分内容简述

2023-01-30

一步之遥,常州、烟台今年冲刺“GDP万亿之城”|全球报道

2023-01-30

世界视讯!云南省江城哈尼族彝族自治县发布霜冻黄色预警

2023-01-30

农村娃苏炳添,如何成为中国飞人,浅谈他的传奇人生三部曲!-天天观点

2023-01-29

《满江红》热映带火杭州岳庙游 游客量达近3年来最高峰 世界热文

2023-01-29

四岁萌娃免税城走失 海口警民携手帮助找回[图]

2023-01-29

全球聚焦:春节后开工首日,各地在忙些啥?

2023-01-29

【吴川电视台】吴川新闻(230128)

2023-01-29

长三角统一市场监管免罚轻罚机制,规范诠释“违法行为轻微”

2023-01-28

今日观点!2023南昌青云谱区春节购房补贴申报操作指南(附电话)

2023-01-28

世界热资讯!兔年第一个工作日在晴冷中到来,啥时候升温?

2023-01-28

2023届高校毕业生将达1158万人 环球观焦点

2023-01-28

世界热资讯!宜兴市领导检查安全生产、节前保供工作并走访慰问一线职工、困难群体

2023-01-27

春节消费强劲 商业餐饮火爆_世界关注

2023-01-27

故乡年味·图集|逛洛阳老城区年会,尝牡丹鲜花饼和银丝酥

2023-01-27

资讯|春节民宿客来忙

2023-01-26

世界新动态:荣获经济年度人物,靠饲料起家,打造千亿帝国,刘汉元的商业征程

2023-01-26

海外观众评价《流浪地球2》:不比《星际穿越》差

2023-01-26

方向向量和法向量的区别_方向向量

2023-01-26

在今年春晚上亮相的他们,有一个共同“身份”|全球热议

2023-01-25

2022年脱贫人口人均纯收入同比增14.3%

2023-01-25

什么是真正的社群?

2023-01-25

新春走基层丨安全生产“不打烊”!省安办派21个暗访督查组“直插一线” 天天观热点

2023-01-24

教师节贺卡制作大全儿童_教师节贺卡制作大全|世界视点

2023-01-23

天天亮点!“五个一百”凝聚奋发进取的磅礴力量

2023-01-22

【文豪野犬/森太】共君一醉一陶然|消息

2023-01-22

苜蓿花花语_苜蓿花的花语和象征意义

2023-01-22

向局机关全体警务辅助人员致以新春问候

2023-01-21

扎克-科林斯:今天本有机会取胜 小卡是一位非常出色的球员

2023-01-21

每日消息!司法行政机关助力农民工讨薪近55亿元

2023-01-21

2023重庆弹子石春节灯光秀门票预约后在哪里查看?-速讯

2023-01-20

重庆除夕夜轻轨收班时间2023 天天速看料

2023-01-20

宠物寄养高达4999元一晚,收费乱象缺乏行业标准,权责划分不清 世界短讯

2023-01-20

全省公安机关提升“六大能力”守护龙江平安|环球简讯

2023-01-20