ThreadLocal源码解析及实战应用

ThreadLocal是一个关于创建线程局部变量的类。 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。ThreadLocal在设计之初就是为解决并发问题而提供一种方案,每个线程维护一份自己的数据,达到线程隔离的效果。

数据同步gossip协议原理与应用场景介绍

Gossip是一种p2p的分布式协议。它的核心是在去中心化结构下,通过将信息部分传递,达到全集群的状态信息传播,传播的时间收敛在O(Log(N))以内,其中N是节点的数量。基于gossip协议,可以构建出状态一致的各种解决方案。

测试进阶之路—新手关于测试碎碎念篇

这是一篇京东JDStar小萌新的测试总结和经验分享,适用于广大小白新手测试进阶探讨,欢迎大家共同探讨关于测试的用例设计和如何提升测试效率。

Java 集合中的排序算法浅析

排序是一个Java开发者,在日常开发过程中随处可见的开发内容,Java中有丰富的API可以调用使用。在Java语言中,作为集合工具类的排序方法,必定要做到通用、高效、实用这几点特征。主要探讨java中排序方法所使用的算法,以及那些是值得我们学习和借鉴的内容。文中如有理解和介绍的错误,一起学习,一起探讨,一起进步。

Java单元测试浅析(JUnit+Mockito)

单元测试是阶段性测试的首要环节,也是白盒测试的一种,该内容的编写与实践可以前置在研发完成,研发在编写业务代码的时候就需要生成对应代码的单元测试。本篇文章介绍了什么是单元测试、为什么要单元测试、单元测试的框架以及单元测试的工具。

一文详解 Netty 组件

Netty 是一款优秀的高性能网络框架,内部通过 NIO 的方式来处理网络请求,在高负载下也能可靠和高效地处理 I/O 操作。下面这篇文章将主要对 Netty 中的各个组件进行分析,并在介绍完了各个组件之后,通过 JSF 这个 RPC 框架为例来分析 Netty 的使用。

测试角色在项目各阶段的项目管理tips

项目管理是一个繁杂的过程,每个角色都有自己的定位和任务,不同的角色掌握相应的项目管理意识就尤为重要。本文旨在梳理、谈论测试角色在项目各阶段如何评估测试范围及风险、前置暴露问题以及推进测试进度等项目管理事项,高效协作及交付测试角色产物,最终与项目各方共同推进达到高质量、高效率交付的目标。

用于双目重建中的GPU编程:julia-cuda

julia是2010年开始面世的语言,作为一个10后,Julia必然有前辈们没有的特点。本文着重介绍julia的项目背景、效率问题,如何使用for训练的方式、julia-cuda的实现方式。

程序调试利器——GDB使用指南

GDB是GNU Debugger的简称,其作用是可以在程序运行时,检测程序正在做些什么。GDB程序自身是使用C和C++程序编写的,但可以支持除C和C++之外很多编程语言的调试。

Orika JavaBean映射工具使用

Orika是一个简单、快速的JavaBean拷贝框架,它能够递归地将数据从一个JavaBean复制到另一个JavaBean,这在多层应用开发中是非常有用的。

zookeeper的Leader选举源码解析

zookeeper是一个分布式服务框架,主要解决分布式应用中常见的多种数据问题,例如集群管理,状态同步等。为解决这些问题zookeeper需要Leader选举进行保障数据的强一致性机制和稳定性。本文通过集群的配置,对leader选举源进行解析,让读者们了解如何利用BIO通信机制,多线程多层队列实现高性能架构。

docker(一):Develop faster. Run anywhere.

Docker 是一个开源的应用容器引擎,可以让开发者将应用程序打包成一个容器,并通过容器来部署、运行和管理应用程序。Docker 的核心概念包括容器和镜像。容器是镜像的可运行实例,可以通过 Docker API 或 CLI 来创建、启动、停止、移动或删除容器。镜像是一个只读模板,包含了创建 Docker 容器的说明。Docker 镜像可以通过 Dockerfile 文件来创建,也可以从公有仓库中下

Airtest图像识别测试工具原理解读&最佳实践

Airtest是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。Airtest框架基于一种图形脚本语言Sikuli,引用该框架后,不再需要一行行的写代码,通过截取按钮或输入框的图片,用图片组成测试场景,这种方式学习成本低,简单易上手。

ClickHouse数据表迁移实战之-remote方式

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。我们内部很多的报表、数据看板都基于它进行开发。今天为大家带来remote方式的ClickHouse数据表迁移的完整过程介绍,如有错误,还请各位大佬指正。

SpringIoc容器之Aware

Aware是Spring提供的一个标记超接口,指示bean有资格通过回调样式的方法由Spring容器通知特定的框架对象,以获取到容器中特有对象的实例的方法之一。实际的方法签名由各个子接口确定,但通常只包含一个接受单个参数的void返回方法。

从 iOS App 启动速度看如何为基础性能保驾护航

启动是App给用户的第一印象,一款App的启动速度,不单单是用户体验的事情,往往还决定了它能否获取更多的用户。所以到了一定阶段App的启动优化是必须要做的事情。

状态机的介绍和使用

状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。状态机,也就是 State Machine ,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。

LangChain:打造自己的LLM应用

LangChain是一个框架,用于开发由LLM驱动的应用程序。可以简单认为是LLM领域的Spring,以及开源版的ChatGPT插件系统

服装行业多模态算法个性化产品定制方案

本文是想利用AI赋能服装设计师,设计好看、好穿、好卖的服装,利用GPT+数据洞察、柔性快反+数智化供应链以及AIGC降低设计门槛和库存成本,快速反应市场时尚流行趋势,并进行落地实践

事务,不只ACID

事务是应用程序将多个读写操作组合成一个逻辑单元的一种形式,这样其中所有的读写操作都被视为单个操作来执行,要么成功提交,要么失败回滚,不存在任何部分成功和部分失败的情况。现在,几乎所有的关系型数据库和一些非关系型数据库都支持事务。