应用开发

Spring缓存注解浅析及实践

作者:京东物流 江兆晶一 背景缓存是我们日常开发常被使用的技术栈,一般用来降低数据库读取压力,提升系统查询性能。使用缓存的数据一般为不常变化且使用率很高的数据,比如:配置信息、商品信息、用户信息等。我们一般的做法:第一次从数据库中读取数据,然后放到缓存中并设置缓存超期时间,缓存超期之后再从数据库从新读取,如果涉及到更新和删除数据也要同步缓存,这样才能解决缓存数据一致性问题,但我们常规的做法一般是使

京东技术
IT综合
2025-01-13 13:46

代码之美-代码整洁之道

作者:京东零售 刘仲伟一、开篇引言京东零售从9月开始对技术风险系统性地跟踪汇报,以故障数、监控发现率、故障发现时间、故障恢复时间等多个指标进行统计和跟踪汇报,相比于之前线上小故障杖责二十、大故障发配宁古塔,有了向惩前毖后、治病救人方向的转变。我也有机会参与到其中部分问题的复盘,发现问题的原因要不是因为需求变更过程中理解有误,要不是因为需求变更中原程序圈复杂度高而衍生的错误。2024年,跨进21世纪

京东技术
IT综合
2025-01-09 14:58

记录一次SQL慢查询优化

作者:京东物流  赫占星一、慢SqL发现在一次需求UAT上线后,本来在测试环境没问题的接口,UAT环境出现了接口超时,通过查询接口日志发现是SQL查询超时了,原因是UAT环境的数据量比测试环境大得多。一般来说,我们可以通过数据库本身的慢查询日志去定位出问题的慢SQL,但是对于京东,易维平台为我们提供了更为方便的慢SQL查询方式。我们可以通过应用名称和时间范围等条件筛选出自己需要定位的慢S

京东技术
IT综合
2025-01-02 12:22

由 Mybatis 源码畅谈软件设计(五):ResultMap 的循环引用

作者:京东保险 王奕龙本节我们来了解 Mybatis 是如何处理 ResultMap 的循环引用,它的解决方案非常值得在软件设计中参考。另外作为引申,大家可以了解一下 Spring 是如何解决 Bean 的循环注入的。以单测 org.apache.ibatis.submitted.permissions.PermissionsTest#checkNestedResultMapLoop 为例,它对应

京东技术
IT综合
2024-12-31 11:23

Promise规范与原理解析

作者:京东物流  孙琦摘要Promise对象用于清晰的处理异步任务的完成,返回最终的结果值,本次分享主要介绍Promise的基本属性以及Promise内部的基础实现,能够帮我们更明确使用场景、更快速定位问题。Promise出现的原因首先我们先来看一段代码:异步请求的层层嵌套function fn1(params) {   const x

京东技术
IT综合
2024-12-20 10:26

真实案例解析缓存大热key的致命陷阱

作者:京东零售 曹志飞引言在现代软件架构中,缓存是提高系统性能和响应速度的重要手段。然而,如果不正确地使用缓存,可能会导致严重的线上事故,尤其是缓存的大热key问题更是老生常谈。本文将探讨一个常见但容易被忽视的问题:缓存大热key和缓存击穿问题。我们将从一个真实案例入手,分析其原因,并提供解决方案和预防措施。案例描述某系统在双十一大促期间,遇到了一个严重的线上事故。业务人员在创建一个大型活动,该大

京东技术
IT综合
2024-12-18 09:46

与时俱进,京东云高性能计算平台

作者:京东科技 林顺利持续演进的高性能计算高性能计算是利用超级计算机实现并行计算的一门技术。通过使用大量通用型计算节点搭建阵列式计算集群,替代单体超级计算机的方式,来实现并行计算加速,已成为高性能计算的通用方案。经过多年发展,高性能计算已成为各个领域解决复杂计算和进行大规模数据分析的技术底座,如 汽车和航天行业通过空气动力模拟来提升燃油效率、能源行业通过分析地震和地质数据来实现石油勘探、医药行

京东技术
IT综合
2024-12-13 10:07

小小的日志,大大的坑

作者:京东零售 王军1. 背景压测过程中优化线程池以后单机qps存在性能瓶颈,优化过程中发现默认线程池及日志对性能存在严重的影响所以引发了一系列对日志优化的整理2.哪些场景可能导致性能问题在任何系统中,日志都是非常重要的组成部分,它是反映系统运行情况的重要依据,也是排查问题时的必要线索。绝大多数人都认可日志的重要性,但是又有哪些场景可能导致性能问题?今天就让我们来聊聊Java日志性能那些事。2.1

京东技术
IT综合
2024-12-04 13:45

一种轻量分表方案-MyBatis拦截器分表实践

作者:京东零售 张均杰背景部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性。业界常见方案针对冷数据多的大表,常用的策略有以2种:删除/归档旧数据。分表。归档/删除旧数据定期将冷数据移动到归档表或者冷存储中,或定期

京东技术
IT综合
2024-12-03 11:21

分布式锁的实现原理

介绍分布式锁的实现原理。

vivo互联网技术
Java
2024-11-28 14:24

vivo 企业云盘服务端实现简介

本文将介绍企业云盘的基本功能以及服务端实现。

vivo互联网技术
Go语言
2024-11-25 10:34

Android耗电量测试分享

作者:京东物流 刘华宇前言:随着手机在生活中的占比越来越高,屏幕尺寸越来越大,刷新率越来越高,手机电池电量和功耗也成为了影响用户体验的一个重要因。高功耗不仅仅会引发用户的电量焦虑,而且也会导致手机严重发热变成“暖手宝”,从而降低了用户的使用意愿。而影响功耗的因素有很多,下面就为大家介绍一下Android应用功耗的基础知识、功耗的组成以及功耗分析做一个分享功耗的基础知识我们先看一下为什么手机上使用m

京东技术
IT综合
2024-11-21 14:08

京东零售广告创意:基于人类反馈的可信赖图像生成

ECCV2024: Towards Reliable Advertising Image Generation Using Human Feedback链接:https://arxiv.org/abs/2408.00418摘要:在电商领域,吸引顾客注意力的广告图片至关重要。尽管生成模型可以自动生成图像,但它们往往会产生不符合广告标准的图片,可能误导顾客,并需要大量人工成本进行检查。本文探讨了

京东技术
IT综合
2024-11-14 11:02

【企业数字化转型】一文讲透DevOps理论体系的演进

作者:京东零售 刘晓成一、前言当前,我国处于以信息化、数字化、网络化、智能化为特征的科技变革浪潮中,企业数字化转型大势所趋,那么作为支撑企业IT运转的运营体系也在向多元方向发展,比如DevOps(研发运营一体化)、AIOps(智能运维)、DataOps(数据研发运营一体化)、MLOps(机器学习研发运营一体化)、BizDevOps(业务研发运营一体化)、FinOps(云财务运营)等内容,逐步形成围

京东技术
IT综合
2024-11-13 10:19

缓存之美——如何选择合适的本地缓存?

作者:京东保险  郭盼1、简介     小编最近在使用系统的时候,发现尽管应用已经使用了redis缓存提高查询效率,但是仍然有进一步优化的空间,于是想到了比分布式缓存性能更好的本地缓存,因此对领域内常用的本地缓存进行了一番调研,有早期的Guava缓存、在Guava上进一步传承的Caffine以及自称在Java中使用最广泛的EhCache,那么我们该怎么选择适

京东技术
IT综合
2024-11-12 11:03