为什么一个网站做中英文双语版/企业网站推广的方法

为什么一个网站做中英文双语版,企业网站推广的方法,网站k,北京做手机网站建设目录 一、垃圾回收模型简介 (一)新生代(Young Generation) (二)老年代(Old Generation) (三)NewRatio 的作用与影响 (四)图解&am…

目录

一、垃圾回收模型简介

(一)新生代(Young Generation)

(二)老年代(Old Generation)

(三)NewRatio 的作用与影响

(四)图解:垃圾回收过程

1. 主要内容:

2. 简单解释

二、NewRatio 值的理论基础

(一)NewRatio 的作用

1. 垃圾回收的频率

2. 内存使用和效率

3. 性能调优

(二)NewRatio 计算公式与优化模型

1. NewRatio 计算公式

2. NewRatio 对垃圾回收的影响

2.1 Young GC 触发的次数

2.2 对象晋升至老年代的时间

3. 优化策略中的公式

三、如何根据负载选择 NewRatio 值

(一)高负载下的 NewRatio 配置

1. 频繁的 Young GC 和其影响

2. Web 服务器和高并发应用的优化

(二)低负载下的 NewRatio 配置

1. 较低的垃圾回收频率

2. 优化老年代回收

3. 适合批量任务和低内存消耗应用

(三)综合考虑

五、实践中的优化策略

(一)调整 NewRatio 提升 GC 性能

1. 频繁 Young GC 的优化

2. Full GC 频繁时的调优

(二)与其他垃圾回收参数联合调优

1. CMS 收集器的优化

2. 调整堆内存大小与其他 GC 参数

(三)实际操作中的优化建议

六、总结


干货分享,感谢您的阅读!

Java 虚拟机(JVM)通过垃圾回收(GC)机制自动管理内存的分配和回收,以避免内存泄漏和溢出问题。随着应用程序的复杂性和负载的增加,垃圾回收的效率变得尤为重要,特别是回收过程中停顿的时间。为了提高垃圾回收的效率,JVM 提供了多个调节参数,其中 NewRatio 值的配置是一个关键因素。

在垃圾回收策略中,NewRatio 控制着新生代与老年代的大小比例,这直接影响到垃圾回收的性能和停顿时间。本文将通过分析垃圾回收模型及其工作机制,探讨如何选择合适的 NewRatio 值,以优化垃圾回收的效果。

历史主要基本文章回顾:

涉猎内容具体链接
Java GC 基础知识快速回顾Java GC 基础知识快速回顾-CSDN博客
垃圾回收基本知识内容Java回收垃圾的基本过程与常用算法_java垃圾回收过程-CSDN博客
CMS调优和案例分析CMS垃圾回收器介绍与优化分析案列整理总结_cms 对老年代的回收做了哪些优化设计-CSDN博客
G1调优分析Java Hotspot G1 GC的理解总结_java g1-CSDN博客
ZGC基础和调优案例分析垃圾回收器ZGC应用分析总结-CSDN博客

从ES的JVM配置起步思考JVM常见参数优化

从ES的JVM配置起步思考JVM常见参数优化_es jvm配置-CSDN博客

深入剖析GC问题:如何有效判断与排查

深入剖析GC问题:如何有效判断与排查_排查java堆中大对象触发gc-CSDN博客

动态扩缩容引发的JVM堆内存震荡调优指南

动态扩缩容引发的JVM堆内存震荡:从原理到实践的GC调优指南

显式 GC 的使用:留与去,如何选择?

显式 GC 的使用:留与去,如何选择?

过早晋升的识别与优化实战

Java垃圾回收的隐性杀手:过早晋升的识别与优化实战

高效解决MetaSpace OOM 问题

深入剖析 MetaSpace OOM 问题:根因分析与高效解决策略
高频面试题汇总JVM高频基本面试问题整理_jvm面试题-CSDN博客

一、垃圾回收模型简介

JVM 的垃圾回收大多采用的是分代收集(Generational Collection)模型。该模型将堆内存划分为多个区域,通常分为三个主要部分:新生代(Young Generation)老年代(Old Generation)永久代(Permanent Generation,已被 Metaspace 替代)。每个区域的内存使用和垃圾回收策略不同,旨在提高内存回收的效率并减少停顿时间。

(一)新生代(Young Generation)

新生代用于存储生命周期较短的对象。大多数对象会在这里分配内存,并且由于其生命周期较短,大部分对象在新生代内就会被垃圾回收。因此,新生代的垃圾回收操作(即 Young GC)通常非常频繁。新生代的内存分配通常通过以下几个区域来进行管理:

  • Eden 区:这是新生代中的主要区域,所有新创建的对象首先被分配到这里。
  • Survivor 区:新生代的内存分为两个 Survivor 区,分别为 S0S1。当 Eden 区中的对象经历一次垃圾回收后,还存活的对象会被复制到一个 Survivor 区,而另一个 Survivor 区则保持空闲。

新生代的垃圾回收采用的是 Minor GC,通常较为频繁,但由于只涉及新生代的回收,所以停顿时间较短。

(二)老年代(Old Generation)

老年代用于存放生命周期较长的对象。当对象在新生代中存活了一定的时间,且超过了晋升阈值时,它们会被晋升到老年代。老年代的对象通常存活时间较长,因此它们的垃圾回收操作(即 Full GC)发生频率较低,但一旦触发,由于涉及的内存较大,停顿时间通常也较长。

  • 晋升机制:在垃圾回收过程中,一部分经过多次回收后仍然存活的对象将被从新生代晋升到老年代。通过这种机制,JVM 能够优化内存的管理,减少频繁的垃圾回收。

  • Full GC:当老年代的内存空间不足时,JVM 会触发 Full GC,这将导致暂停应用程序的运行,直到垃圾回收完成。这是因为老年代的回收不仅会清理不再使用的对象,还可能需要进行内存压缩。

(三)NewRatio 的作用与影响

Generational Collection 模型中,NewRatio 是一个关键的调节参数,它决定了新生代与老年代的大小比例。具体来说,NewRatio 定义了新生代内存大小与老年代内存大小的比例。通过调整 NewRatio 值,可以平衡新生代和老年代的内存分配,从而影响垃圾回收的行为和效率。

  • NewRatio = young:old:假设 NewRatio 为 2,那么新生代的内存将占总堆内存的 1/3,老年代的内存将占 2/3。较小的 NewRatio 会增大新生代的大小,反之,较大的 NewRatio 会增大老年代的大小。

  • 对垃圾回收的影响

    • 较小的 NewRatio 值意味着新生代较大,对象较容易晋升至老年代,从而减少了 Full GC 的频率,但会增加 Young GC 的频率。
    • 较大的 NewRatio 值则意味着老年代较大,新生代的对象晋升到老年代的速度较慢,从而减少了 Young GC 的频率,但可能会导致 Full GC 更频繁地发生,尤其是在内存压力较大的情况下。

(四)图解:垃圾回收过程

通过以下图示,我们可以更直观地理解 NewRatio 在垃圾回收中的作用。下图展示了一个抽象的垃圾回收模型,采用了蓄水池模型的方式来解释新生代和老年代之间的内存分配与回收过程。

这张图展示了垃圾回收过程中的新生代(Young)和老年代(Old)的内存分配与回收情况,并以一个抽象的模型来解释相关速度和比率。

1. 主要内容:

  • Young(新生代)
    • va:对象分配速率,即对象在新生代中创建的速率。
    • vp:对象晋升速率,指对象从新生代晋升到老年代的速率。
    • vyg:新生代垃圾回收速率,表示新生代区域回收对象的速率。
  • Old(老年代)
    • vog:CMS GC(Concurrent Mark-Sweep)回收速率,指老年代垃圾回收的速率。
    • rs:存活对象比例,指在老年代中存活的对象比例。
  • 比率与速度
    • r:表示新生代与老年代的比率,即 young:old 比率,影响内存分配及垃圾回收频率。
    • Tg:Young GC的收集时间。
    • Tog:老年代垃圾回收(Full GC)的时间。
    • TP9999:指垃圾回收过程中最慢的回收时间,通常是回收性能的瓶颈。

2. 简单解释

  • 新生代:大部分对象创建和回收发生在这里。NewRatio(新生代与老年代的比率)决定了新生代的大小。如果NewRatio较小,新生代大,回收会频繁;如果较大,老年代大,回收较少。
  • 老年代:存储长生命周期的对象。Full GC触发频率较低,但回收时间较长,影响系统的停顿时间。

这张图主要通过速率和比率的调节,帮助我们理解如何通过配置 NewRatio 来优化垃圾回收的效率和减少系统停顿。

二、NewRatio 值的理论基础

NewRatio 是指新生代(Young Generation)大小与老年代(Old Generation)大小的比例。JVM 默认将其设置为 2,意味着新生代的内存大小是老年代的 1/2。例如,如果堆的总大小为 1GB,NewRatio = 2 时,新生代的大小为 333MB,老年代的大小为 667MB。如果将 NewRatio 设置为 3,则新生代的大小将是老年代的 1/3,即新生代为 250MB,老年代为 750MB。

(一)NewRatio 的作用

1. 垃圾回收的频率

NewRatio 的配置直接影响到垃圾回收的频率。较小的 NewRatio 值意味着新生代占用的内存较大,相应地,新生代中的对象较容易被晋升到老年代。这将导致老年代的压力增大,从而减少 Full GC 的频率,但却可能导致 Young GC 的频率增加。因为新生代较大,JVM 会更频繁地对新生代进行回收。

  • NewRatio(新生代较大)会导致频繁的 Young GC,但可能减少 Full GC 的发生。
  • NewRatio(新生代较小)可能导致较少的 Young GC,但老年代的压力增大,可能会导致更多的 Full GC。

2. 内存使用和效率

合理的 NewRatio 值有助于优化内存的使用,确保新生代和老年代的内存比例适合应用的实际需求。如果新生代过大,会导致 Young GC 过于频繁,进而增加应用的停顿时间;而如果新生代过小,老年代的压力则会增大,容易导致 Full GC 频繁触发,影响性能。

  • 内存过度分配:设置不合适的 NewRatio 值会导致新生代或老年代的内存资源浪费。例如,如果新生代过小,可能无法容纳短生命周期的对象,导致频繁的 Full GC。
  • 优化内存使用:通过合适的 NewRatio 值,能够平衡新生代和老年代的内存分配,避免过度分配或频繁回收,提高内存的使用效率。

3. 性能调优

调整 NewRatio 值不仅能影响垃圾回收的频率,还能控制垃圾回收停顿时间。由于新生代的垃圾回收主要是 Young GC,而老年代的回收则是 Full GC,不同的 NewRatio 设置会影响这两者的停顿时间。

  • 停顿时间的平衡:如果 NewRatio 设置得较小,增加新生代的内存,可能会导致 Young GC 的频率增大,停顿时间增加。反之,如果 NewRatio 设置较大,减少新生代的内存,可能会减少 Young GC 的频率,但 Full GC 的停顿时间可能会增加。

  • 响应时间与吞吐量:合理配置 NewRatio 可以帮助提高应用程序的响应时间(减少垃圾回收时的停顿),同时提高吞吐量(减少由于 GC 引起的时间损失)。对于需要高吞吐量的应用程序,可能会选择较小的 NewRatio,以减少 Full GC;对于需要低延迟的应用程序,则可能会选择较大的 NewRatio,以减少 Young GC 的影响。

选择合适的 NewRatio 值时,需要综合考虑以下因素:

  1. 应用程序的内存使用模式:如果应用中有大量短生命周期的对象,较大的新生代可能更合适。反之,如果长生命周期对象较多,较小的新生代可能更适用。
  2. GC 的影响:较大的新生代会加大 Young GC 的频率,较小的新生代则可能导致 Full GC 的频繁触发。需要根据应用的响应时间要求来调节。
  3. 性能需求:根据吞吐量或响应时间要求,调整 NewRatio 来平衡 Young GCFull GC 的影响。

NewRatio 的选择是影响 JVM 性能的一个关键因素。通过合理地设置新生代和老年代的大小比例,可以有效地优化垃圾回收的频率和停顿时间,从而提升应用程序的性能。根据应用程序的内存需求和性能目标,灵活调整 NewRatio 值是实现高效内存管理的有效策略。

(二)NewRatio 计算公式与优化模型

为了帮助开发者更好地理解 NewRatio 的配置,我们提供以下计算公式和优化模型:

1. NewRatio 计算公式

NewRatio 的值决定了新生代和老年代的比例。如果我们已知整个堆的大小 heapSize,以及新生代的大小 youngSize,那么可以通过以下公式计算新生代和老年代的比例:

从中,我们可以得到老年代的大小:

例如,假设整个堆的大小是 1 GB,NewRatio 设置为 2,则新生代的大小 youngSize 可以设置为:

老年代的大小则是:

2. NewRatio 对垃圾回收的影响

2.1 Young GC 触发的次数

假设每次进行 Young GC 时,回收的对象数为 n,每个对象的大小为 s,那么触发 Young GC 的次数 n_YGC 依赖于新生代的大小 youngSize

2.2 对象晋升至老年代的时间

如果新生代的空间不足,或者对象的生命周期较长,它们将晋升到老年代。晋升的时间 t_promotion 可以通过下式计算:

这里 v_{yg} 是 Young GC 的回收速度。

3. 优化策略中的公式

为了减少 Full GC 的触发频率,我们可以通过以下公式计算:

通过调整 NewRatio,我们可以优化老年代的大小,从而减少 Full GC 的触发次数。

三、如何根据负载选择 NewRatio 值

NewRatio 是 JVM 中调整新生代(Young Generation)和老年代(Old Generation)内存分配比例的关键参数。根据不同负载下的内存需求和垃圾回收行为,合理配置 NewRatio 可以显著提高应用程序的性能,减少垃圾回收的影响。以下探讨在高负载和低负载情况下,如何选择适当的 NewRatio 值来优化系统的垃圾回收策略。

(一)高负载下的 NewRatio 配置

在高负载的应用场景中,特别是对于对象创建频繁且生命周期较短的应用,如 Web 服务器、高并发的后台服务或实时数据处理系统,系统中的新生代对象会迅速增加,导致 Young GC(新生代垃圾回收)频繁触发。在这种情况下,合理配置 NewRatio 是关键。

1. 频繁的 Young GC 和其影响

高负载情况下,新生代的垃圾回收频率较高,尤其是在对象创建速率较快时。过大的新生代可能会导致 Full GC 频繁发生,从而影响应用程序的响应时间和吞吐量。为了减少 Full GC 的发生频率,通常需要增大新生代的比例,即降低 NewRatio 值。

  • 减小 NewRatio:通过减小 NewRatio(例如将其设置为 1:1 或更小的比例),可以增大新生代的内存容量,减少新生代中的对象晋升到老年代的速度,从而减轻老年代的回收压力。这样一来,系统会更频繁地触发 Young GC,但由于新生代的内存空间较大, Young GC 的停顿时间不会过长,反而避免了老年代的 Full GC 频繁发生。

2. Web 服务器和高并发应用的优化

在 Web 服务器或高并发场景中,系统的负载和请求量通常较大,导致对象在新生代中快速生成和回收。通过适当调节 NewRatio,可以减少 Full GC 的发生,确保服务器的稳定性和高吞吐量。设置 NewRatio 为 1:1 或更小的比例能够确保新生代的内存足够容纳大量的短生命周期对象,从而降低老年代的压力,并减少垃圾回收对系统响应的影响。

(二)低负载下的 NewRatio 配置

在低负载应用中,如批量任务处理、内存消耗较少的后台服务或内存占用较低的应用,系统中的对象创建和销毁速度较慢,且新生代的内存需求相对较低。在这种情况下,过大的新生代反而会浪费宝贵的内存资源。因此,选择较高的 NewRatio 值可以提高内存的利用效率,优化垃圾回收的整体性能。

1. 较低的垃圾回收频率

在低负载下,由于对象创建速率较低,Young GC 的频率通常较少。此时,为了避免新生代内存的过度分配,可以选择较高的 NewRatio 值。例如,设置 NewRatio 为 4:1 或更高,这样新生代的内存占总堆内存的比例较小,能够减少新生代的内存分配,从而避免频繁的 Young GC。

2. 优化老年代回收

增加 NewRatio 值,意味着减少新生代的大小,增加老年代的相对比例。这在低负载场景下尤其重要,因为老年代的回收相对较少,内存压力较小。较大的老年代可以降低 Young GC 发生的频率,减少晋升到老年代的对象,从而使得老年代能够保持较长时间的稳定性,避免不必要的内存回收操作。

3. 适合批量任务和低内存消耗应用

对于批量任务处理或内存消耗较少的应用程序,较高的 NewRatio 设置能够提高内存使用效率,减少不必要的垃圾回收。通过调整新生代和老年代的比例,能够降低垃圾回收对系统性能的影响,优化长时间运行时的内存消耗。

(三)综合考虑

选择合适的 NewRatio 值时,应根据以下几个因素综合决策:

  1. 负载水平:高负载下,新生代压力较大,需要减少老年代的回收压力,从而可以降低 NewRatio;低负载下,通过增加 NewRatio 来优化内存的分配,减少新生代的浪费。
  2. 垃圾回收频率:频繁的 Young GC 在高负载下可能导致性能瓶颈,而低负载下的老年代回收则相对较少,需要在此基础上调整内存分配。
  3. 应用类型与内存需求:Web 服务器、高并发系统等应用需要较频繁的 GC,但也要避免 Full GC;而批量任务处理等内存消耗较小的系统则需要优化内存分配以减少不必要的 GC 开销。

通过精确配置 NewRatio 值,可以在不同负载下有效地平衡新生代和老年代的内存分配,减少垃圾回收的影响,从而优化系统的性能。

五、实践中的优化策略

在实际应用中,垃圾回收(GC)的性能优化是一个不断调整和实验的过程。通过合理配置 NewRatio 参数,结合其他垃圾回收相关设置,开发者能够有效减少垃圾回收的停顿时间,提升系统吞吐量。

(一)调整 NewRatio 提升 GC 性能

1. 频繁 Young GC 的优化

当应用程序中对象创建频繁且生命周期较短时,新生代的垃圾回收(Young GC)将变得异常频繁。过频繁的 Young GC 会导致停顿时间积累,从而影响应用的响应时间和吞吐量。在这种情况下,增大新生代的比例,即减小 NewRatio,能够有效减少 Full GC 触发的频率,从而减少对老年代的压力。

优化策略:

  • 减小 NewRatio:通过减少新生代和老年代的比例,使新生代更大,允许更多的短生命周期对象在新生代中分配。这能够降低对象晋升到老年代的速率,从而减少 Full GC 的发生。
  • 提升新生代空间:增大新生代内存空间会减缓对象晋升至老年代的速度,从而有效降低老年代的压力,使得老年代能承载更多的对象,避免触发频繁的 Full GC。

例如,在高并发应用或 Web 服务器中,增大新生代的比例(如 NewRatio = 1:1)有助于应对大量短生命周期对象的创建和销毁,减少因老年代内存压力过大而引发的 Full GC。

2. Full GC 频繁时的调优

当老年代的内存空间不足时,JVM 会触发 Full GC,这通常会导致较长时间的应用停顿。频繁的 Full GC 表示老年代的内存压力过大,可能是因为老年代空间配置不足,或者新生代对象过早晋升到老年代。

优化策略:

  • 增大老年代内存空间:如果发现 Full GC 频繁发生,可以适当增大老年代的内存比例。通过调整 NewRatio,减少新生代内存的比例,从而为老年代分配更多的内存空间。这有助于减少老年代频繁回收的频次,避免频繁触发 Full GC。
  • 适当调整堆内存大小:如果老年代内存仍然不足,可以通过增加堆内存总大小来为老年代提供更大的空间,从而减少 Full GC 的发生频率。

例如,在处理长生命周期对象(如缓存、数据库连接池等)的应用程序中,可以选择适当增大 OldRatio,从而优化老年代的内存使用,避免 Full GC 频繁影响性能。

(二)与其他垃圾回收参数联合调优

JVM 提供了多个垃圾回收相关参数,合理配置它们与 NewRatio 配合使用,可以进一步优化垃圾回收策略,从而提高系统性能。

1. CMS 收集器的优化

在使用 CMS(Concurrent Mark-Sweep) 收集器时,NewRatio 参数与 CMS 的回收速度、Young GC 的回收速度、老年代的回收策略等参数密切相关。优化这些参数的配合,能够有效减少长时间停顿并提高系统的吞吐量。

优化策略:

  • 调整 NewRatio 与 CMS 回收速度的配合:当 NewRatio 设置较小(即新生代较大)时,系统会频繁触发 Young GC,这可以使 CMS 的并发标记阶段得到更充分的运行,从而减少 Full GC 的概率。
  • 配合调整 CMS 参数:在 CMS 中, Young GC 的回收速度(v_yg)与新生代的大小直接相关。通过调整 NewRatio 和 CMS 的 InitiatingHeapOccupancyPercent 参数,可以避免老年代过早进入标记阶段,减少 Full GC 的发生频率。

2. 调整堆内存大小与其他 GC 参数

堆内存大小与 NewRatioOldRatio 的配置密切相关。合理的堆内存配置能确保内存资源得到充分利用,从而避免不必要的 GC 操作。适当的内存配置不仅能优化垃圾回收,还能提高应用程序的响应能力。

优化策略:

  • 合理配置堆内存大小:根据应用的内存需求,调整堆内存的大小,确保足够的内存供新生代和老年代使用。通常来说,如果堆内存过小,可能会导致频繁的 Full GC;如果堆内存过大,则可能会浪费资源,降低内存使用效率。
  • 结合 GC 参数优化:例如,通过设置 -XX:MaxGCPauseMillis 来限制最大 GC 停顿时间,结合 NewRatio 配置,确保 GC 操作能够在合理的时间范围内完成,从而减少对应用性能的影响。

(三)实际操作中的优化建议

在实际操作中,调整 NewRatio 和其他参数时,应该遵循以下几个建议:

  1. 逐步调整:垃圾回收的调优通常需要在生产环境中进行逐步测试。调整 NewRatio 或其他 GC 参数后,应通过性能测试来评估调整对系统响应时间和吞吐量的影响。
  2. 监控与分析:使用 JVM 提供的监控工具(如 JConsole、GC日志分析工具等)来分析垃圾回收行为,查看 NewRatio 调整后的影响,及时进行优化。
  3. 负载测试:在高负载和低负载情况下进行负载测试,观察不同 NewRatio 设置对系统性能的影响,选择最佳的配置。

通过合理配置 NewRatio 值,结合其他垃圾回收参数,可以显著提升 JVM 的垃圾回收效率,减少停顿时间,优化内存使用,进而提升应用程序的性能。在高负载和低负载环境下,不同的 NewRatio 设置对系统的影响是不同的,需要根据实际需求进行调整。同时,与其他 GC 参数的联合优化也是提高系统性能的重要策略。

六、总结

本文深入探讨了 NewRatio 在 Java 虚拟机(JVM)垃圾回收策略中的重要作用,并结合理论基础、负载调整、实践中的优化策略,提供了如何通过调整 NewRatio 来提高垃圾回收效率和优化系统性能的全面指导。主要结论包括:

  1. NewRatio 与垃圾回收性能的关系NewRatio 控制了新生代和老年代的内存分配比例,直接影响垃圾回收的频率和停顿时间。较小的 NewRatio 值增大新生代,有助于减少老年代的压力,减少 Full GC 的触发频率,但会增加 Young GC 的频率;较大的 NewRatio 值则相反,可能导致 Full GC 更频繁发生。

  2. 根据负载调整 NewRatio:在高负载环境中,适当减小 NewRatio,增加新生代的内存,以减少 Full GC 的发生,保证应用的高吞吐量;而在低负载环境中,增加 NewRatio 值能够优化内存利用效率,减少新生代的浪费,避免不必要的垃圾回收。

  3. 实践中的调优:合理配置 NewRatio 值,并与其他垃圾回收相关参数(如 CMS、堆内存大小等)配合使用,可以显著优化垃圾回收效率,减少停顿时间。调整过程中应通过性能测试、监控工具和负载测试来评估调优效果,并根据实际需求持续优化。

  4. 优化策略的综合性:垃圾回收优化不仅仅依赖于单一的参数配置,而是需要结合系统的内存需求、负载类型以及性能目标,灵活调整多个参数(如 NewRatioCMS 收集器参数、堆内存大小等),形成合适的垃圾回收策略。

总之,垃圾回收性能的优化是一个持续的过程,需要通过精确配置参数、综合考虑应用场景和负载情况,不断地进行调优和测试。合理选择并调整 NewRatio,不仅能够提升 JVM 的性能,减少停顿时间,还能有效地优化内存使用,提升应用程序的响应速度和吞吐量,为高效的内存管理奠定基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/72024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Element Plus中的树组件的具体用法(持续更新!)

const defaultProps {//子树为节点对象的childrenchildren: children,//节点标签为节点对象的name属性label: name, } 属性 以下是树组件中的常用属性以及作用: data:展示的数据(数据源) show-checkbox:节点是否可…

第十一届蓝桥杯单片机国赛

什么?4T模拟赛和省赛做起来轻轻松松?不妨来挑战一下第十一届国赛,这一届的国赛居然没考超声波、串口通信!只要你正确地理解了题目的意思,规避出题人挖的坑,拿个国一轻轻松松。 附件:第十一届蓝桥…

【Linux docker】关于docker启动出错的解决方法。

无论遇到什么docker启动不了的问题 就是 查看docker状态sytemctl status docker查看docker日志sudo journalctl -u docker.service查看docker三个配置文件(可能是配置的时候格式错误):/etc/docker/daemon.json(如果存在&#xf…

怎么实现: 大语言模型微调案例

怎么实现: 大语言模型微调案例 目录 怎么实现: 大语言模型微调案例输入一个反常识的问题:首都在北京天安门之后对输出模型进行测试:首都在北京天安门微调代码:测试微调模型代码:微调输出模型结构输出模型参数大小对比Qwen 2.5_0.5:53MB输出模型:951MB 是一样的,没有进行…

rdiff-backup备份

目录 1. 服务器备份知识点 1.1 备份策略 1.2 备份步骤和宝塔面板简介 1.3 CentOS7重要目录 2. 备份工具 2.1 tar -g 备份演示 2. rsync 备份演示 3. rdiff-backup 备份演示 4. 差异和优缺点 3. rdiff-backup安装和使用 3.1 备份命令rdiff-backup 3.2 恢复命令--…

Spring(七)AOP-代理模式

目录 代理模式 一 静态代理 一、核心作用 二、使用场景 二 动态代理 一、核心作用 二、使用场景 具体实现:(初始) 具体实现:(改进) 一、核心业务逻辑 1. 接口 MathCalculator 2. 实现类 MathCa…

BGP分解实验·21——BGP选路原则之本地优先级

当使用BGP路径属性——本地优先级,进行路由优选时,优选“本地优先级”数值较大的那个。(eBGP之间更新不携带这个属性) 实验拓扑如下: 在未实现本地优先级策略前,先在各个BGP之间配置完成基本连接。 R1的基…

【redis】应用场景:共享会话和手机验证码

文章目录 共享会话实现思路 手机验证码实现思路伪代码实现生成验证码验证验证码 共享会话 实现思路 如果每个应用服务器,维护自己的会话数据,此时彼此之间胡共享,用户请求访问到不同的服务器上,就可能会出现一些不能正确处理的情…

通义万相 2.1 + 蓝耘算力,AI 视频生成的梦幻组合

在这个科技日新月异的时代,人工智能不断刷新着我们对世界的认知。一次偶然的机会,我借助北京蓝耘科技股份有限公司提供的算力支持,踏上了使用通义万相 2.1 进行 AI 视频生成的奇妙之旅。 目录 1.1初遇蓝耘科技: 1.2通义万相 2.1…

【Go万字洗髓经】Golang内存模型与内存分配管理

本文目录 1. 操作系统中的虚拟内存分页与进程管理虚拟内存与内存隔离 2. Golang中的内存模型内存分配流程内存单元mspan线程缓存mcache中心缓存mcentral全局堆缓存mheapheapArena空闲页索引pageAlloc 3. Go对象分配mallocgc函数tiny对象分配内存 4.结合GMP模型来看内存模型tiny…

33.HarmonyOS NEXT NumberBox 步进器高级技巧与性能优化

HarmonyOS NEXT NumberBox 步进器高级技巧与性能优化 一、高级交互设计 1. 组件联动控制 // 与Slider双向绑定 State value: number 50Slider({value: this.value,onChange: (v) > this.value v })NumberBox({value: this.value,onChange: (v) > this.value v })2. …

关于ModbusTCP/RTU协议转Ethernet/IP(CIP)协议的方案

IGT-DSER智能网关模块支持西门子、倍福(BECKHOFF)、罗克韦尔AB,以及三菱、欧姆龙等各种品牌的PLC之间通讯,支持Ethernet/IP(CIP)、Profinet(S7),以及FINS、MC等工业自动化常用协议,同时也支持PLC与Modbus协议的工业机器人、智能仪…

【FreeRTOS】FreeRTOS操作系统在嵌入式单片机上裸机移植

目录 一 RTOS概述 二 FreeRTOS移植 三 FreeRTOS使用 四 附录 一 RTOS概述 先了解一些基础概念,以下内容摘自FreeRTOS官网(FreeRTOS™ - FreeRTOS™): 【1】RTOS基础知识 实时操作系统 (RTOS) 是一种体积小巧、确定性强的计算机…

文件包含漏洞第一关

一、什么是文件包含漏洞 1.文件包含漏洞概述 和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。 什么叫包含呢?以PHP为例,我们常常把可重复使…

瑞芯微RK3576(1)-硬件设计

过年期间,趁着放假时间做了一款3576的核心板 方案是2G DDR432G emmc 引出所有IO口 关于接口方面,考虑了一段时间,最终决定使用BTB的模式,主要是能够出更多的IO,方便拆卸,最让我担心的是BTB的位置问题 为了…

Java 大视界 -- Java 大数据在智能医疗药品研发数据分析与决策支持中的应用(126)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

JWT的学习

1、HTTP无状态及解决方案 HTTP一种是无状态的协议,每次请求都是一次独立的请求,一次交互之后就是陌生人。 以CSDN为例,先登录一次,然后浏览器退出,这个时候在进入CSDN,按理说服务器是不知道你已经登陆了&…

SpringBoot基础Kafka示例

这里将生产者和消费者放在一个应用中 使用的Boot3.4.3 引入Kafka依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>yml配置 spring:application:name: kafka-1#kafka…

API调试工具的无解困境:白名单、动态IP与平台设计问题

引言 你是否曾经在开发中遇到过这样的尴尬情形&#xff1a;你打开了平台的API调试工具&#xff0c;准备一番操作&#xff0c;结果却发现根本无法连接到平台&#xff1f;别急&#xff0c;问题出在调试工具本身。今天我们要吐槽的就是那些神奇的开放平台API调试工具&#xff0c;…

【Linux篇】初识Linux指令(上篇)

Linux命令世界&#xff1a;从新手到高手的必备指南 一 Linux发展与历史1.1 Linux起源与发展1.2 Linux与Windows操作系统对比 二 Linux常用操作指令2.1 ls命令 - “List”&#xff08;列出文件)2.2 pwd指令- "打印当前工作目录"2.3 cd指令 - “Change Directory”&…