![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术分享
文章平均质量分 88
京东云开发者
京东云开发者(Developer of JD Technology)为AI、云计算、IoT等相关领域开发者提供技术分享交流。平台将发布京东产品技术信息、行业技术内容、技术活动及大赛等资讯。拥抱技术,与开发者携手预见未来!
展开
-
性能翻倍!京东亿级体量小程序优化实践 | 京东云技术团队
随着小程序使用场景越发广泛,用户体验愈发受重视,如何通过技术手段提升小程序性能成为重中之重,本篇文章以京东购物小程序性能优化实践为例,带您实现性能翻倍!原创 2023-12-26 11:52:30 · 1095 阅读 · 0 评论 -
现代 CPU 技术发展 | 京东云技术团队
这篇文章主要是介绍CPU技术的发展,包括最近几十年CPU性能提升和半导体工艺发展,当前技术发展方向。希望可以帮助软件开发者理解CPU指令集和组成运行原理、CPU性能提升的现状和瓶颈、CPU技术发展方向会如何影响软件开发/设计的框架和编程思想。原创 2023-12-21 10:37:09 · 1505 阅读 · 0 评论 -
玩转Spring状态机 | 京东云技术团队
思考:针对状态机的特点,还有其他思路实现一个状态机吗?下面是一些常规思路,如果还有其他方法欢迎在评论区留言。1. 消息队列方式订单状态的流转可以通过MQ发布一个事件,消费者根据业务条件把订单状态进行流转,可以根据不同的事件发送到不同的Topic。2. 定时任务驱动每隔一段时间启动一下job,根据特定的状态从数据库中拿对应的订单记录,然后判断订单是否有条件到达下一个状态。3. 规则引擎方式。原创 2023-12-20 10:30:44 · 1656 阅读 · 0 评论 -
Kafka核心逻辑介绍 | 京东云技术团队
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica)分布式消息系统(,新增内部主体@metadata存储元数据信息),它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。原创 2023-12-19 10:13:32 · 1694 阅读 · 0 评论 -
nginx+lua+redis实现灰度发布 | 京东云技术团队
授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言)原创 2023-12-18 11:23:38 · 1815 阅读 · 0 评论 -
理解Mysql索引原理及特性 | 京东物流技术团队
作为开发人员,碰到了执行时间较长的sql时,基本上大家都会说”加个索引吧”。但是索引是什么东西,索引有哪些特性,下面和大家简单讨论一下。原创 2023-12-13 10:59:24 · 1440 阅读 · 0 评论 -
使用Flink完成流数据统计 | 京东云技术团队
Flink程序构建的基本单元是stream和transformation(DataSet实质上也是stream)。stream是一个中间结果数据,transformation对数据的加工和操作,该操作以一个或多个stream为输入,计算输出一个或多个stream为结果,最后可以sink来存储数据。原创 2023-12-11 11:16:29 · 1245 阅读 · 1 评论 -
手把手带你配置一个DHCP服务器 | 京东云技术团队
本次的文章主要记录了利用GNS3网络模拟器搭建一个DHCP服务器,在两个DHCP服务器之前又采用RIP来连接,并在文章中记录了实验结果及使用wireshark工具抓取的数据包分析…原创 2023-12-07 13:44:29 · 965 阅读 · 0 评论 -
Quartz核心原理之架构及基本元素介绍 | 京东物流技术团队
Quartz框架的核心是调度器scheduler,核心的组件包括Job(任务)、JobDetail(任务描述)、Trigger(触发器)。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。原创 2023-12-05 11:53:36 · 1525 阅读 · 0 评论 -
DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队
我们有时候也会看到一些博客看到或者听到一些同事在说:这个业务有什么难的,不就是CRUD么?在软件生命周期初期,我们通过CRUD这种方式我们可以快速的实现业务规则,交付项目,但随着业务逐渐复杂,通过CRUD这种粗暴方式不可避免地会淹没业务核心规则,产生很多祖传(屎山)代码,系统交接的时候我们经常会听到,上一个开发是SB,或者自嘲自己是在屎山上面继续堆屎。原创 2023-12-04 11:45:25 · 818 阅读 · 0 评论 -
springboot如何用jar包启动,同时为不同机房设置不同的配置文件 | 京东云技术团队
使用-jar启动java进程的,-classpath不会生效了,如果要加类路径,只能通过改maven的打包参数,从而使得.MF文件加了Class-Path属性后,才可以!这样为不同的机房新建不同的配置文件,这样也就实现了springboot的项目如何既要用jar包启动,同时还可以为不同的机房设置不同的配置文件。因为,springboot启动后,使用的是conf下配置文件,然后conf下的配置文件会被部署平台上新建的配置文件覆盖,在部署平台上,将部署平台上的配置文件里的,rpc框架的服务别名设置为:xxx。原创 2023-12-01 11:41:33 · 482 阅读 · 0 评论 -
ThreadPoolExecutor线程池内部处理浅析 | 京东物流技术团队
我们知道如果程序中并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束时,会因为频繁创建线程而大大降低系统的效率,因此出现了线程池的使用方式,它可以提前创建好线程来执行任务。本文主要通过java的ThreadPoolExecutor来查看线程池的内部处理过程。原创 2023-11-30 11:29:06 · 1455 阅读 · 1 评论 -
SPI扩展点在业务中的使用及原理分析 | 京东物流技术团队
SPI 全称Service Provider Interface。面向接口编程中,我们会根据不同的业务抽象出不同的接口,然后根据不同的业务实现建立不同规则的类,因此一个接口会实现多个实现类,在具体调用过程中,指定对应的实现类,当业务发生变化时会导致新增一个新的实现类,亦或是导致已经存在的类过时,就需要对调用的代码进行变更,具有一定的侵入性。原创 2023-11-29 11:48:38 · 470 阅读 · 0 评论 -
Spring配置文件的魔法炼金术:如何制造容器化时代的完美配方 | 京东物流技术团队
基于现代服务的云原生十二要素理论,我们在采用容器化部署时,要保证同一个镜像可以满足不同环境的部署要求,而不是不同环境打包不同的镜像。本文档主要介绍一种基于spring框架的满足不同环境配置的编译打包方案,满足同一个镜像可以在环境分组下通过启动项配置实现不同环境的部署。原创 2023-11-28 11:48:42 · 400 阅读 · 0 评论 -
飞码LowCode前端技术之画布的设计 | 京东云技术团队
本章节从精准定位、分层设计、异步组件、拖拽四个方面分析飞码画布设计。原创 2023-11-27 11:19:25 · 492 阅读 · 0 评论 -
iOS信号量造成线程优先级反转 | 京东云技术团队
在并发队列使用信号量会可能会造成线程优先级反转。原创 2023-11-23 10:31:45 · 86 阅读 · 0 评论 -
如何做好架构设计,架构设计有章可循吗? | 京东云技术团队
我们在刚开始架构设计时手足无措,但是随着我们完成一个又一个的系统架构设计以后,发现架构设计是有章法可循的,只要我们学习这些章法和套路,并且在工作过程中不断的积累与沉淀,就会行成一个完整的架构设计方法论,面对新的大型系统架构设计,也会一步一步有节奏进行,最终完成整体的架构设计。原创 2023-11-22 11:22:23 · 231 阅读 · 0 评论 -
关注潜在的整数越界问题 | 京东物流技术团队
在平时的开发过程中,整数越界是一个容易被忽视的问题,关注潜在的整数越界问题可使我们编写的代码更加健壮,规避因整数越界导致的 bug。原创 2023-11-20 11:24:17 · 61 阅读 · 0 评论 -
达达埋点迁移京东子午线实践 | 京东云技术团队
使用集团的统一埋点采集能力和埋点平台,完成达达7条业务线共43个站点应用的埋点迁移,降低自研采集工具和平台的研发投入和机器成本,打通数据链路,创造更多的数据分析价值。原创 2023-11-20 11:10:56 · 191 阅读 · 0 评论 -
飞码LowCode前端技术系列:如何便捷快速验证实现投产及飞码探索 | 京东云技术团队
本篇文章从数据中心,事件中心如何协议工作、不依赖环境对vue2.x、vue3.x都可以支持、投产页面问题定位三个方面进行分析。原创 2023-11-15 11:38:21 · 100 阅读 · 0 评论 -
MYSQL 事务的底层原理 | 京东物流技术团队
从上边的描述中可以看出来,所谓的 MVCC(Multi-Version Concurrency Control ,多版本并发控制)指的就是在使用 READ COMMITTD、REPEATABLE READ 这两种隔离级别的事务在执行普通的 SELECT 操作时访问记录的版本链的过程,这样子可以使不同事务的读写、写读操作并发执行,从而提升系统性能。原创 2023-11-14 11:27:50 · 900 阅读 · 0 评论 -
从混乱到优雅:基于DDD的六边形架构的代码翻新指南 | 京东物流技术团队
趁着双十一备战封板,终于又有一些时间可以梳理一下最近的心得。最近这半年跟同事讨论比较多的是分层架构,然后就会遇到两个触及灵魂的问题,一个是如何做好分层架构,二是DDD在架构层面该如何落地。为了说好分层,我们需要了解架构的意义。比如,你去图书馆借阅书籍,对于纷繁杂乱的各类书籍,如果不能很好的管理和分类,必然会导致图书馆管理混乱,效率低下,使得图书馆不能正常运维。原创 2023-11-13 11:56:12 · 291 阅读 · 0 评论 -
WebSocket魔法师:打造实时应用的无限可能 | 京东物流技术团队
在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果,但是依然有很多缺点,缺点就不在这里说了,感兴趣的小伙伴可以自行查阅一下。现在让我们回忆一下,我们有没有想过,是否有一种技术,服务器可以主动将数据推送给客户端进行渲染,而不再是客户端向服务器发出请求等待返回结果呢?接下来,让我们一起了解weboskcet。原创 2023-11-09 10:59:33 · 305 阅读 · 0 评论 -
一种简化操作日志记录方案 | 京东云技术团队
后台系统配置越来越多的出现需要进行日志记录的功能,且当前已有日志记录不可复用,需要统一日志记录格式,提高日志记录开发效率。原创 2023-11-08 11:41:31 · 247 阅读 · 0 评论 -
微前端无界机制浅析 | 京东物流技术团队
随着项目的发展,前端SPA应用的规模不断加大、业务代码耦合、编译慢,导致日常的维护难度日益增加。同时前端技术的发展迅猛,导致功能扩展吃力,重构成本高,稳定性低。为了能够将前端模块解耦,通过相关技术调研,最终选择了无界微前端框架作为物流客服系统解耦支持。为了更好的使用无界微前端框架,我们对其运行机制进行了相关了解,以下是对无界运行机制的一些认识。原创 2023-11-06 11:39:34 · 617 阅读 · 0 评论 -
飞码LowCode前端技术:如何便捷配置出页面 | 京东云技术团队
本文将从三个方面来讲解如何便捷配置出页面,第一部分从数据、事件、业务支持三个方面进行分析,第二部分从模板与页面收藏与升级、页面UI结构、画布功能三个方面进行分析,第三部分从监控、页面配置、页面数据导入导出以及其他能力四个方面进行分析。原创 2023-11-03 11:48:49 · 145 阅读 · 0 评论 -
设计模式-单例模式概述 | 京东云技术团队
我们常把23种经典的设计模式分为三类:创建型、结构型、行为型,其中创建型设计模式主要解决“对象的创建”问题,将创建和使用代码解耦,结构型设计模式主要解决“类或对象的组合或组装”问题,将不同功能代码解耦,行为型设计模式主要解决“类或对象之间的交互”问题,将不同的行为代码解耦。原创 2023-11-02 11:33:42 · 82 阅读 · 1 评论 -
一文讲透DevOps理论体系的演进 | 京东云技术团队
当前,我国处于以信息化、数字化、网络化、智能化为特征的科技变革浪潮中,企业数字化转型大势所趋,那么作为支撑企业IT运转的运营体系也在向多元方向发展,比如DevOps(研发运营一体化)、AIOps(智能运维)、DataOps(数据研发运营一体化)、MLOps(机器学习研发运营一体化)、BizDevOps(业务研发运营一体化)、FinOps(云财务运营)等内容,逐步形成围绕研运一体化、研运效能度量、安全体系建设、智能化、IT资源财务运营等多个方面的XOps体系。本文重点侧重DevOps的知识内容阐述。原创 2023-11-01 11:44:49 · 198 阅读 · 0 评论 -
实用的命令行终端增强软件:Tabby | 京东云技术团队
Tabby是一个开源免费软件,支持Windows、macOS和Linux系统。它提供了一个高度可定制的终端界面,可以通过多种方式添加、切换和关闭终端标签页。能与 Linux 服务器轻松传输文件,支持多种主题,界面炫酷,插件丰富。它还支持通过插件扩展其功能,例如增强的滚动条、批量复制和粘贴等功能。github地址:(star已经49.7k)总之,Tabby是一款非常实用的命令行终端增强软件,可以帮助用户提高操作效率和可视化体验。原创 2023-10-30 11:37:17 · 256 阅读 · 0 评论 -
Java类加载机制详解 | 京东云技术团队
Java提供了很多核心接口的定义,这些接口被称为SPI接口。(Service Provider Interface,SPI),允许第三方为这些接口提供实现。常见的 SPI 有 JDBC、JCE、JNDI、JAXP 和 JBI 等。这些 SPI 的接口由 Java 核心库来提供,而这些 SPI 的实现代码则是作为 Java 应用所依赖的 jar 包被包含进类路径(CLASSPATH)里。SPI接口中的代码经常需要加载具体的实现类。原创 2023-10-25 11:50:19 · 126 阅读 · 0 评论 -
飞码LowCode前端技术系列(一):数据结构设计 | 京东云技术团队
便于用户操作,飞码将组件与模板相关能力放在搭建平台的左上角,具有共享属性(数据源、事件、弹框、函数、数据)的部分配置放在页面的左下角。根据业务线不同,业务组件放在基础组件下方。在页面的顶部区域设计有FMHelper能力,可对页面配置内容做监测。详见图1所示。图1。原创 2023-10-23 11:46:18 · 144 阅读 · 0 评论 -
一种基于闭包函数实现自动化框架断言组件的设计实践 | 京东物流技术团队
以上实践案例,是基于运力测试团队现有的自动化维护情况,前期脚本已大量堆砌但缺少断言,现阶段测试流程没有变化,但为了增加自动化脚本的测试力度需要批量增加断言。是否利用装饰器来实现断言,一定要取决于团队中维护用例的情况,如果当前用例从头到尾都是你一个人维护,里面的场景也没办法给其他人公用,那么大可不必!不过学习好装饰器后,在代码编写过程中希望一处实现多处复用,也可以通过装饰器方式去提升代码可读性和可维护性。作者:京东物流 刘红妍来源:京东云开发者社区 自猿其说Tech 转载请注明来源。原创 2023-10-23 11:01:45 · 65 阅读 · 0 评论 -
京东小程序平台助力快送实现跨端 | 京东云技术团队
京东小程序开放平台是由京东自主研发的开发者开放平台,类似于微信和支付宝的小程序开放平台,提供了丰富的开放能力和完整的小程序开发生命周期所需的功能。开发者可以轻松地使用开发者工具IDE进行开发、调试、预览和代码转换,并在控制台进行线上小程序发布、审核、灰度、AB测试等流程,此外还可以在管理后台监控小程序的异常、性能、业务数据。小程序作为一种轻量级、便捷、个性化的应用形态,可塑性非常强,其强大功能、低研发成本能够有效助力快送实现跨端。原创 2023-10-20 14:01:57 · 108 阅读 · 0 评论 -
低代码平台探讨-MetaStore元数据缓存 | 京东云技术团队
之前提到我们模型驱动的实现选择的是解释型,需要模型的元数据信息,在接到请求后动态处理逻辑.此外,应用的通用能力中还包括:页面dsl查询,菜单查询等.而且后期加入触发器,用户自定义api后,这些元数据也需要提供查询服务.所以我们需要一个元数据模块,需要提供两个基础功能:加载元数据和提供元数据查询服务.特殊说明:最开始的时候我们支持两种源:本地和远程,后期防止单独部署网络隔离问题把远程逻辑去掉了.原创 2023-10-18 14:41:55 · 86 阅读 · 0 评论 -
jq工具及其常用用法 | 京东物流技术团队
近来在工作中处理JSON处理较多,深入研究了一下jq,之前对jq的使用一直停留在JSON数据格式化的层面,实际它的能力远不止于此。原创 2023-10-16 14:06:13 · 165 阅读 · 0 评论 -
OpenJDK17-JVM源码阅读-ZGC-并发标记 | 京东物流技术团队
ZGC 是一款低延迟的垃圾回收器,是 Java 垃圾收集技术的最前沿,理解了 ZGC,那么便可以说理解了 java 最前沿的垃圾收集技术。从 JDK11 中作为试验特性推出以来,ZGC 一直在不停地发展中。从 JDK14 开始,ZGC 开始支持 Windows。在 JDK15 中,ZGC 不再是实验功能,可以正式投入生产使用了。在最新的 JDK 开源库中,已经出现了分代收集的 ZGC 代码,预计不久的将来会正式发布,到时相信 ZGC 各项表现将会更加优秀。图1 分代收集的ZGC。原创 2023-10-11 11:11:36 · 138 阅读 · 0 评论 -
我在前端写Java SpringBoot项目 | 京东云技术团队
本篇文章主要是使用 NestJs + Sequelize + MySQL 完成基础运行, 带大家了解 Node 服务端的基础搭建,也可以顺便看看 Java SpringBoot 项目的基础结构,它俩真的非常相似,不信你去问服务端开发同学。原创 2023-10-10 11:11:20 · 99 阅读 · 0 评论 -
IDEA工具第一篇:细节使用-习惯设置 | 京东云技术团队
• 具体操作:Settings --> Editor --> Color Scheme --> Java --> Comments --> Java doc --> Tag --> 先取消勾选Inherit values from,再取消勾选Effects。• 具体操作:Settings --> Editor --> Color Scheme --> Language Defaults --> Comments --> Doc comment --> Text --> 勾选Bold。原创 2023-10-10 11:00:48 · 92 阅读 · 0 评论 -
Java21上手体验-分代ZGC和虚拟线程 | 京东云技术团队
几天前Oracle刚刚发布了Java21,由于这是最新的LTS版本,引起了大家的关注。我也第一时间在个人项目中进行了升级体验。一探究竟,和大家分享。https://jdk.java.net/21/release-noteshttps://my.oschina.net/waylau/blog/10112170JEP 431:序列集合JEP 439:分代 ZGCJEP 440:记录模式JEP 441:switch 模式匹配JEP 444:虚拟线程JEP 449:弃用 Windows 32 位 x86 移植J原创 2023-10-09 11:57:03 · 122 阅读 · 0 评论 -
深入理解java和dubbo的SPI机制 | 京东物流技术团队
本质:将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。java SPI:用来设计给服务提供商做插件使用的。基于策略模式来实现动态加载的机制。我们在程序只定义一个接口,具体的实现交个不同的服务提供者;在程序启动的时候,读取配置文件,由配置确定要调用哪一个实现。原创 2023-10-08 10:56:52 · 85 阅读 · 0 评论