缓存之美——如何选择合适的本地缓存?
作者:京东保险 郭盼1、简介 小编最近在使用系统的时候,发现尽管应用已经使用了redis缓存提高查询效率,但是仍然有进一步优化的空间,于是想到了比分布式缓存性能更好的本地缓存,因此对领域内常用的本地缓存进行了一番调研,有早期的Guava缓存、在Guava上进一步传承的Caffine以及自称在Java中使用最广泛的EhCache,那么我们该怎么选择适
大数据从业者必知必会的Hive SQL调优技巧
大数据从业者必知必会的Hive SQL调优技巧摘要:在大数据领域中,Hive SQL被广泛应用于数据仓库的数据查询和分析。然而,由于数据量庞大和复杂的查询需求,Hive SQL查询的性能往往不尽人意。本文针对Hive SQL的性能优化进行深入研究,提出了一系列可行的调优方案,并给出了相应的优化案例和优化前后的SQL代码。通过合理的优化策略和技巧,能够显著提升Hive SQL的执行效率和响应速度。关
java浅拷贝BeanUtils.copyProperties引发的RPC异常
背景近期参与了一个攻坚项目,前期因为其他流程原因,测试时间已经耽搁了好几天了,本以为已经解决了卡点,后续流程应该顺顺利利的,没想到 人在地铁上,bug从咚咚来~没有任何修改的服务接口,抛出异常:java.lang.ClassCastException: java.util.HashMap cannot be cast to cn.xxx.xxx.xxx.xxx.BatchInfo排查过程1、作为资
日志框架简介-Slf4j+Logback入门实践
作者:京东零售 张洪前言随着互联网和大数据的迅猛发展,分布式日志系统和日志分析系统已广泛应用,几乎所有应用程序都使用各种日志框架记录程序运行信息。因此,作为工程师,了解主流的日志记录框架非常重要。虽然应用程序的运行结果不受日志的有无影响,但没有日志的应用程序是不完整的,甚至可以说是有缺陷的。优秀的日志系统可以记录操作轨迹、监控系统运行状态和解决系统故障。Java 日志框架进化史早期 Java 日
探索设计稿自动生成Flutter代码的技术方案
作者:京东物流 冷先锋近年来,随着人工智能和大模型技术的发展,设计稿(UI视图)自动生成代码的技术也在不断进步。本文将探讨几家知名企业在这一领域的探索和实践,包括美团、京东、微软等,以及一些常见的工具和方法,最后尝试大模型生成flutter代码在项目中的实践。一、美团的探索美团在2021年3月25日发表了一篇关于设计稿自动生成代码的文章,探讨了sketch2json和imgCook两种技术方案。s
开源分析和落地方案—Sentinel篇
作者:京东物流 刘达一、Sentinel是什么?Sentinel是从阿里技术体系内诞生并由相关社区从微服务到云原生阶段持续孵化的流量治理组件,在服务熔断限流以及秒级/分钟级监控方面提供了开箱即用的解决方案,此外作为支持云原生的重要探索,还提供了GO语言实现。Sentinel目前拥有着活跃的开源社区,从1.8.x版本开始,通过深度参与到SpringCloudAlibaba套件的支持,实现
Spring事务实现原理
作者:京东零售 范锡军1、引言spring的spring-tx模块提供了对事务管理支持,使用spring事务可以让我们从复杂的事务处理中得到解脱,无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。 spring事务有编程式事务和声明式事务两种实现方式。编程式事务是通过编写代码来管理事务的提交、回滚、以及事务的边界。这意味着开发者需要在代码中显式地调用事务的开始、提交和回滚。声明式事务是通过
一文理解布隆过滤器和布谷鸟过滤器
作者:京东保险 王奕龙最近在大促中使用到了布隆过滤器,所以本次借着机会整理下相关内容,并了解了布谷鸟过滤器,希望对后续学习的同学有启发~布隆过滤器布隆过滤器是 概率性数据结构,用于检查元素是否存在集合中。布隆过滤器并不存储集合中的所有元素,而是存储元素的哈希表示,因此牺牲了一些精确性:当布隆过滤报告某元素在集合中不存在时,那么它一定不存在;报告某元素存在时,允许出现“假阳性”,有时会错
AI对话魔法|Prompt Engineering 探索指南
作者:京东物流 李雪婷一、什么是 Prompt Engineering?想象一下,你在和一个智能助手聊天,你需要说出非常清晰和具体的要求,才能得到你想要的答案。Prompt Engineering 就是设计和优化与AI对话的“提示词”或“指令”,让AI能准确理解并提供有用的回应。Prompt Engineering 主要包括以下几个方面:1.明确目标:希望AI完成什么任务。例如:写一篇文章,
简述大前端技术栈的渲染原理
作者:京东物流 卢旭大前端包括哪些技术栈大前端指的是涵盖所有与前端开发相关的技术和平台,应用于各类设备和操作系统上。大前端不仅包括Web开发,还包括移动端开发和跨平台应用开发,具体包括:•原生应用开发:Android、iOS、鸿蒙(HarmonyOS)等;•Web前端框架:Vue、React、Angular等;•小程序开发:微信小程序、京东小程序、支付宝小程序等;•跨平台解决方案:Re
京东物流-智能运输调度系统方案 荣获IF、红点国际设计大奖
作者:京东物流 王文玲前言京东集团企业文化升级后,「以技术为本,让生活更美好」成为京东人的使命,在「创新」价值观引导下,设计师基于对物流业务领域持续深耕,自驱发起智能调度解决方案的创新思考,推演得到智能物流运输调度系统概念方案,经过投稿先后获得设计领域国际影响力较高的IF和红点大奖,设计质量得到国际认可。《智能物流运输调度系统》项目是京东物流用户体验设计部和运力平台技术部联合打造,初衷是以创
数据科学在京东物流关键角色与前沿应用探索
小编之所以选择这个话题,是希望帮助大家更全面地理解数据科学的概念。数据科学是一个广泛而深刻的领域,不仅仅是数据分析、机器学习或大模型的代名词。它的核心在于如何更有效地挖掘数据背后的价值,将数据转化为业务驱动力。最终,通过数据科学实现成本优化、效率提升和用户体验改善,使企业在实际应用中获得可见的成果。主要围绕以下话题进行展开:一、什么是数据科学?在数据驱动的时代,数据科学成为了各行业创新和增长的关键
如何在服务器端自动ban掉扫描ssh的IP
作者:京东物流 罗旅帆 现在服务器在网络暴露一段时间就会有人不停的进行扫描各种端口,nginx的80,443,ssh的22等。进行尝试渗透,并且现在有大量框架进行全自动扫描渗透。为了最大化的阻止扫描,可以利用fail2ban这个框架来把频繁扫描的源IP直接丢进黑名单。让服务器在一定时间内拒绝连接。1.安装fail2ban:# Ubuntusudo apt update &&a
品牌标识管理之一:品牌命名的原理、策略与流程
前言古人云:“赐子千金,不如赐子好名”,“名不正则言不顺,言不顺则事不成”,可见取名很有讲究,名字不仅是一种识别性符号,也是传递信息的载体。名字是一个人的起点,品牌的名字也不例外。一、品牌命名的重要性品牌命名是品牌建设中的重中之重,是创立品牌的第一步。要想塑造一个成功的品牌,首先要有一个能够迅速传递给消费者有关产品的信息和其蕴含的产品寓意的品牌名称。研究人员认为,一个新的品牌是否能够获得消费者的
一起单测引起的项目加载失败惨案
作者:京东科技 宋慧超一、前言 最近在开发一个功能模块时,在功能自测阶段,通过使用单测测试功能的完整性,在测试单测联通性使用到静态方法测试时,发现单测报错,通过查阅解决方案发现需要对Javaassist包进行排包或者升版本处理。通过排包解决掉单测报错,在部署项目时发现频繁报bean注入失败问题,最终定位发现是因为对Javaassist包排包引起的bean加载失败
基于图遍历的Flink任务画布模式下零代码开发实现方案
作者:京东物流 吴云涛前言提交一个DataSteam 的 Flink应用,需要经过 StreamGraph、JobGraph、ExecutionGraph 三个阶段的转换生成可成执行的有向无环图(DAG),并在 Flink 集群上运行。而提交一个 Flink SQL 应用,其执行流程也类似,只是多了一步使用 flink-table-planer 模块从SQL转换成 StreamGraph
前端技术探秘-Nodejs的CommonJS规范实现原理
了解Node.jsNode.js是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node中增添了很多内置的模块,提供各种各样的功能,同时也提供许多第三方模块。模块的问题为什么要有模块复杂的前端项目
加锁失效,非锁之过,加之错也
引言多个进程或线程同时(或着说在同一段时间内)访问同一资源会产生并发问题。银行两操作员同时操作同一账户就是典型的例子。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户减去 50元,A先提交,B后提交。 最后实际账户余额为1000-50=950元,但本该为1000+100-50=1050。这就是典型的并发问题。从事零售供应链库存业务,对库存数量
dubbo3.0 服务导入导出原理
作者:京东物流 张士欣不管是服务导出还是服务引入,都发生在应用启动过程中,比如:在启动类上加上 @EnableDubbo 时,该注解上有一个 @DubboComponentScan 注解,@DubboComponentScan 注解 Import 了一个 DubboComponentScanRegistrar,DubboComponentScanRegistrar 中会调用 Dubbo
Java方法设计原则与实践:从Effective Java到团队案例
背景本文通过阅读《Effective Java》、《Clean Code》、《京东JAVA代码规范》等代码质量书籍,结合团队日常代码实践案例进行整理,抛砖引玉、分享一些在编写高质量代码方面的见解和经验。这些书籍提供了丰富的理论知识,而团队的实际案例则展示了这些原则在实际开发中的应用。希望通过这篇文章,能够帮助大家更好地理解和运用这些编程最佳实践,提高代码质量和开发效率。什么是一个好的方法在 Jav