应用开发

java浅拷贝BeanUtils.copyProperties引发的RPC异常

背景近期参与了一个攻坚项目,前期因为其他流程原因,测试时间已经耽搁了好几天了,本以为已经解决了卡点,后续流程应该顺顺利利的,没想到 人在地铁上,bug从咚咚来~没有任何修改的服务接口,抛出异常:java.lang.ClassCastException: java.util.HashMap cannot be cast to cn.xxx.xxx.xxx.xxx.BatchInfo排查过程1、作为资

京东技术
IT综合
2024-09-24 13:52

【理论篇】关于聚合根,领域事件的那点事---深入浅出理解DDD

前言最近有空会跟同事讨论DDD架构的实践落地的情况,但真实情况是,实际中对于领域驱动设计中的实体,值对象,聚合根,领域事件这些类的实践落地,每个人理解依然因人而异,大概率是因为这些概念还是有一些抽象,同时有有别于传统的MVC架构开发。在此,通过小demo的方式跟大家分享一下我对DDD中层级的理解,算是抛砖引玉,该理解仅代表我个人在现阶段的一个理解,也可能未来随着业务经验深入,还会有不同的理解。既然

京东技术
IT综合
2024-09-23 15:28

解密Elasticsearch:深入探究这款搜索和分析引擎

•开篇最近使用Elasticsearch实现画像系统,实现的dmp的数据中台能力。同时调研了竞品的架构选型。以及重温了redis原理等。特此做一次es的总结和回顾。网上没看到有人用Elasticsearch来完成画像的。我来做第一次尝试。背景说完,我们先思考一件事,使用内存系统做数据库。他的优点是什么?他的痛点是什么?•一、原理这里不在阐述全貌。只聊聊通讯、内存、持久化三部分。通讯es集群最小单元

京东技术
IT综合
2024-09-20 14:43

js基础之setTimeout与setInterval原理分析

setTimeout与setInterval概述setTimeout与setInterval是JavaScript引擎提供的两个定时器方法,分别用于函数的延时执行和循环调用。前者的主要思想是通过一个定时器,让函数在计时结束后再执行;后者则是每隔一定的时间,就启动一次函数的执行。从原理来看,两者似乎并不复杂。但由于JavaScript引擎是单线程的,这就让上述两个定时器的实际执行变得稍微复杂了一些。

京东技术
IT综合
2024-09-19 15:15

移植V8虚拟机到纯血鸿蒙系统

作者:京东科技 于飞跃一、背景    如图所示,Roma框架是我们自主研发的动态化跨平台解决方案,已支持iOS,android,web三端。目前在京东金融APP已经有200+页面,200+乐高楼层使用,为保证基于Roma框架开发的业务可以零成本、无缝运行到鸿蒙系统,需要将Roma框架适配到鸿蒙系统。   Roma框架是基于JS引擎运行的,在iOS系统使

京东技术
IT综合
2024-09-18 11:07

【黄金圆环】在研发领域的实践分享

这是我参与创作者计划的第1篇文章一、引言在前端开发中,构建工具的选择和使用至关重要。Webpack 一直是前端构建工具的主流选择,但随着前端技术的发展,Vite 作为一种新兴的构建工具,以其快速的开发体验和现代化特性,逐渐受到开发者的青睐。本文将结合黄金圆环法则,详细探讨如何将一个 Webpack 项目迁移到 Vite。通过项目的迁移实践,我们实现了系统项目: 构建时长极大缩短,由原来的120s构

京东技术
IT综合
2024-09-13 10:55

【JAVA】两轮充电桩设计模式实践分享

如果说数据结构和算法是程序员构建高效代码的基石,那么设计模式则是打造高质量代码的“内功心法”。掌握并应用合适的设计模式,有助于管理项目复杂性,简化维护,并加速开发进程。

智在碧得
Java
2024-09-10 09:23

业务复杂度治理方法论--十年系统设计经验总结

一、复杂度综述1、什么是复杂度软件设计的核心在于降低复杂性。--《软件设计的哲学》业界对于复杂度并没有统一的定义,斯坦福教授John Ousterhout从认知负担和工作量方面给出了一个复杂度量公式子模块的复杂度cp乘以该模块对应的开发时间权重值tp,累加后得到系统的整体复杂度C这里的子模块复杂度cp是一个经验值需要注意:如果一个子系统特别复杂,但是很少使用及修改,也不会对整体复杂度造成太大

京东技术
IT综合
2024-09-05 14:18

Cookie的secure属性引起循环登录问题分析及解决方案

一个公司内部可能存在多个系统,如果每一个人在使用不同系统的时候都需要重新登录,那么会做大量系统登录切换、耗费比较多的精力去管理账号和密码,那么有没有办法在一个公司内部的所有系统只需要一次登录验证,后续使用其他系统的时候不用重复登录就可以直接使用呢,这就是单点登录要解决的问题。

vivo互联网技术
Java
2024-09-05 11:14

万字长文浅谈三高系统建设方法论和实践

1 概述整个软件的发展历程是一部软件复杂性对抗史,软件的复杂性分为技术复杂性和业务复杂性,业务复杂性主要是建模和抽象设计,技术复杂性主要是三高(高性能,高并发,高可用)的应对,C端的业务一般以技术复杂性为主,业务复杂性为辅,而B端或者M端的业务通常以业务复杂性为主,技术复杂性为辅。本篇文章主要是从后端研发的视角结合自己多年的B C端系统建设实践谈下三高系统的建设方法论和实践,希望和大家相互交流,共

京东技术
IT综合
2024-09-04 11:30

工作五年小结 | 面对不确定性快速上升的外部环境,我们该如何寻求突破?

1. 前言   工作五年了,来京东马上满一年,前四年在开水团,不禁感叹时间过的真快啊!回想19年从西安交大硕士毕业孤身前往北京开始职业生涯,经历了孤独迷茫到自立坚定,再到23年下定决心携妻还蜀安家,并来到京东开始新的征程,这5年过的很快也很充实。   今年也是我的而立之年,感觉一迈过这个坎,眼前的世界就不一样了,事业上还未成气候,更多的生活琐事就开始扑面而来

京东技术
IT综合
2024-09-02 10:21

突破传统监测模式:业务状态监控HM的新思路

一、传统监控系统的盲区,如何打造业务状态监控。   在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以做补偿?别急,往下看。   传统监控系统分为两种,系统监控和业务监控。系统监控有并发量

京东技术
IT综合
2024-08-29 14:38

AI大模型快速生成题库-助力业务人效提升10+倍

一 现状·问题1、培训考核涉及的文件数量较多当前,京东航空公司维修部门面临着人员规模的快速增长和持续的培训需求。根据民航局的规定,维修培训必须确保所有维修人员都能够完成对飞机维修相关文件的学习,这包括维修方案、维修工程管理手册、工作程序手册等共计12本手册以及民航局发布的各类明传电报、维修工程部门发布的维修提示文件MT和技术通告文件TA等内容。这不仅适用于新招聘人员的初始培训,复训,而且每当手册更

京东技术
IT综合
2024-08-19 15:12

高性能无锁队列 Disruptor 核心原理分析及其在i主题业务中的应用

本文首先介绍了 Disruptor 高性能内存队列的基本概念、使用 Demo、高性能原理及源码分析,最后通过两个例子介绍了 Disruptor 在i主题业务中的应用。

vivo互联网技术
Java
2024-08-16 10:46

Java表达式引擎选型调研分析

1 简介我们项目组主要负责面向企业客户的业务系统,企业的需求往往是多样化且复杂的,对接不同企业时会有不同的定制化的业务模型和流程。我们在业务系统中使用表达式引擎,集中配置管理业务规则,并实现实时决策和计算,可以提高系统的灵活性和响应能力,从而更好地满足业务的需求。举个简单的例子,假设我们有一个业务场景,在返利系统中,当推广员满足一定的奖励条件时,就会给其对应的奖励金额。例如某个产品的具体奖励规则如

京东技术
IT综合
2024-08-15 14:35