源码|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

什么是流处理?用来解决什么问题?

流处理是一种实时分析和处理数据的过程,流处理器通常通过摄取、处理和输出三个阶段来分析数据,可以用于提供实时洞察和分析,支持实时决策;流处理体系结构通常由数据源、流处理引擎和数据同步组件组成;AWS提供的Amazon Kinesis和Lambda是常用的流处理工具,可以帮助实现高效的流处理应用。 视频使用: https://transduck.com/…

hello hello 发布于 2024-03-30

什么是批处理?用来解决什么问题?

批处理是对大量数据进行分析和处理的一种方法,它适用于不需要即时结果的任务,可以通过定期收集和处理数据来完成。批处理按照数据的收集、处理和存储或输出三个步骤进行,并且可以使用具有定义的模式来检查数据以提高代码的鲁棒性。批处理的应用范围很广,包括生成报告、处理历史数据和训练机器学习模型等。

hello hello 发布于 2024-03-30

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

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

hello hello 发布于 2024-03-30

秒杀系统设计总结

秒杀系统设计是一个非常有挑战性的任务,因为它需要解决多种技术和业务问题,包括高并发、负载均衡、数据一致性、安全性等方面。以下是秒杀系统设计中需要注意的关键问题: 1. 限流:秒杀系统需要通过限流来保证系统的稳定性和可靠性,限流的方式可以使用令牌桶算法、漏桶算法、计数器等。 2.…

hello hello 发布于 2024-03-29

分布式事务在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
上一页 下一页