<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[helllwang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/helllwang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; helllwang]]></copyright><item><title><![CDATA[ Java与Python混合架构实践：从两个AI项目谈起]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/161288316</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/161288316</guid><author>helllwang</author><pubDate>Thu, 21 May 2026 16:10:02 +0800</pubDate><description><![CDATA[本文分享了两个AI项目中Java与Python混合架构的实践经验。在A公司AI中台项目中，过度依赖封闭框架导致升级困难；在B公司项目中，采用&quot;Java主导+Python专注&quot;的混合架构，通过Java处理企业级后端需求，Python负责AI能力实现，并设计了突破Token限制的代码沙箱方案。文章总结了混合架构的核心原则：Java负责非功能需求，Python专注单一职责，严格隔离AI生成代码。建议Java开发者掌握Python基础语法和调试技能，但不必成为专家。最后强调合理混用语言、快速迭代]]></description><category></category></item><item><title><![CDATA[微调本地大模型QWEN2]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144966092</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144966092</guid><author>helllwang</author><pubDate>Mon, 06 Jan 2025 16:09:08 +0800</pubDate><description><![CDATA[大模型指令微调（Instruction Tuning）是一种针对大型预训练语言模型的微调技术，其核心目的是增强模型理解和执行特定指令的能力，使模型能够根据用户提供的自然语言指令准确、恰当地生成相应的输出或执行相关任务。指令微调特别关注于提升模型在遵循指令方面的一致性和准确性，从而拓宽模型在各种应用场景中的泛化能力和实用性。海鸣：大模型 SFT 经验帖200 赞同 · 5 评论文章​编辑在实际应用中，我的理解是，指令微调更多把LLM看作一个更智能、更强大的传统NLP模型（比如Bert）]]></description><category></category></item><item><title><![CDATA[线程池7大核心参数详解]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144908379</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144908379</guid><author>helllwang</author><pubDate>Fri, 03 Jan 2025 13:34:32 +0800</pubDate><description><![CDATA[这是古代大户人家最多可以雇佣的人数，比如某个节日或大户人家有人过寿时，因为活太多，仅靠“长工”是完不成任务，这时就会再招聘一些“短工”一起来干活，这个最大线程数就是“长工”+“短工”的总人数，也就是招聘的人数不能超过 maximumPoolSize。还是以大户人家为例，当大户人家比较忙的时候就会雇佣一些“短工”来干活，但等干完活之后，不忙了，就会将这些“短工”辞退掉，而 keepAliveTime 就是用来描述没活之后，短工可以在大户人家待的（最长）时间。是由参数 4 说了算的。]]></description><category></category></item><item><title><![CDATA[一文读懂 Spring Bean 的生命周期]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144908364</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144908364</guid><author>helllwang</author><pubDate>Fri, 03 Jan 2025 13:33:52 +0800</pubDate><description><![CDATA[而 Spring 中的对象是 bean，bean 和普通的 Java 对象没啥大的区别，只不过 Spring 不再自己去 new 对象了，而是由 IoC 容器去帮助我们实例化对象并且管理它，我们需要哪个对象，去问 IoC 容器要即可。总之，postProcessBeforeInstantiation 在 doCreateBean 之前调用，也就是在 bean 实例化之前调用的，英文源码注释解释道该方法的返回值会替换原本的 Bean 作为代理，这也是 AOP 等功能实现的关键点。]]></description><category></category></item><item><title><![CDATA[ES基础分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888836</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888836</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 16:03:18 +0800</pubDate><description><![CDATA[引言

1.1 ES简介

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。

Elasticsearch提供了存储、搜索、分析数据三大功能，其主要特点有：分布式、零配置、易装易用、自动发现、RESTful风格接口、多数据源和自动搜索负载等。它能很方便的使大量数据具有搜索和分析能力。充分利用Elasticsearch的水平伸缩性，能使数据在生产环境变得更有价值。

Elasticsearch 的实现原理主要分为以下几个步骤：首先用户将数据提交到Elasticsear]]></description><category></category></item><item><title><![CDATA[系统高可用架构设计分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888806</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888806</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 16:02:28 +0800</pubDate><description><![CDATA[例如，用户在旧主机上新增了一条 ID 为 100 的数据，这个数据还没有复制到旧的备机，此时发生了切换，旧的备机升级为新的主机，用户又在新的主机上新增了一条 ID 为 100 的数据，当旧的故障主机恢复后，这两条 ID 都为 100 的数据，应该怎么处理？根据集群中服务器节点角色的不同，可以分为两类：一类是对称集群，即集群中每个服务器的角色都是一样的，可以执行所有任务；另一类是非对称集群，集群中的服务器分为多个不同的角色，不同的角色执行不同的任务，例如最常见的 Master-Slave 角色。]]></description><category></category></item><item><title><![CDATA[k8s网络、存储分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888780</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888780</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 16:01:32 +0800</pubDate><description><![CDATA[Pod1中还有一个比较特殊的叫pause的容器，这个容器运行的唯一目的是为Pod建立共享的veth0网络接口。简单理解，Pod网络的数据包，在出节点之前，会先被封装成节点网络的数据包，当数据包到达目标节点，包内的Pod网络数据包会被解封出来，再转发给节点内部的Pod网络。如果回收策略设为了Retain，那么删除PVC后PV不会被删除，这个时候的PV处于Released状态，需要管理员手动干预修改配置，才能恢复到Available状态并被重新可绑定，同时，PV如果处于Released状态，那么他是不可用的。]]></description><category></category></item><item><title><![CDATA[docker及K8S基础分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888764</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888764</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 16:00:54 +0800</pubDate><description><![CDATA[重启策略适用于pod对象中的所有容器，首次需要重启的容器，将在其需要时立即进行重启，随后再次需要重启的操作将由kubelet延迟一段时间后进行，且反复的重启操作的延迟时长以此为10s、20s、40s、80s、160s和300s，300s是最大延迟时长。它在NodeSelector的基础之上的进行了扩展，可以通过配置的形式，实现优先选择满足条件的Node进行调度，如果没有，也可以调度到不满足条件的节点上，使调度更加灵活。镜像可以通过分层来进行继承，基于基础镜像（没有父镜像），可以制作各种具体的应用镜像。]]></description><category></category></item><item><title><![CDATA[mongdb实战分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888534</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888534</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 15:53:08 +0800</pubDate><description><![CDATA[降级为从节点的主节点，在恢复后加入集群，如果自己数据比主节点还要新，则要回滚到跟当前主节点一致的状态。从 MongoDB 4.2 开始，索引构建使用优化的构建过程，该过程在索引构建的开始和结束时在集合上持有独占锁。如果并发索引构建的数量达到指定的限制maxNumActiveUserIndexBuilds，服务器将阻止其他索引构建，直到并发索引构建的数量降至限制以下。mongodb支持多种类型的索引，包括单字段索引、复合索引、多键索引、哈希索引、文本索引、 地理位置索引等，每种类型的索引有不同的使用场合。]]></description><category></category></item><item><title><![CDATA[mysql分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888504</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888504</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 15:52:15 +0800</pubDate><description><![CDATA[在开始生成页的时候，没有User Records这个部分，每当我们插入一条记录，都会从Free Space中申请一个记录大小的空间划分到User Records，当Free Space部分的空间全部被User Records替代掉之后，就意味着这个页使用完了，如果还有新的记录插入的话，就需要去申请新的页。在InnoDB中，聚簇索引是按照每张表的主键构建的一种索引方式，它是将表数据按照主键的顺序存储在磁盘上的一种方式，这种索引方式保证了行的物理存储顺序和主键的逻辑顺序相同，所以查找聚簇索引的速度非常快。]]></description><category></category></item><item><title><![CDATA[Redis分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888461</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888461</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 15:51:00 +0800</pubDate><description><![CDATA[集合的成员是唯一的，但是评分是可以重复的。在从数据库连接着主数据库情况下，由于网络原因，某些数据出现主从不一致的情况，这时候可以容忍数据不一致的情况，通过设置环形缓冲区，将网络抖动时候的数据先写入环形缓冲区，从数据库会记录一个偏移值，在主数据库发送数据前，从数据库先把偏移值发送给主数据库，看偏移值是否在环形缓冲区中，然后再将环形缓冲区中偏移值到起始地址的数据发送到从数据库中。然后，领头Sentinel节点通过发布订阅功能，通知其他从节点更改配置文件，将它们的连接从原来的主节点转移到新的主节点上。]]></description><category></category></item><item><title><![CDATA[kafka分享]]></title><link>https://blog.youkuaiyun.com/helllwang/article/details/144888432</link><guid>https://blog.youkuaiyun.com/helllwang/article/details/144888432</guid><author>helllwang</author><pubDate>Thu, 02 Jan 2025 15:50:21 +0800</pubDate><description><![CDATA[Zookeeper节点如果频繁发生Full GC(Stop The World)，此时与客户端的会话将超时，无法响应客户端的心跳请求，与会话相关联的临时节点将被删除，注意，此时是所有的临时节点被删除，Zookeeper依赖的事件通知机制将失效，整个集群的选举服务将失效。Kafka中的消费者需要进行负载均衡来实现多个消费者合理地从对应的Broker服务器上接收消息，每个消费者分组包含若干消费者，每条消息都只会发送给分组中的一个消费者，不同的消费者分组消费自己特定的Topic下面的消息，互不干扰。]]></description><category></category></item></channel></rss>