自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(489)
  • 资源 (1)
  • 收藏
  • 关注

原创 java中对象可达性分析 + 自动回收算法

Java垃圾回收(GC)通过对象可达性分析和自动回收算法实现内存管理。首先,JVM从GC Roots(如栈引用、静态变量等)出发,标记所有可达对象,不可达对象视为垃圾。随后采用三种算法回收:标记-清除简单但产生碎片,复制算法高效但浪费空间,标记-整理适合老年代减少碎片。整个过程先分析对象存活状态,再选择算法释放内存,确保Java自动管理内存,开发者无需手动干预。典型场景如对象失去引用后,GC会自动识别并回收其内存空间。

2025-06-27 14:31:30 15

原创 java服务中gc是什么?为什么gc?GC的原理

Java GC(垃圾回收)简介 GC是Java虚拟机的自动内存管理机制,通过回收无用对象释放内存。其核心原理包括: 可达性分析:从GC Roots出发标记存活对象; 回收算法:如标记-清除、复制算法等处理不同内存区域(新生代/老年代)。 优势是避免内存泄漏、简化开发,典型回收触发场景如对象失去所有引用。示例中a=null使"hello"字符串成为可回收对象。不同GC器(如G1、CMS)采用差异化实现策略优化性能。

2025-06-27 14:30:03 5

原创 朝乾夕惕,功不唐捐

“朝乾夕惕,功不唐捐”出自《周易》,意为勤勉自省、坚持不懈,努力终有回报。“朝乾夕惕”指终日奋发警醒,“功不唐捐”强调付出必有收获。这句话鼓励人们保持自律勤奋,终将取得成功。

2025-06-27 14:29:17 56

原创 RBAC是什么

RBAC核心模型与实现概述 RBAC(基于角色的访问控制)通过角色关联用户和权限,简化权限管理。其核心包含: 基础模型:用户-角色-权限三层结构,通过多对多关系实现权限分配 表结构设计:5张核心表(用户、角色、权限及2张关联表) 实现示例:以Flask+SQLAlchemy展示多对多关联模型,包含用户角色关系和角色权限关系 该模型适用于复杂系统权限管理,通过角色中介实现高效授权和维护。

2025-06-26 15:14:05 126

原创 红蓝演练怎么搞

红蓝对抗演练:提升系统稳定性和团队应急能力的实践方案 本文系统阐述了红蓝对抗演练的实施框架,旨在提升系统稳定性与团队应急能力。通过军事领域演进的对抗机制,蓝方(SRE团队)主动制造故障场景,检验红方(业务团队)的容错响应能力。方案包含完整的组织设计、运行机制(从定期到随机)、评估体系(处理时长/预案有效性/自动恢复率)和运营机制(能力分值/奖惩制度)。相比传统故障演练,红蓝对抗更强调人员训练和全方位能力检验。实施面临环境成熟度、场景复杂度等挑战,需循序渐进。该机制能有效提升风险治理、容量验证、变更管控等关键

2025-06-25 10:14:25 16

原创 域名解析(DNS)相关

互联网的底层逻辑始终围绕着根域名服务器(Root Server)展开。在IPv4体系下,全球仅13组根服务器构成了互联网的“中枢神经”,其中1个为主根域名服务器在美国,其余12个均为辅根域名服务器,其中9个放置在美国,欧洲2个位于英国和瑞典,亚洲1个位于日本,而国内是没有IPv4根域名服务器的。这13组根服务器对应的是13个IP地址,对应了A-M共13个编号(如a.root-servers.net到m.root-servers.net)。

2025-06-23 10:32:20 317

原创 网络NAT是什么

NAT是实现私有网络与公有网络之间通信的一项技术,通过IP地址转换实现多台设备共用一个公网IP,并提高网络安全性。

2025-06-17 20:00:33 100

原创 【互联网基础】互联网公司机房怎么设计

超大规模数据中心网络架构设计要点针对10万台服务器的数据中心,核心设计需采用Spine-Leaf CLOS架构,确保高扩展、低延迟和高可用性:分层设计:Leaf层(ToR交换机):每机柜部署1-2台48口万兆/25G交换机,上联多台Spine;Spine层:全互联拓扑,通过ECMP均衡流量,支持100G/400G高速互联;额外独立管理/存储网络,实现物理隔离。关键技术:协议:VXLAN+EVPN实现多租户隔离,BGP/OSPF动态路由;冗余:双链路、双电源、设备堆叠(MLAG)

2025-06-13 16:39:18 376

原创 【网关】互联网公司的接入网关和业务网关怎么设计

本文系统介绍了网关技术中的核心概念(LB与GSLB)及网关设计要点:1️⃣ LB与GSLB对比LB实现本地流量分发(如Nginx),GSLB负责跨地域调度(如智能DNS),分别解决单机房负载均衡和全局流量优化问题。2️⃣ 网关分层设计接入网关:统一入口,处理认证/限流/安全防护(推荐Nginx、Kong)业务网关:服务编排/API聚合,实现业务逻辑整合(常用BFF模式或自研)3️⃣ 实践建议采用三级架构(LB→接入网关→业务网关)云原生场景可结合K8s Ingress与Service Me

2025-06-13 16:29:05 293

原创 【推荐算法课程二】推荐算法介绍-深度学习算法

深度学习在推荐系统中的应用逐渐成为主流,AutoRec和Deep Crossing是两种典型模型。AutoRec采用自编码器结构,通过单隐层神经网络重建用户评分,分为基于物品和基于用户两种形式。Deep Crossing则构建了完整的深度学习架构,包含Embedding层、Stacking层、残差单元层和Scoring层,解决了特征稠密化、自动交叉组合和优化目标拟合等关键问题。两种模型分别代表了早期和进阶的深度学习推荐方法,为后续研究奠定了基础。

2025-06-12 20:07:23 126

原创 【推荐算法课程一】推荐算法介绍-基础算法

《深度学习-推荐系统》教程摘要:该教程系统介绍了现代推荐系统的架构与演进历程。推荐系统通过分析用户信息、物品信息和场景信息,构建预测模型对候选物品进行排序。架构包含数据层(生成样本、特征和监控数据)、模型层(召回、排序和混排模块)、训练层(离线训练和在线更新)。数据层处理原始数据,模型层实现多级筛选,训练层兼顾全局优化和实时更新。本教程详细解析了推荐系统的工程实现方法,是入门的优秀指南。(150字)

2025-06-11 20:39:46 285

原创 广告推荐系统中模型训练中模型的结构信息、Dense数据、Sparse数据

下面结合广告推荐系统常见的深度学习模型(比如 Wide & Deep、DeepFM、Two-Tower 等),介绍一下“模型的结构信息”、Dense 数据和 Sparse 数据在训练过程中的角色及处理方式。Sparse 数据(高维离散型特征)Dense 数据(数值型特征)

2025-06-11 14:50:12 131

原创 原生广告&UG广告

本文解析两种主流广告形式:原生广告和UG广告。原生广告强调与环境融合,通过信息流、推荐位等形式提供有价值内容,具有高接受度和转化率,但需注意合规标识。UG广告利用用户生成内容(如测评、直播)实现低成本社交化种草,凭借真实感提升传播效果。两者均注重用户体验,但原生广告侧重专业内容植入,UG广告依赖用户自发分享。成功的核心在于平衡商业目标与内容价值,实现自然触达。

2025-06-11 13:57:47 171

原创 广告系统中后链路数据为什么要使用流批一体技术?流批一体技术是什么?

在大规模广告系统的后链路(离线和实时特征计算、模型训练与上线、效果监控等)中,往往既有对海量历史数据的批量计算需求(离线特征、离线模型训练、报表汇总),又有对在线请求的低延迟实时计算需求(实时特征、在线打分、实时监控/告警)。传统将二者割裂、用 Lambda 架构(Batch + Speed 层)分别实现,带来了:• 代码与业务逻辑重复• 数据语义/计算结果不一致• 运维成本、调度复杂度翻倍• 开发调试效率低。

2025-06-10 20:43:49 447

原创 客资广告(线索广告)

核心在于明确目标人群、优化创意与表单体验,并结合持续跟进及数据分析,实现潜在客户到最终成交的全流程闭环。线索广告(Lead Ads)是以获取潜在客户信息(如姓名、电话、邮箱、职务等)为目的的广告形式。用户填写完表单信息后,广告主即可获得可跟进的客户线索,用于后续销售或精准营销。• 针对不同客户阶段可设计多版本表单——初步兴趣版 vs. 进一步跟进版。• 控制在3~5项以内(姓名、手机号、地区、需求等)• 突出价值主张(如“免费报告”、“限时优惠”)• 提供实用价值(白皮书下载、免费体验、优惠券)

2025-06-10 17:03:06 174

原创 搜广推特征数据变更灰度为什么实现很困难

综上所述,搜广推特征数据的灰度发布涉及到数据生产、存储、服务、模型训练、实验评估等多个环节的协同,对系统架构的灵活性、数据管理能力和实验平台能力都提出了极高的要求,因此实现起来非常困难。通常需要强大的基础设施(如支持版本的特征平台、灵活的数据流处理框架、完善的A/B测试系统)来支撑。搜广推(搜索、广告、推荐)系统中的特征数据变更进行灰度发布之所以实现困难,主要源于这些系统本身的复杂性、对数据一致性的高要求以及变更可能带来的深远影响。

2025-06-05 19:06:09 64

原创 运维视角下的广告系统之理解广告索引级联

摘要:广告索引采用级联(多层索引)设计主要为了高效处理多维度查询。级联索引通过分层过滤(如地域→业务线→关键词),能快速排除无关项,显著提升检索性能,同时节省存储空间。以美团为例,其广告系统按照地域、业务线等维度构建层级结构,支持毫秒级响应。这种设计还能灵活扩展新维度,并控制键空间爆炸。实际系统中常结合倒排索引等技术优化,满足高并发需求。类似架构也广泛应用于滴滴、阿里等企业的广告和推荐系统。

2025-06-03 15:14:14 56

原创 阿里云数据盘级别

总的来说,ESSD云盘的不同性能级别PL0、PL1、PL2和PL3在性能、容量范围、应用场景以及价格方面都有显著的差异。在选择时,需要根据实际的业务需求和预算进行权衡,选择最适合的性能级别。数据盘PL0、PL1、PL2和PL3的区别体现在。

2025-05-21 10:36:20 562

原创 go test操作

这是一个特殊的函数,用于执行测试的主函数。: 类似于T.Parallel,但适用于C类型的测试实例。: 类似于T.FailNow,但适用于C类型的测试实例。: 类似于T.Errorf,但适用于C类型的测试实例。: 类似于T.Fatalf,但适用于C类型的测试实例。: 类似于T.Skipf,但适用于C类型的测试实例。: 类似于T.Logf,但适用于C类型的测试实例。: 类似于Errorf,但会导致测试立即终止。: 用于记录测试过程中的信息,不会中断测试。: 一个结构体,包含有关测试的信息和方法。

2025-05-21 10:34:09 599

原创 git基础操作

当远程仓库迁移到一个新的组下面时,你需要在本地仓库中更新远程仓库的URL,以便与新的远程仓库关联。以上步骤完成后,你的本地仓库就会与新组下的远程仓库正确关联,你可以像之前一样进行拉取、推送等操作。首先,你需要从GitLab或相关平台获取新组下的仓库的新URL。通常,仓库的URL格式为。此命令将你的本地分支与新远程仓库的对应分支关联起来。命令,确认新的远程仓库URL已正确设置。这将显示当前远程仓库的名称(通常是。如果远程仓库名称仍为。

2025-05-21 10:32:47 224

原创 docker上传镜像

向Docker Hub上传镜像,需要按照一定的步骤进行操作。Docker Hub是Docker的官方镜像仓库,用户可以在其中存储、管理和部署Docker镜像。* 确保你已经有一个制作好的Docker镜像。如果没有,你可以使用docker build命令来创建一个。例如,如果你有一个名为Dockerfile的文件,可以使用以下命令构建镜像: sh。总之,通过执行上述步骤,你就可以将Docker镜像成功上传到Docker Hub,从而与他人共享或在其他环境中使用该镜像。

2025-05-21 10:29:46 535

原创 open ai查看所有可用的模型列表

查看chatgpt的模型列表。

2025-05-21 10:28:31 324

原创 设置go test默认执行时间(默认10分钟)

Go test 的默认最大执行时间为20分钟。

2025-05-21 10:24:57 121

原创 远程合并其他分支,再提交

复制代码这样直接合并了"远程 master"最新内容,不需要本地 master 参与。

2025-05-21 10:23:54 470

原创 删除不用的镜像

要删除列出的所有 Docker 镜像,你需要使用docker rmi命令来删除它们。您提到想要删除所有这些镜像,请注意,删除镜像会永久移除它们,并且可能会影响依赖这些镜像的容器。

2025-05-21 10:22:47 216

原创 git操作:将就代码仓库更新为新的代码仓库

在进行任何会影响 Git 历史记录的操作之前,请务必确保你理解它们的影响并且已经备份必要的数据。4. git commit -m “Initial commit” # 创建新的提交。2. git init # 重新初始化一个新的 Git 仓库。1.rm -rf .git # 删除 .git 目录。3. git add . # 添加所有文件。这种方式会丢失所有的提交历史,但也是一种彻底的清理方法。

2025-05-21 10:21:13 227

原创 如何使用redis做限流(golang实现小样)

你可以根据实际需求,选择固定窗口、滑动窗口等算法,用Go+Redis实现高性能限流。滑动窗口用ZSET实现,推荐生产环境使用Lua脚本保证原子性。建议多测试,关注Redis QPS压力。如果你需要更复杂的令牌桶算法实现,也可以告知!

2025-05-21 10:19:43 1123

原创 go for 闭环问题【踩坑记录】

for 循环闭包抓变量,新建变量解君愁。变量传参进函数,后患无忧代码优。

2025-04-21 16:15:43 886

原创 运维视角下的广告业务

广告业务是很多家互联网公司的营收业务,业务非常复杂,既ToC又ToB,广告链路上从广告创编开始,到定向投放客户,再到广告主账户、计划、单元、创意四层级联生成相关广告物料,再到召回、粗排、精排、正排展示给用户,中间还夹杂着广告出价、调价、竞价、模型特征提取、预估打分,以及后链路事件拼接、计费、模型训练等等,广告业务系统是一个非常复杂的大系统。后面将从运维视角出发,逐步逐层拨开广告系统的“面纱”,更清楚更直观展示广告系统的纷繁复杂,为更好运维这个系统打下坚实基础。

2024-11-03 16:42:44 157

原创 分片上传的常见错误有哪些?

OSS服务端可能因为内部错误而导致上传失败,这时通常会有错误码和错误信息返回,可以根据这些信息进行相应的处理。为了减少这些错误的发生,你应该在上传前进行充分的测试,并在生产环境中监控上传过程,以便及时发现并解决问题。:上传的分片数据与OSS服务器上的校验和不匹配,这可能是由于数据在传输过程中损坏。:确保你有足够的权限进行分片上传操作,包括初始化、上传分片和完成上传的权限。:确保每个分片的大小一致,除非是最后一个分片,它可能小于指定的分片大小。:如果不小心上传了同名文件,可能会导致原有文件被覆盖。

2024-10-04 11:44:46 549

原创 分片上传的最佳实践有哪些?

分片上传是阿里云OSS提供的一种上传大文件的机制,它通过将文件分成多个部分(分片)并行上传,从而提高上传的效率和可靠性。:在上传过程中,如果发生网络中断或其他错误,应该能够从中断的地方继续上传,而不是重新上传整个文件。:为了保证上传数据的完整性,可以在上传前计算每个分片的校验和(如MD5),并在上传完成后进行验证。需要有机制来重试失败的分片上传。:如果分片上传过程中断,应提供机制来清理已经上传的分片,以避免产生不必要的存储费用。:提供上传进度的监控,可以让用户了解当前上传的状态,特别是在上传大文件时。

2024-10-04 11:43:46 548

原创 面对大文件(300G以上)如何加速上传速度

要结合多线程上传每个分片,你可以使用Go语言的并发特性,例如使用 goroutines 和 channels。在这个示例中,我们首先初始化了一个分片上传会话,并设置了每个分片的大小为10MB。接着,通过循环读取文件内容并逐个上传分片,最终完成整个文件的上传。对于大文件上传,可以使用分片上传的方式,并且结合多线程来加速上传过程。为你的实际OSS配置信息,并且提供了一个有效的本地文件路径和对象键名。这种方法允许你利用Go语言的并发特性来加速大文件的上传过程。来等待所有分片上传完成,并使用了一个通道。

2024-10-04 11:40:52 552

原创 面试八股--stram 中map和flatmap的区别

不同的是,它会将函数的返回值扁平化(flatten),即将嵌套的集合或数组展开成一个单一的集合。都是用于处理集合(如列表、数组等)中的元素的方法,它们的主要区别在于处理结果的方式。可能会改变原始集合的结构,因为它会将所有嵌套的元素提取出来并放入一个新的集合中。:它会对集合中的每个元素应用一个函数,并将结果收集到一个新的集合中。操作不会改变原始集合的结构,而是创建一个新的集合来存储转换后的元素。:它同样会对集合中的每个元素应用一个函数,但与。但是,如果我们有一个包含嵌套列表的列表,例如。

2024-09-18 15:26:10 435

原创 面试八股--MySQL命名规范

使用小写字母和下划线组合,避免使用大写字母、空格和特殊字符。列名应简洁明了,尽量避免使用缩写,除非是通用的缩写。使用前缀来表示表之间的关系。表名应该具有描述性,尽量使用复数形式。避免使用保留字作为表名或列名,如。,可以在它们之间建立关系,如。

2024-09-18 15:24:59 597

原创 801. 使序列递增的最小交换次数

例如,如果 nums1 = [1,2,3,8] , nums2 =[5,6,7,4] ,你可以交换 i = 3 处的元素,得到 nums1 =[1,2,3,4] 和 nums2 =[5,6,7,8]。数组 arr 严格递增 且 arr[0] < arr[1] < arr[2] < …< arr[arr.length - 1]。输入: nums1 = [0,3,5,8,9], nums2 = [2,1,4,6,9]输入: nums1 = [1,3,5,4], nums2 = [1,2,3,7]

2024-09-18 14:37:59 387

原创 linux命令学习--pipe管道和重定向

Linux管道和重定向是两种常用的命令行操作,它们可以帮助我们更好地控制和管理命令行的输入输出。这个命令会将字符串"Hello, World!"写入到名为output.txt的文件中。这个命令会列出当前目录下的所有文件,然后通过管道将结果传递给。这个命令会读取input.txt文件的内容并显示在屏幕上。命令会筛选出包含"txt"的文件名。

2024-09-18 14:14:09 539

原创 go testing 包

这是一个特殊的函数,用于执行测试的主函数。: 类似于T.Parallel,但适用于C类型的测试实例。: 类似于T.FailNow,但适用于C类型的测试实例。: 类似于T.Errorf,但适用于C类型的测试实例。: 类似于T.Fatalf,但适用于C类型的测试实例。: 类似于T.Skipf,但适用于C类型的测试实例。: 类似于T.Logf,但适用于C类型的测试实例。: 类似于Errorf,但会导致测试立即终止。: 用于记录测试过程中的信息,不会中断测试。: 一个结构体,包含有关测试的信息和方法。

2024-09-18 14:13:24 716

原创 go testing 包

这是一个特殊的函数,用于执行测试的主函数。: 类似于T.Parallel,但适用于C类型的测试实例。: 类似于T.FailNow,但适用于C类型的测试实例。: 类似于T.Errorf,但适用于C类型的测试实例。: 类似于T.Fatalf,但适用于C类型的测试实例。: 类似于T.Skipf,但适用于C类型的测试实例。: 类似于T.Logf,但适用于C类型的测试实例。: 类似于Errorf,但会导致测试立即终止。: 用于记录测试过程中的信息,不会中断测试。: 一个结构体,包含有关测试的信息和方法。

2024-08-09 15:45:47 701 1

原创 官方题解--从n个钟选取k个满足某个条件

【代码】官方题解--从n个钟选取k个满足某个条件。

2024-04-21 22:53:00 187 1

原创 【go】[gin] Gin数据解析和绑定

非常感谢,初次写gin 踩坑了【Go】ShouldBind解析json获取空的数据——踩坑解决对gin还是不熟悉,下面介绍下Gin数据解析和绑定(Bind与ShouldBind系列函数)参考:Go(Gin框架):03—Gin数据解析和绑定(Bind与ShouldBind系列函数)两套绑定方法第一类是以"ShouldBind"系列开头的方法:这些方法底层使用ShouldBindWith,如果存在绑定错误,则返回错误,开发人员可以正确处理请求和错误第二类是以"Bind"系列开头的方法:这些方法底层使用

2022-12-05 15:38:19 548

编译原理试卷

这是天津大学的编译原理的2013年的试卷,可能会对你有所帮助,

2019-03-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除