news 2026/7/18 1:54:45

Java数组?先搞懂hashCode!重写equals不写它,HashMap直接崩给你看

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java数组?先搞懂hashCode!重写equals不写它,HashMap直接崩给你看

对于修读计算机专业的学生来讲, 其于大学期间的数据结构课程之中曾有过相应接触, 然而随着时间一点一滴演进, 大多数人逐步地把相关内容予以淡忘。参加工作之后鉴于实际运用显得相对较少, 所以也未能展开深层次的研究考察。一直到某一天于项目开发的进程里, 发觉有人同步重写了以及方法, 这才因而引发思索: 究竟是什么东西? 何以这两个方法要一并进行重写? 这样的一个疑问促使人们再度去审视哈希机制本身所具备的原理以及其发挥的作用。原来, 它在对象存储以及查找的环节里面起着相当关键的作用, 特别是在诸如这样的集合类当中对性能以及正确性产生影响, 是Java等编程语言里面不容忽视的极为重要的一个概念。

1、 先是查看JDK 1.8源码当中类的方法, 此方法被声明成, 意味着它的具体实现是由底层非Java语言去编写的。它的核心原理是依据对象在内存里的物理地址(也就是内部地址)计算出一个整型哈希值。从JDK源码的注释能够看出, 这个值的生成直接关联着对象的内存位置。需要留意的是, 这是类默认给出的本地实现, 跟后续在自定义类之中重写()的方法截然不同, 二者不应该被混淆。此机制给Java对象给予了一种基础的、默认的散列支持, 它被广泛应用于集合框架之中。

2、 查阅JDK源码里有关的注释, 我用蹩脚的英文这么大致翻译出来。

3、 一种方式被用于生成对象的哈希值, 其核心用途主要是为了支持采取哈希表这种数据结构的相关操作而具备的功能提供服务, 这个哈希值在诸如等集合这类范畴当中被广泛地加以运用, 目的在于能起到提升数据存储以及查找的效率的作用, 它是达成迅速定位以及优化性能的关键且处于基础地位的要素。

4、 程序运行的时候, 要是有个对象, 用于方法比较的数据没变化, 那不管该对象的方法被调用多少次, 都该返回一样的整数值。要留意, 一旦参与比较的属性被改了, 结果可能跟着变;不过不同运行周期之间, 同一个对象的哈希值不用保持一样。要是通过()方法判断两个对象相等, 那它们的值得相同, 这是保证哈希结构正确的基础。反过来, 要是两个对象不相等, 其值虽可能不一样, 但也能相同, 就是不同对象可以有相同的哈希码。即便这样, 开发者得明白, 尽可能给不一样的对象创造不一样的哈希值, 对降低哈希冲突有帮助, 能提高哈希表的存取效率。合适的哈希函数设计要兼顾分布均匀以及计算高效, 进而优化整体性能。所以, 在重写方法时, 要保证和逻辑协调统一着呢, 还得综合考量参与比较的字段, 以此达成稳定且高效的哈希行为。这个约定虽说不强行要求跨程序运行维持一致性, 可在单次运行当中必须严格遵照执行, 为的是保障集合类像、的正常运转。

5、 即便这样, 类里定义的方法对于各不相同的对象往往会返回不一样的哈希值。这个方法不是用Java语言去实现的, 而是一个本地的方法, 它的底层机制是把对象的内存地址转变为整数形式的哈希码, 所以在默认情形下, 不同对象的地址不一样, 所产生的哈希值也相互不一样。

6、 将方法进行重写的时候, 是一定要同时去进行重写的, 原因在于, Java规范当中明显作出了规定: 要是有两个对象呢, 通过判断它们是相等的, 那么它们的具体情况就必须得是相同的。之所以要这样规定, 目的是为了能够确保对象在基于哈希的集合里面, 像某些特定的集合这一类, 能够正确地去进行存储以及查找操作。然而要是不遵守这样的约定的话, 就有可能会致使相等的对象被当成不同的元素那样去处理, 进而破坏集合原本正常的功能。所以说, 在进行重写的时候, 应该结合业务方面的逻辑, 以此来保证一致性以及稳定性。

7、 它是一种借助哈希表达成的键值对存储结构, 其底层于JDK1.6里运用数组与链表的形式来组织数据, 从JDK1.8起, 为了提升性能, 当链表长度达到8时会自动转变为红黑树, 当长度降低至6以下时又会退化成链表, 如此设计的目的乃是在数据量较大之际, 保障查找、插入以及删除的效率, 在存储元素时, 首先经由对象的方法计算出对应的数组索引位置, 要是该位置已然有元素存在, 便会形成链表或者红黑树来处置哈希冲突。获取元素之际, 同样先是借助定位进而抵达数组里的特定位置, 而后经由方法去遍历链表或者树结构进而逐个进行比对, 最终寻得匹配的那些键值对。所以, 合理地去重写以及方法对于确保正确性以及性能而言是极为关键的。整个这一过程展现出哈希机制跟数据结构优化的融合, 致使在多数场景当中都能够维持较高的操作效率。

8、 在的get方法当中, 首先依据传入的哈希值去计算出数组对应的索引位置, 接着把该位置的链表的第一个节点赋予给变量first。然后进行判断, 要是first节点的哈希值跟目标对象的哈希值是一致的, 而且其键, 也就是key与传入的键是同一引用或者通过方法比较结果是相等的, 那就说明找到了目标节点, 此时直接返回其值。要是首个节点并不符合条件, 那就表明目标有可能是位于后续的节点当中。此阶段程序会顺着链表逐个遍历后续的每一个节点, 不断开展哈希值与键的比对工作, 直至寻得完全相符的节点时停止, 最终将相对应的值返回;要是遍历完毕依旧未曾找到, 那就返回null。整个查找进程兼顾着效率跟准确性。

9、 存在于put方法里, 凭借哈希值来确定索引地点, 要是该地点并无链表, 那就创立新节点, 并且把数据放置到里面。

10、 1. 若索引位置存在节点, 2. 首先要判断链表首个节点是不是待存数据的节点, 3. 要是是的话表示该键已经存在, 4. 就会触发后续覆盖操作, 5. 也就是更新对应的值。

11、 要是首个节点不符合条件, 那么首先就得判断它到底是不是树节点类型。要是是树节点类型的话, 那就采用红黑树的查找算法去进行定位。要是不是树节点类型, 那就对链表来进行遍历, 检查目标节点是不是存在。要是目标节点存在, 那就更新它的值。要是目标节点不存在, 那就得在链表末尾创建新节点, 并且把待存信息写入到这个新节点当中。

12、 在Java开发里头, 尽管我已然积攒经历两年多了, 然而实际径直运用的场景并不常出现。它主要被运用在底层数据结构的实现当中, 特别就是在有高效查找需求的场合。其核心作用是提升查找效率。具体讲来, 它借助计算对象的哈希值, 进而确定该对象于数组里的存储位置, 也就是索引下标。如此这般, 原本或许得遍历整个链表才能够找到目标元素的情形, 就转变为先凭借哈希值迅速定位到特定桶(数组位置), 极大地缩小了搜索范围。要是所有的元素都扎堆在同一条链表之上, 那查找的时候就不得不逐个去进行比对, 效率是极其之低的。恰恰是为了躲开这种问题, 哈希表才采用数组跟链表相结合的结构。这结构负责迅速定位到相应的链表, 而真正确定元素是不是匹配, 却是依赖方法的。程序会去遍历对应链表里的每一个节点, 经由比较键(key)是不是相等, 一旦匹配成功了, 便能够取出对应的那个值(value)。所以, 和共同协作, 达成了高效的存取操作。

13、 哈希算法在实际里使用很广, 像比如说数据库分的那种就是一部分一部分的表去记好多好多数。当一张记好多好多数放在一起的表记超出它能记的数范围时, 就可以采用说这个表的一部分一部分划分的策略, 这里面最简单的方式正是哈希算法划分表。要是需要把数分散放在五张部分是另一部分的表里面, 那就可以对表的标识号进行用五去除然后所得的余数这种操作, 按照所得余数来决定这个多的数记在哪一张部分另部分的表里面。这样去做这种方式不但能有效解决一张表能放的东西有限的问题, 还能够让数在各个分别是另一些表里面比较均匀地分布, 进而能够提升整个用的系统里面的性能。然而要是在接下来进行查询之际, 那时一定要先针对ID开展同样的取余运算, 这样才能够精准地判定目标数据所在的那张表, 跟着才可以去定位并且获取到信息, 这种办法简单又高效, 适宜于大规模数据的管理。

14、 接下来举个小例子

15、 猜到结局了吗

对于计算机专业的学生而言, 中关村在线里哈希算法在大学数据结构课程中曾有过接触,不过随着时间往前走, 多数人渐渐把相关内容给淡忘了。工作之后因为实际应用比较少, 所以也没有能够深入去研究。一直到某天在项目开发当中, 发现有其他人同时重写了和方法, 这才引发了思考: 究竟是什么呢? 为什么这两者如此这般。WWw.bbs.ulfvw.cN/Article/details/266248.sHtML
WWw.bbs.ulfvw.cN/Article/details/879266.sHtML
WWw.bbs.ulfvw.cN/Article/details/735709.sHtML
WWw.bbs.ulfvw.cN/Article/details/488198.sHtML
WWw.bbs.ulfvw.cN/Article/details/350202.sHtML
WWw.bbs.ulfvw.cN/Article/details/162148.sHtML
WWw.bbs.ulfvw.cN/Article/details/500677.sHtML
WWw.bbs.ulfvw.cN/Article/details/071983.sHtML
WWw.bbs.ulfvw.cN/Article/details/294434.sHtML
WWw.bbs.ulfvw.cN/Article/details/410039.sHtML
WWw.bbs.ulfvw.cN/Article/details/486636.sHtML
WWw.bbs.ulfvw.cN/Article/details/144749.sHtML
WWw.bbs.ulfvw.cN/Article/details/459792.sHtML
WWw.bbs.ulfvw.cN/Article/details/877281.sHtML
WWw.bbs.ulfvw.cN/Article/details/173026.sHtML
WWw.bbs.ulfvw.cN/Article/details/599083.sHtML
WWw.bbs.ulfvw.cN/Article/details/538994.sHtML
WWw.bbs.ulfvw.cN/Article/details/729741.sHtML
WWw.bbs.ulfvw.cN/Article/details/211610.sHtML
WWw.bbs.ulfvw.cN/Article/details/044694.sHtML
WWw.bbs.ulfvw.cN/Article/details/599917.sHtML
WWw.bbs.ulfvw.cN/Article/details/290994.sHtML
WWw.bbs.ulfvw.cN/Article/details/531318.sHtML
WWw.bbs.ulfvw.cN/Article/details/865180.sHtML
WWw.bbs.ulfvw.cN/Article/details/221477.sHtML
WWw.bbs.ulfvw.cN/Article/details/332482.sHtML
WWw.bbs.ulfvw.cN/Article/details/237202.sHtML
WWw.bbs.ulfvw.cN/Article/details/480944.sHtML
WWw.bbs.ulfvw.cN/Article/details/510901.sHtML
WWw.bbs.ulfvw.cN/Article/details/971860.sHtML
WWw.bbs.ulfvw.cN/Article/details/663620.sHtML
WWw.bbs.ulfvw.cN/Article/details/870010.sHtML
WWw.bbs.ulfvw.cN/Article/details/009830.sHtML
WWw.bbs.ulfvw.cN/Article/details/781332.sHtML
WWw.bbs.ulfvw.cN/Article/details/316333.sHtML
WWw.bbs.ulfvw.cN/Article/details/122543.sHtML
WWw.bbs.ulfvw.cN/Article/details/427117.sHtML
WWw.bbs.ulfvw.cN/Article/details/675373.sHtML
WWw.bbs.ulfvw.cN/Article/details/758175.sHtML
WWw.bbs.ulfvw.cN/Article/details/758597.sHtML
WWw.bbs.ulfvw.cN/Article/details/357053.sHtML
WWw.bbs.ulfvw.cN/Article/details/878660.sHtML
WWw.bbs.ulfvw.cN/Article/details/933511.sHtML
WWw.bbs.ulfvw.cN/Article/details/596397.sHtML
WWw.bbs.ulfvw.cN/Article/details/665032.sHtML
WWw.bbs.ulfvw.cN/Article/details/312953.sHtML
WWw.bbs.ulfvw.cN/Article/details/974518.sHtML
WWw.bbs.ulfvw.cN/Article/details/152093.sHtML
WWw.bbs.ulfvw.cN/Article/details/501096.sHtML
WWw.bbs.ulfvw.cN/Article/details/516747.sHtML
WWw.bbs.ulfvw.cN/Article/details/748524.sHtML
WWw.bbs.ulfvw.cN/Article/details/382936.sHtML
WWw.bbs.ulfvw.cN/Article/details/392040.sHtML
WWw.bbs.ulfvw.cN/Article/details/934909.sHtML
WWw.bbs.ulfvw.cN/Article/details/332493.sHtML
WWw.bbs.ulfvw.cN/Article/details/415816.sHtML
WWw.bbs.ulfvw.cN/Article/details/506683.sHtML
WWw.bbs.ulfvw.cN/Article/details/612577.sHtML
WWw.bbs.ulfvw.cN/Article/details/613814.sHtML
WWw.bbs.ulfvw.cN/Article/details/598774.sHtML
WWw.bbs.ulfvw.cN/Article/details/050236.sHtML
WWw.bbs.ulfvw.cN/Article/details/543168.sHtML
WWw.bbs.ulfvw.cN/Article/details/361943.sHtML
WWw.bbs.ulfvw.cN/Article/details/822276.sHtML
WWw.bbs.ulfvw.cN/Article/details/295779.sHtML
WWw.bbs.ulfvw.cN/Article/details/238080.sHtML
WWw.bbs.ulfvw.cN/Article/details/379306.sHtML
WWw.bbs.ulfvw.cN/Article/details/542500.sHtML
WWw.bbs.ulfvw.cN/Article/details/166290.sHtML
WWw.bbs.ulfvw.cN/Article/details/100442.sHtML
WWw.bbs.ulfvw.cN/Article/details/976427.sHtML
WWw.bbs.ulfvw.cN/Article/details/699523.sHtML
WWw.bbs.ulfvw.cN/Article/details/753786.sHtML
WWw.bbs.ulfvw.cN/Article/details/793920.sHtML
WWw.bbs.ulfvw.cN/Article/details/317979.sHtML
WWw.bbs.ulfvw.cN/Article/details/364274.sHtML
WWw.bbs.ulfvw.cN/Article/details/370461.sHtML
WWw.bbs.ulfvw.cN/Article/details/900559.sHtML
WWw.bbs.ulfvw.cN/Article/details/943100.sHtML
WWw.bbs.ulfvw.cN/Article/details/577730.sHtML
WWw.bbs.ulfvw.cN/Article/details/205020.sHtML
WWw.bbs.ulfvw.cN/Article/details/246017.sHtML
WWw.bbs.ulfvw.cN/Article/details/941214.sHtML
WWw.bbs.ulfvw.cN/Article/details/389630.sHtML
WWw.bbs.ulfvw.cN/Article/details/402918.sHtML
WWw.bbs.ulfvw.cN/Article/details/928582.sHtML
WWw.bbs.ulfvw.cN/Article/details/259450.sHtML
WWw.bbs.ulfvw.cN/Article/details/118447.sHtML
WWw.bbs.ulfvw.cN/Article/details/907814.sHtML
WWw.bbs.ulfvw.cN/Article/details/317736.sHtML
WWw.bbs.ulfvw.cN/Article/details/489689.sHtML
WWw.bbs.ulfvw.cN/Article/details/916562.sHtML
WWw.bbs.ulfvw.cN/Article/details/043427.sHtML
WWw.bbs.ulfvw.cN/Article/details/060185.sHtML
WWw.bbs.ulfvw.cN/Article/details/652364.sHtML
WWw.bbs.ulfvw.cN/Article/details/255986.sHtML
WWw.bbs.ulfvw.cN/Article/details/929079.sHtML
WWw.bbs.ulfvw.cN/Article/details/371307.sHtML
WWw.bbs.ulfvw.cN/Article/details/205592.sHtML
WWw.bbs.ulfvw.cN/Article/details/820508.sHtML
WWw.bbs.ulfvw.cN/Article/details/086187.sHtML
WWw.bbs.ulfvw.cN/Article/details/496179.sHtML
WWw.bbs.ulfvw.cN/Article/details/322400.sHtML
WWw.bbs.ulfvw.cN/Article/details/566113.sHtML
WWw.bbs.ulfvw.cN/Article/details/740588.sHtML
WWw.bbs.ulfvw.cN/Article/details/206311.sHtML
WWw.bbs.ulfvw.cN/Article/details/286736.sHtML
WWw.bbs.ulfvw.cN/Article/details/012537.sHtML
WWw.bbs.ulfvw.cN/Article/details/384037.sHtML
WWw.bbs.ulfvw.cN/Article/details/079228.sHtML
WWw.bbs.ulfvw.cN/Article/details/199113.sHtML
WWw.bbs.ulfvw.cN/Article/details/859818.sHtML
WWw.bbs.ulfvw.cN/Article/details/075252.sHtML
WWw.bbs.ulfvw.cN/Article/details/954924.sHtML
WWw.bbs.ulfvw.cN/Article/details/097956.sHtML
WWw.bbs.ulfvw.cN/Article/details/333743.sHtML
WWw.bbs.ulfvw.cN/Article/details/849008.sHtML
WWw.bbs.ulfvw.cN/Article/details/328317.sHtML
WWw.bbs.ulfvw.cN/Article/details/783448.sHtML
WWw.bbs.ulfvw.cN/Article/details/882279.sHtML
WWw.bbs.ulfvw.cN/Article/details/147337.sHtML
WWw.bbs.ulfvw.cN/Article/details/507373.sHtML
WWw.bbs.ulfvw.cN/Article/details/451429.sHtML
WWw.bbs.ulfvw.cN/Article/details/325791.sHtML
WWw.bbs.ulfvw.cN/Article/details/702052.sHtML
WWw.bbs.ulfvw.cN/Article/details/562413.sHtML
WWw.bbs.ulfvw.cN/Article/details/981171.sHtML
WWw.bbs.ulfvw.cN/Article/details/660006.sHtML
WWw.bbs.ulfvw.cN/Article/details/094927.sHtML
WWw.bbs.ulfvw.cN/Article/details/106041.sHtML
WWw.bbs.ulfvw.cN/Article/details/961270.sHtML
WWw.bbs.ulfvw.cN/Article/details/626598.sHtML
WWw.bbs.ulfvw.cN/Article/details/407520.sHtML
WWw.bbs.ulfvw.cN/Article/details/504581.sHtML
WWw.bbs.ulfvw.cN/Article/details/599567.sHtML
WWw.bbs.ulfvw.cN/Article/details/821453.sHtML
WWw.bbs.ulfvw.cN/Article/details/760153.sHtML
WWw.bbs.ulfvw.cN/Article/details/823946.sHtML
WWw.bbs.ulfvw.cN/Article/details/635703.sHtML
WWw.bbs.ulfvw.cN/Article/details/918397.sHtML
WWw.bbs.ulfvw.cN/Article/details/517405.sHtML
WWw.bbs.ulfvw.cN/Article/details/615534.sHtML
WWw.bbs.ulfvw.cN/Article/details/054204.sHtML
WWw.bbs.ulfvw.cN/Article/details/680787.sHtML
WWw.bbs.ulfvw.cN/Article/details/642653.sHtML
WWw.bbs.ulfvw.cN/Article/details/698922.sHtML
WWw.bbs.ulfvw.cN/Article/details/184499.sHtML
WWw.bbs.ulfvw.cN/Article/details/775424.sHtML
WWw.bbs.ulfvw.cN/Article/details/733960.sHtML
WWw.bbs.ulfvw.cN/Article/details/138838.sHtML
WWw.bbs.ulfvw.cN/Article/details/142285.sHtML
WWw.bbs.ulfvw.cN/Article/details/441486.sHtML
WWw.bbs.ulfvw.cN/Article/details/403050.sHtML
WWw.bbs.ulfvw.cN/Article/details/400056.sHtML
WWw.bbs.ulfvw.cN/Article/details/246965.sHtML
WWw.bbs.ulfvw.cN/Article/details/999936.sHtML
WWw.bbs.ulfvw.cN/Article/details/403136.sHtML
WWw.bbs.ulfvw.cN/Article/details/435367.sHtML
WWw.bbs.ulfvw.cN/Article/details/050259.sHtML
WWw.bbs.ulfvw.cN/Article/details/545079.sHtML
WWw.bbs.ulfvw.cN/Article/details/451567.sHtML
WWw.bbs.ulfvw.cN/Article/details/468703.sHtML
WWw.bbs.ulfvw.cN/Article/details/805558.sHtML
WWw.bbs.ulfvw.cN/Article/details/152672.sHtML
WWw.bbs.ulfvw.cN/Article/details/517562.sHtML
WWw.bbs.ulfvw.cN/Article/details/350829.sHtML
WWw.bbs.ulfvw.cN/Article/details/327855.sHtML
WWw.bbs.ulfvw.cN/Article/details/423561.sHtML
WWw.bbs.ulfvw.cN/Article/details/331149.sHtML
WWw.bbs.ulfvw.cN/Article/details/693736.sHtML
WWw.bbs.ulfvw.cN/Article/details/384872.sHtML
WWw.bbs.ulfvw.cN/Article/details/358593.sHtML
WWw.bbs.ulfvw.cN/Article/details/523386.sHtML
WWw.bbs.ulfvw.cN/Article/details/442520.sHtML
WWw.bbs.ulfvw.cN/Article/details/586500.sHtML
WWw.bbs.ulfvw.cN/Article/details/680024.sHtML
WWw.bbs.ulfvw.cN/Article/details/978580.sHtML
WWw.bbs.ulfvw.cN/Article/details/565629.sHtML
WWw.bbs.ulfvw.cN/Article/details/463634.sHtML
WWw.bbs.ulfvw.cN/Article/details/712044.sHtML
WWw.bbs.ulfvw.cN/Article/details/203922.sHtML
WWw.bbs.ulfvw.cN/Article/details/940688.sHtML
WWw.bbs.ulfvw.cN/Article/details/845433.sHtML
WWw.bbs.ulfvw.cN/Article/details/672602.sHtML
WWw.bbs.ulfvw.cN/Article/details/210691.sHtML
WWw.bbs.ulfvw.cN/Article/details/739907.sHtML
WWw.bbs.ulfvw.cN/Article/details/220559.sHtML
WWw.bbs.ulfvw.cN/Article/details/119152.sHtML
WWw.bbs.ulfvw.cN/Article/details/235399.sHtML
WWw.bbs.ulfvw.cN/Article/details/876823.sHtML
WWw.bbs.ulfvw.cN/Article/details/821364.sHtML
WWw.bbs.ulfvw.cN/Article/details/487124.sHtML
WWw.bbs.ulfvw.cN/Article/details/470978.sHtML
WWw.bbs.ulfvw.cN/Article/details/725639.sHtML
WWw.bbs.ulfvw.cN/Article/details/095273.sHtML
WWw.bbs.ulfvw.cN/Article/details/630323.sHtML
WWw.bbs.ulfvw.cN/Article/details/451232.sHtML
WWw.bbs.ulfvw.cN/Article/details/418998.sHtML
WWw.bbs.ulfvw.cN/Article/details/603523.sHtML
WWw.bbs.ulfvw.cN/Article/details/485089.sHtML
WWw.bbs.ulfvw.cN/Article/details/247421.sHtML
WWw.bbs.ulfvw.cN/Article/details/810846.sHtML
WWw.bbs.ulfvw.cN/Article/details/624874.sHtML
WWw.bbs.ulfvw.cN/Article/details/197832.sHtML
WWw.bbs.ulfvw.cN/Article/details/157390.sHtML
WWw.bbs.ulfvw.cN/Article/details/603214.sHtML
WWw.bbs.ulfvw.cN/Article/details/249468.sHtML
WWw.bbs.ulfvw.cN/Article/details/675989.sHtML
WWw.bbs.ulfvw.cN/Article/details/820477.sHtML
WWw.bbs.ulfvw.cN/Article/details/565012.sHtML
WWw.bbs.ulfvw.cN/Article/details/052130.sHtML
WWw.bbs.ulfvw.cN/Article/details/482091.sHtML
WWw.bbs.ulfvw.cN/Article/details/050009.sHtML
WWw.bbs.ulfvw.cN/Article/details/713714.sHtML
WWw.bbs.ulfvw.cN/Article/details/736812.sHtML
WWw.bbs.ulfvw.cN/Article/details/633454.sHtML
WWw.bbs.ulfvw.cN/Article/details/236694.sHtML
WWw.bbs.ulfvw.cN/Article/details/451214.sHtML
WWw.bbs.ulfvw.cN/Article/details/395385.sHtML
WWw.bbs.ulfvw.cN/Article/details/361570.sHtML
WWw.bbs.ulfvw.cN/Article/details/551950.sHtML
WWw.bbs.ulfvw.cN/Article/details/694215.sHtML
WWw.bbs.ulfvw.cN/Article/details/741859.sHtML
WWw.bbs.ulfvw.cN/Article/details/704421.sHtML
WWw.bbs.ulfvw.cN/Article/details/386530.sHtML
WWw.bbs.ulfvw.cN/Article/details/025092.sHtML
WWw.bbs.ulfvw.cN/Article/details/336893.sHtML
WWw.bbs.ulfvw.cN/Article/details/355263.sHtML
WWw.bbs.ulfvw.cN/Article/details/613274.sHtML
WWw.bbs.ulfvw.cN/Article/details/855203.sHtML
WWw.bbs.ulfvw.cN/Article/details/982820.sHtML
WWw.bbs.ulfvw.cN/Article/details/228328.sHtML
WWw.bbs.ulfvw.cN/Article/details/305500.sHtML
WWw.bbs.ulfvw.cN/Article/details/239373.sHtML
WWw.bbs.ulfvw.cN/Article/details/963017.sHtML
WWw.bbs.ulfvw.cN/Article/details/774216.sHtML
WWw.bbs.ulfvw.cN/Article/details/706189.sHtML
WWw.bbs.ulfvw.cN/Article/details/746506.sHtML
WWw.bbs.ulfvw.cN/Article/details/481825.sHtML
WWw.bbs.ulfvw.cN/Article/details/972611.sHtML
WWw.bbs.ulfvw.cN/Article/details/213306.sHtML
WWw.bbs.ulfvw.cN/Article/details/858436.sHtML
WWw.bbs.ulfvw.cN/Article/details/494661.sHtML
WWw.bbs.ulfvw.cN/Article/details/381923.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/546685.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/341484.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/660797.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/048408.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/954603.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/733150.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/701882.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/788549.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/887287.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/604006.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/773994.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/980728.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/596551.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/080153.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/615372.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/166281.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/242125.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/927022.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/196978.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/546564.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/871321.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/584143.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/791931.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/068393.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/118880.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/249799.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/507740.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/561589.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/474137.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/447572.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/641314.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/956191.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/342887.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/459734.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/252784.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/723351.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/203678.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/787486.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/641454.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/249979.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/555940.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/655579.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/651649.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/223968.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/517041.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/519634.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/843351.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/443450.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/067407.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/782821.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/136465.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/144544.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/208606.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/709670.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/717657.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/421582.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/038782.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/715664.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/009639.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/872244.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/193528.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/736169.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/513963.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/871600.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/430516.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/840680.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/225577.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/065975.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/994539.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/355301.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/517730.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/402969.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/612371.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/337108.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/245766.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/248691.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/781766.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/804869.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/272304.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/604671.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/799277.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/273439.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/607627.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/292289.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/858846.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/656580.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/128515.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/834634.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/763343.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/421878.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/938056.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/181561.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/925384.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/828966.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/449733.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/322970.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/376922.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/978423.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/275363.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/656541.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/849640.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/956864.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/462667.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/335772.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/068695.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/780373.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/805446.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/574008.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/384616.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/848317.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/924385.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/750124.sHtML
WWw.BlOg.GeVc.CoM.cN/Article/details/164278.sHtML

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 1:54:19

Vue+SpringBoot电商系统开发实战与优化技巧

1. 项目概述与核心技术选型2019年我接手第一个电商项目时,面对五花八门的技术栈彻底懵了。如今用VueSpringBoot组合开发过7个电商系统后,终于摸清了这套黄金搭档的实战门道。这个组合之所以成为中小型电商项目的首选,关键在于Vue的灵活组件化…

作者头像 李华
网站建设 2026/7/18 1:53:35

TSV与TGV技术解析:半导体封装的高密度互连方案

1. 从硅通孔到玻璃基板:半导体封装的进化之路在半导体行业摸爬滚打十几年,我亲眼见证了封装技术从传统的引线键合到如今的2.5D/3D堆叠的演进过程。最近业内热议的TSV和TGV技术,本质上都是为了解决同一个核心问题:如何在更小的空间…

作者头像 李华
网站建设 2026/7/18 1:52:09

写入之道:记忆的写入策略与一致性保障

摘要 记忆系统的"最后一公里"在写入端——何时写、写什么、如何避免冲突。本文分析写入时机的三种触发策略(每轮写、事件触发写、批量写)、写入内容的三层过滤(去噪/提纯/标注),以及多 Agent 并发写入下的一致性保障。核心发现:每轮写入的存储成本是事件触发的…

作者头像 李华
网站建设 2026/7/18 1:51:01

三月七小助手:星穹铁道智能自动化助手完全指南

三月七小助手:星穹铁道智能自动化助手完全指南 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 还在为《崩坏:星穹铁道》中重复性的日常任务感…

作者头像 李华
网站建设 2026/7/18 1:49:20

TeamoRouter:统一AI API网关的技术解析与应用

1. TeamoRouter:AI API 统一网关的崛起最近在开发者圈子里,一个名为TeamoRouter的工具突然火了起来。这个工具本质上是一个AI API的统一网关,它允许开发者通过单一的API Key接入包括Claude Code、Codex在内的多种主流AI模型。对于需要同时使用…

作者头像 李华
网站建设 2026/7/18 1:48:46

大模型技术解析:LLM、RAG与AI Agent应用实践

1. 大模型技术全景解析:从基础概念到应用实践 2023年被称为"生成式AI元年",各类大模型技术如雨后春笋般涌现。作为从业者,我见证了LLM、RAG、AI Agent等技术从实验室走向产业应用的完整历程。本文将基于实际项目经验,系…

作者头像 李华