Java类加载机制详解、Redis内存淘汰和过期删除策略原理分析|每日掘金第296期

Hello,又到了每天一次的下午茶时间。酱酱们的下午茶新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!

酱酱们的下午茶全新改版,欢迎大家多提宝贵意见!

本文字数 3600+,阅读时间大约需要 6 分钟。

  • 【掘金酱的下午茶】亮点:
  • 前端Vite的出现解决了什么?
  • 虚拟滚动实现
  • 小程序底层架构剖析
  • 谈谈node架构中的线程进程的应用场景、事件循环及任务队列
  • 速看!!剖析红包原理,教你抢红包的正确姿势 | 京东云技术团队
  • Redis内存淘汰和过期删除策略原理分析
  • ......

筛选规则:文章发布时间在本期「掘金酱的下午茶」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。

今日主理人|下午茶

本期每日掘金由 法医 负责制作。如有投稿文章,请私信👉 法医

每日干货|下午茶

主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。

『前端』

在 ESM 出现之前,Javascript 是没有一个标准的模块方案。比如说 CJS 是用于 Node 服务端的模块化方案,AMD 是用于浏览器的模块化方案。为了解决这个模块共用性问题,出现了 UMD 用于兼容这两种模块规范。鉴于上面共用性问题,实际开发中配置的打包方式,采用的还是 UMD 模式。因为这样可以避免打包而产生的规范问题,并且在 ESM 不能使用的情况下也会选择 UMD。

根据子孙元素的情况, 为祖先元素设置样式; 或者根据后面兄弟节点的情况, 为前面的兄弟节点设置样式; 这一类的需求是司空见惯的, 在早期我们往往都是需要借助 JS 来实现; 好在现在出现了 :has(), 终于可以不用 JS 来实现该类需求咯, 当然实际上 :has() 更为强大, 它可以让你根据页面任意元素的情况, 为页面任意样式设置样式, 那么下面开始...

虚拟滚动或者移动是指禁止原生滚动,之后通过监听浏览器的相关事件实现模拟滚动。所以虚拟滚动包含两部分内容

认证方式是浏览器遵守http协议实现的基本授权方式,HTTP协议进行通信的过程中,HTTP协议定义了基本认证认证允许HTTP服务器对客户端进行用户身份证的方法。

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,nodejs是单线程执行的,它基于事件驱动和非阻塞I/O模型进行多任务的执行。在理解Node.js的工作原理时,我们需要了解进程、线程、事件循环[1]以及消息队列[2]的概念,本篇文章就基于这几点去详细介绍,帮你慢慢理解node的工作原理。

『后端』

叮咚~,红包来了!相信大家一定在日常生活中抢过红包,但每次都和"手气最佳"无缘。因此,大家都很好奇后台是如何分配红包金额的,那么今天和大家聊一下红包背后的原理,以及如何抢红包才是正确姿势!

所谓数据淘汰是指在Redis内存使用达到一定阈值的时候,执行某种策略释放内存空间,以便于接收新的数据。内存可使用空间由配置参数maxmemory决定(单位mb/GB)。故又叫"最大内存删除策略",也叫"缓存删除策略"。

通过CompletableFuture可以将复杂的业务逻辑从Dubbo线程池(大小默认200)切换到用户自定义的业务线程来执行,提升Dubbo线程池请求的处理能力,同时增加自定义业务线程池,提升服务器的资源利用率。接下来我们来看下CompletableFuture怎么异步化Dubbo接口以及其原理。

资源共享指的是在一个 Context 中的创建的 Texture 资源可以被其他 Context 所使用。一般来讲只有相同 share group Context 创建的 Texture 才可以被共享,而 Chromium 设计了一套允许不同 share group 并且跨进程的 Texture 共享机制。

昨天晚上语雀发布了关于 10 月 23 日的故障公告,公告中关于故障的时间点梳理如下:

『移动端』

首先要了解一下 AGPASMAGP 的全称是 Android Gradle Plugin,这是 Googleapkaar 打包在 gradle 平台上开发的一款插件,简单来说你通过 Android Studio 打出的 apkaar 包都是由它完成的,AGP 还为其他的插件提供了 transform 接口来实现 JVM 字节码或者其他资源的处理;ASM 是处理 JVM 字节码知名的库,它可以很简单的读取和修改 JVM 字节码。

组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化,之前有比较系统的总结过相关文章,感兴趣的朋友,可以查看,点击直达;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为HarmonyOS经过更新迭代之后,最新的开发方式已经和之前兼容AOSP阶段有着很大的区别,基于最新的Api9 ,以及采用全新的ArkTs语言的开发方式,想实现组件化,就需要另谋途径。

在先前的一篇探讨了 Objective-C 类实现的文章中,忽略了一个有趣的细节:用于识别元类的函数的一个概念,即未实现的类。

私有远程库是为了防止别人访问,但是又能支持pod导入的一种很好的解决方案,一般公司项目或自己的私有项目模块采用这个方式可以实现组件化。

📖 投稿专区|下午茶

大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。

相关推荐
草莓熊Lotso5 分钟前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
恋猫de小郭11 分钟前
Flutter Zero 是什么?它的出现有什么意义?为什么你需要了解下?
android·前端·flutter
牛奔1 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
想用offer打牌6 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
工程师老罗7 小时前
如何在Android工程中配置NDK版本
android
崔庆才丨静觅7 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60617 小时前
完成前端时间处理的另一块版图
前端·github·web components
KYGALYX7 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了8 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅8 小时前
实用免费的 Short URL 短链接 API 对接说明
前端