• 博客(1818)
  • 收藏
  • 关注

原创 并发编程-ExecutorCompletionService解析

我们在并发编程中,目前大部分做法都是将任务添加到线程池中,并拿到Future对象,将其添加到集合中,等所有任务都添加到线程池后,在通过遍历Future集合,调用future.get()来获取每个任务的结果,这样可以使得先添加到线程池的任务先等待其完成,但是并不能保证第一个添加到线程池的任务就是第一个执行完成的,所以会出现这种情况,后面添加到线程池的任务已经完成了,但是还必须要等待第一个任务执行完成并处理结果后才能处理接下来的任务。

2024-04-12 15:59:50 172

原创 实现“代码可视化”需要了解的前置知识-编译器前端

代码可视化”的概念定义和业界案例在前文中已经进行了讲述,综述可阅读,更多相关知识可查看专栏“本文梳理了“代码可视化”功能开发需要前置了解的编译器前端部分知识,因能力有限若有解释不清和错误的地方敬请谅解,如果想更深入正规的学习相关知识可以查看文后扩展阅读。

2024-04-12 15:59:18 233

原创 对号入座,快看看你的应用系统用了哪些高并发技术?

百舸流量运营平台承接着京东金融APP核心资源位和京东APP部分重要资源位,大促单接口QPS达到10w+,压测单接口到20w+,典型的c端读链路高并发场景。接下来,聊聊我们的系统都有哪些应对高并发的“武功秘籍”。以上为百舸系统处理高并发问题的一些策略,高并发架构是演进而来,避免过度设计,没有一个技术能解决所有的问题,抓住关键矛盾,使用前一定要做好调研和评估,还有哪些?欢迎补充。

2024-04-12 15:58:44 264

原创 SQL事前巡检插件

•每年都会看到SQL问题引发的线上问题。

2024-04-11 09:40:11 409

原创 直观易用的大模型开发框架LangChain,你会了没?

LangChain 作为一个大语言模型(LLM)集成框架,旨在简化使用大语言模型的开发过程,包括如下组件:LangChain框架优点:1.多模型支持:LangChain 支持多种流行的预训练语言模型,如 OpenAI GPT-3、Hugging Face Transformers 等,为用户提供了广泛的选择。2.易于集成:LangChain 提供了简单直观的API,可以轻松集成到现有的项目和工作流中,无需深入了解底层模型细节。3.强大的工具和组件。

2024-04-11 09:39:33 914

原创 从零开始搭建云呼叫中心之FreeSwitch实战

FreeSWITCH是一个自由开源的软交换。它采用Mozilla Public License授权协议,MPL是一个开源的软件协议。它的核心库libfreeswitch可以嵌入其它系统或产品中,也可以做一个单独的应用存在。您可以使用freeswitch搭建一个简单的云呼叫中心,实现互联网中的语音通话,因为其符合标准的sip通信协议,你也可以使用一些开源的实现了标准SIP协议的客户端sdk,从而将语音呼叫集成在各种设备中,例如手机,或者别的嵌入式的设备中。

2024-04-11 09:37:52 361

转载 从零开始搭建云呼叫中心之FreeSwitch实战

一. 开篇在当今快速发展的数字化时代,企业对于高效率、低成本、可扩展性强的通信解决方案的需求日益增长。云呼叫中心作为一种新兴的服务模式,正逐渐取代传统的硬件呼叫中心。FreeSwitch,作为一款强大的开源通信平台,因其卓越的性能和灵活性而成为搭建云呼叫中心的理想选择。本文将从零开始,详细介绍如何使用FreeSwitch搭建一个简单的云呼叫中心。将一步步探讨FreeSwitch的安装、配置、以及如...

2024-04-10 16:12:13 12

原创 无用代码扫描组件设计

*# 1、现状痛点系统越来越臃肿,开发过程中可能产生的无用代码增加了系统维护成本。

2024-04-10 11:56:16 625

原创 浅谈从浏览器输入URL到页面渲染的流程

浏览器输入URL到页面渲染完成,这个过程大致可分为两个阶段:网络通信和页面渲染。

2024-04-10 11:55:44 600

原创 通俗易懂关于Paxos的直观解释

X,Y同时进行写前读取的时候,节点记录最后执行一个执行的客户端,然后只允许最后一个客户端进行写入操作。使用这个策略变量i的每个版本可以被安全的存储。然后Leslie Lamport写了一篇论文,并且获得了图灵奖。

2024-04-10 11:55:03 379

原创 【稳定性】浅谈团队如何做好系统稳定性

3.

2024-04-09 14:31:42 521

原创 dubbo3.0 服务导入导出原理

1.在接收到请求头时,会构造 BiStreamServerCallListener 对象,这里比较特殊,会把 responseObserver 设置给 invocation 并执行 invoke() 方法,从而执行服务方法,并执行 onReturn() 方法,onReturn() 方法中会把服务方法的执行结果,也是一个 StreamObserver 对象,赋值给 BiStreamServerCallListener 对象的requestObserver 属性。

2024-04-09 14:31:05 1001

原创 计算机网络协议介绍

以下为一次请求过程中可能遇到的问题,预示着网络的复杂性。

2024-04-09 14:29:58 584

原创 Sql优化之回表

MySQL的性能是大家在使用时十分关心的问题,比如在高并发访问时,并且有慢sql存在的情况下,MySQL的性能会明显下降,这会导致数据库响应时间变慢,甚至导致数据库宕机。那么为了避免Mysql性能问题,比较常用的方式创建适当的索引,提升sql语句的执行效率。而本文简单介绍一下和索引有关的回表,从实际案例出发,讲讲什么是回表,如何避免回表,如何减少回表。mysql的B+树1)聚集索引(聚簇索引) InnoDB的聚簇索引就是按照主键顺序构建 B+Tree结构。叶子节点存储数据行的数据。

2024-04-08 16:08:18 973

原创 一次接口的性能优化之旅

接口性能优化是一个涉及多个方面的过程,需要从代码层面、数据库、缓存、异步处理等多个维度进行优化。在这个过程中,我们需要不断诊断瓶颈、尝试优化手段,并结合实际情况进行调整。希望通过本文的分享,大家能掌握接口性能优化的方法和技巧,提高接口性能,提升用户体验。

2024-04-08 16:07:50 440

原创 jar包冲突组建设计书

实际开发过程中,使用maven管理jar给我们开发带来了很多便利,不需要自己一个一个的jar包下载了,只需要配置个pom配置文件就可以了,写上对应坐标和仓库地址就可以了。但是jar冲突没问题没有解决,有冲突的jar包maven不会给我们检查出来还是会根据我们的配置进行下载,等到编译才会报错,并且报错信息很晦涩,需要面向百度查一会可能才能定位出问题。这时候我们迫切需要有个东东可以提前告诉我们我的工程里有内奸,需要及时剔除,否则会影响军心。

2024-04-08 16:06:25 413 1

原创 Vision Pro开发实践(一)

Vision Pro是苹果公司的首款头戴式“空间计算”显示设备,于2023年6月6日在“WWDC2023”正式发布,同时推出的还有专为Vision Pro打造的操作系统平台visionOS,以及一整套“新的”开发工具,之所以打引号,是因为用于Vision Pro开发的工具和编程语言并没有多少改变,而更多的是需要开发者的开发思维变化。最近公司组织了几批人员,前往苹果实验室实地体验Vision Pro,并在现场进行适配调试。

2024-04-07 10:00:42 280

原创 马斯克开源大模型Grok-1,手把手教你如何使用

马斯克一直在指责OpenAI没有开源,终于开源自家的大模型Grok-1,也把压力给到了OpenAI居然短短一天就有!

2024-04-07 10:00:11 349

原创 代码手术刀—自定义你的代码重构工具

JavaParser 是一个开源的 Java 源代码分析工具,它提供了一系列简单的API来解析、修改和生成Java 代码。举个例子,我们可以使用javaparser轻松的实现下面几个操作:1.分析代码中的类、方法、字段等元素,提取类的继承关系、方法的参数和返回类型等。2.更改源码,例如重命名方法、修改方法体、添加或删除代码行等。3.可以使用它来生成代码片段,例如创建新的类、方法或字段,或者生成代码文档。在上一章节里就用到了数据提取,源码替换功能。

2024-04-07 09:59:33 298

转载 代码手术刀—自定义你的代码重构工具

Tech01前言在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!笔者近日在做代码仓库的存量代码缩减工作,首先考虑的是基于静态扫描的缩减,尝试使用了很多工具来对代码进行优化,例如PMD、IDEA自带的inspect功能、findBugs等。但是无一例外,要么过于“保守”,只给出扫描结果,但是...

2024-04-03 11:47:56 27

原创 向量数据库落地实践

本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/docs/source/overview.rst向量数据库对于大模型应用落地来说至关重要,有些不可外露的内部数据可以存储在向量库中,用于内部检索。随着向量库中数据的丰富,大模型推理回答的能力也将更加精准。上文的设计比如space中的chunkFlagId可以关联出原始的整个文件;

2024-04-03 10:41:53 982

原创 Web Components实践:如何搭建一个框架无关的AI组件库

此外,需要注意的是,slot插槽中的DOM元素样式并未得到隔离。•CSS Link:使用link标签引入外部样式表,当组件样式比较多、体积较大时,如果直接内嵌到组件内部,当有N个组件时,体积就会增大N倍(暂不考虑浏览器内置优化逻辑),而使用link标签减少体积同时也可以利用上浏览器缓存的特性。•packages/aura-design-pro: 与aura-design类似,但封装了一些复杂组件,通常是依赖第三方库的组件,例如支持Markdown渲染的富文本组件、视频播放组件等。

2024-04-03 10:40:14 673

原创 京东中台化底层支撑框架技术分析及随想

本文大约1.7万字,阅读需要13分钟。导读:近几年,除AIGC外,软件领域相关比较大的变化,就是各相关业务领域开始如火如荼地建设中台和去中台化了。本文不探讨中台对公司组织架构涉及的变化和影响,只是从中台化演进的思路,及使用的底层支撑技术框架进行分析探讨,重点对中台及前台协作涉及到的扩展点及热部署包的底层技术细节,结合京东实际落地情况,对涉及的核心技术框架进行源码初探分析,探讨技术框架的考虑点,拓宽大家的思路,欢迎大家审阅。

2024-04-03 10:39:49 1031

原创 京东为openKylin新增SBOM利器,保障软件供应链安全和可追溯性!

京东作为openKylin(开放麒麟)社区理事单位,在加入社区后,京东发起成立了SBOM SIG组。SBOM SIG组负责推动和促进软件物料清单(SBOM)的发展和工具建设。近日,SBOM工具已在openKylin社区完成开源,保障openKylin相关软件供应链安全和可追溯性。在当今软件供应链日益复杂的环境下,软件项目的管理和安全性成为了一个关键问题。为了帮助开发者们更好地管理和保证软件项目的安全性和可追溯性,本次向大家介绍。

2024-04-02 11:22:25 382

原创 京东云开源软件治理工具SSCM强势来袭!免费试用

它源自京东开源组件管理、安全合规及知识产权保护的实践探索,提供全面、准确和实时的软件物料清单采集与分析能力,打造企业级标准化软件成分信息库,并集成组件漏洞库和许可证库,赋能组织高效地管理和使用开源软件,在获得开源收益的同时,确保安全与合规,充分释放开源软件潜力。SBOM(Software Bill of Materials)是一种清单或记录,用于描述软件产品的构成要素,类似物理产品的配料清单,详细列出软件中所包含的所有组件、相关许可证协议的清单,以及所有组件之间依赖关系的描述。

2024-04-02 11:21:40 344

原创 京东云“智能编码”上线了!免费试用

智能编码JoyCoder 是一款基于大语言模型、适配多种 IDE 的智能编程助手,可以为研发人员提供代码预测续写、UI 草图转前端代码、生成单元测试、代码安全漏洞自动识别及修复、一键生成接口文档、AI 智能问答等功能。助力开发者高效、流畅、智能化地编程!

2024-04-02 11:20:55 235

原创 9n-triton部署bert模型实战经验

•本文主要展示了一个基于Bert模型finetune的结果部署,经我们线下测试,对比于原有onnx在cpu机器上的推理速度增幅超过300%。•本项工作由殷擎,孙研同学共同完成,致谢团队工作者!

2024-04-01 09:54:53 1017

原创 技术分享-日志链路追踪

在技术运维过程中,很难从某服务庞杂的日志中,单独找寻出某次API调用的全部日志。为提高排查问题的效率,在多个系统及应用内根据 统一的TraceId 查找同一次请求链路上的日志,根据日志快速定位问题,同时需对业务代码无侵入,特别是在高频请求下,也可以方便的搜索此次请求的日志内容。

2024-04-01 09:54:15 571

原创 五星门店小程序性能优化实践

(3)针对包体积优化,抽离主包中冗余的代码和页面,并且因商详页面访问人数和访问次数排在Top1,将商详页面从子包中移到主包,提升商详页面的访问速度,从而使得小程序日均切换耗时对比优化前下降17.95%,总包由5.92MB降低到5.32MB,缩小将近10.14%,主包由1.53MB缩小1.26MB,缩小将近17.65%。(1)针对js报错率,优化前平均一周js错误数1374次,错误人数694人,优化后平均一周js错误数260次,错误人数129人,优化前后平均一周js错误人数和错误次数降低约81%。

2024-04-01 09:53:43 664

转载 京东云全网比价再直播,10亿比价金,和你交个真朋友!

2024-03-30 20:02:44 28

原创 京东为openKylin新增SBOM利器,保障软件供应链安全和可追溯性!

SBOM-TOOL能够分析源代码、二进制制品,为项目提供完整的依赖信息,确保生成的物料清单尽可能详尽,支持多种语言和多种包管理器的依赖采集,可以准确获取工程构建的依赖组件信息。SBOM-TOOL是一款基于Go语言实现、无其他特殊依赖的开源项目,专门用于生成软件项目的物料清单(SBOM),并具备易扩展、易使用的特性。SBOM-TOOL支持采集工程构建依赖环境信息,包括操作系统、内核、编译器、构建工具等,为项目提供全面的构建环境描述信息。通过一条命令,您就可以生成完整而准确的SBOM文档。

2024-03-29 11:24:43 308

原创 代码质量与技术债系列分享之一 - 如何做好 Code Review

这个验证函数,严重违反了单一职责,首先包含了多种校验逻辑,还承担了 submit 数据预处理、submit、error处理;看到下面这段代码,大概能够想象 newValidate 出现的原因,为了文章阅读体验, 删除部分代码。✓ 方法学: 了解Devops,极限编程,Scrum,精益,看板,瀑布,结构化分析,结构化设计。✓ 实践: 实践测试驱动开发,面向对象设计,结构化编程,函数式编程,持续集成,结对编程。可以看到第一段代码,没有规律,阅读成本高,第1行, 第5行出现了重复引用。

2024-03-29 11:24:11 923

原创 移动端提高pdf预览清晰度

此时预览的文件已经可以清晰的查看了👏👏👏,但是问题又来了,我们修改的是node_modules的源码,为了不影响其它项目对基础库的依赖,patch-package 提供了一种在不修改源代码的情况下,对模块进行热修补的方法,可以完美解决这个问题;同时,由于补丁文件可以随时创建和修改,因此也可以随时进行热修补,非常方便。通过上述操作,可以发现效果不是很明显,scale越大,pdf中的字体越细,锐度越高,但是清晰度依旧不理想,如果在pc端,展示的位置足够大,可以很大的程度上解决不够清楚的问题。

2024-03-29 11:23:24 342

原创 【京东云新品发布月刊】2024年3月产品动态

它源自京东开源组件管理、安全合规及知识产权保护的实践探索,提供全面、准确和实时的软件物料清单采集与分析能力,打造企业级标准化软件成分信息库,并集成组件漏洞库和许可证库,赋能组织高效地管理和使用开源软件。金牌服务为客户提供多云规划,架构设计、跨云分布、性能调优、高可用容灾、重保护航等全生命周期的关键服务,在混合多云环境的复杂场景下,帮助客户实现业务价值、灵活性、收入增长和成本控制,加快业务敏捷性和数字转型。分析型云数据库ClickHouse垂直扩容能力增强,磁盘支持热扩容,用户可实现分钟级别集群扩展。

2024-03-28 10:49:57 238

原创 java线程池原理浅析

备注:默认情况下,当线程池中的线程数大于 corePoolSize 时,如果一个线程空闲的时间达到keepAliveTime,则该线程会终止,直到线程池中的线程数不超过 corePoolSize。2.newFixedThreadPool:创建一个固定大小的线程池,因为采用无界的阻塞队列,所以实际线程数量永远不会变化,适用于负载较重的场景,对当前线程数量进行限制。3.提高线程的可管理性:线程是稀缺资源,如果无限制创建,不仅会消耗系统资源,还会因为线程的不合理分布导致资源调度失衡,降低系统的稳定性。

2024-03-28 10:49:25 338

原创 IO模型介绍(select、poll、epoll)

IO中的I就是input,O就是output,IO模型即输入输出模型,而比较常听说的便是磁盘IO,网络IO。

2024-03-28 10:48:55 333

原创 “线程池中线程异常后:销毁还是复用?“

还记得,我们在3.1的时候,发现submit也是调用了execute方法,但是在调用之前,包装了一层 RunnableFuture,那一定是在RunnableFuture的实现 FutureTask中有特殊处理了,我们查看源码可以发现。但是,我们通过java.util.concurrent.FutureTask#get(),就可以获取对应的异常信息。◦当执行方式是execute时,可以看到堆栈异常的输出,线程池会把这个线程移除掉,并创建一个新的线程放到线程池中。

2024-03-28 10:48:24 317

转载 明天,说件大事!

2024-03-27 16:06:08 32

原创 大文件上传实践分享

备注参考资料:

2024-03-27 11:15:45 601

原创 学算法要读《算法导论》吗?

如分治法等,此外在数据结构中创建哨兵节点的技巧也在链表章节中也描述。我认为它的前十六章加上第二十二章用来学习基础的算法已经足够了。开篇我说这本书像鸡尾酒,因为。

2024-03-27 11:14:55 776

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除