3月技术更新大盘点

• Astro发布了版本4.5,提供了更好的开发者体验和实验性的Json数据集模式。 • Astro开始利用lib SQL的强大功能,提供了自己的完全托管的集成数据库解决方案。 • Tailwind CSS 4 Alpha宣布使用rust引擎,使构建速度提高了10倍,并且只有一个外部依赖。 • 进行了1亿行挑战,要求读取一个拥有1亿行的文件并进行聚合。 •…

hello hello 发布于 2024-04-02

volatile关键字的作用、原理

在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性和防止指令重排序。 保持内存可见性 内存可见性(Memory…

hello hello 发布于 2024-04-01

Java中如何恰当的表达“继承”与“扩展”的语义?

”继承“是Java的面向对象学习过程中的大难题,原因有二: ”is-A“的关系本身就不好理解 Java中的extends“扩展”与面向对象中的“继承”inheritance不是一一对应的。…

hello hello 发布于 2024-04-01

源码|ThreadLocal的实现原理

ThreadLocal也叫“线程本地变量”、“线程局部变量”: 其作用域覆盖线程,而不是某个具体任务; 其“自然”的生命周期与线程的生命周期“相同”(但在JDK实现中比线程的生命周期更短,减少了内存泄漏的可能)。 ThreadLocal代表了一种 线程与任务剥离 的思想,从而达到 线程封闭…

hello hello 发布于 2024-04-01

线程池ThreadPoolExecutor总结

之前在源码|从串行线程封闭到对象池、线程池中挖坑说要精炼一篇短文。本文填坑,总结线程池的种类、应用场景、ThreadPoolExecutor参数含义,最后简单介绍如何估算线程池大小。 JDK版本:oracle java 1.8.0_102 不同语言、同一语言不同库的线程池实现有差别,不要拘泥于Java这一种,没事看看work…

hello hello 发布于 2024-04-01

二维码的原理

QR码是一种通过二维码图像来存储信息的编码方式,由固定的部分和实际数据组成,可以通过扫描设备识别和解读,具有快速、灵活和容错性强的特点,目前已经广泛应用于各个领域。

hello hello 发布于 2024-03-30

如何使用 Three.js 构建3D网站

本教程介绍了如何使用Three.js创建一个令人印象深刻的个人作品集网站,包括3D动画、摄像机和光照等概念。 通过使用Three.js的几何图形、材质和网格来实现对象的动画效果,以及通过添加灯光和纹理等元素来增加真实感。 同时介绍了加载图片和贴图以及使用辅助工具进行调试和优化的方法,最终构建了一个令人惊叹的3D作品集网站。 00:00…

hello hello 发布于 2024-03-30

分布式事务在Java中的实现方式

分布式事务是分布式系统中关键的一部分,其目的是保证分布式系统中所有节点的事务一致性。这在现代大规模并发应用中尤其重要。在Java中,有几种主要的实现分布式事务的方式,这篇文章将详细介绍其中几种,并为每种方式提供一个业务场景以及示例代码。 一、两阶段提交协议 (2PC) 两阶段提交协议是一种经典的分布式事务处理方法。它包含两个阶段:预提交阶段和提交阶段。…

hello hello 发布于 2024-03-29

浅谈限流算法

限流 限流(Rate Limiting)是指在系统设计和开发过程中,对服务请求或数据传输速率进行控制的一种策略。 限流的 目的 是为了保护系统资源不被过度消耗,避免因短时间内大量请求导致的服务过载、响应延迟甚至崩溃等情况,从而保证系统的稳定性和可用性。 这篇文章我们就聊一下几种流行的限流算法。 固定窗口…

hello hello 发布于 2024-03-29

“光”速?HakariCP为什么这么快?

引言 Springboot 2.0将 HikariCP 作为默认数据库连接池这一事件之后,HikariCP 作为一个后起之秀出现在大众的视野中。HikariCP 是在日本的程序员开源的,hikari日语意思为“光”,HikariCP 也以速度快的特点受到越来越多人的青睐。 今天就让我们来探讨一下HikariCP为什么这么快? 连接池技术…

hello hello 发布于 2024-03-29
上一页 下一页