- 博客(246)
- 收藏
- 关注
原创 分布式因果推断在美团履约平台的探索与实践3
经过两年持续迭代,我们实现的分布式因果推断工具包已经发展成集模型训练、评估、去偏、Serving于一身的综合型因果工具包。我们内部为这个项目命名为CausalOnSpark,简称COS。目前这个项目也已经全部集成到图灵机器学习平台中。将来有机会我们会再次为大家分享美团履约技术团队在分布式因果推断领域的探索和实践经验。分布式因果推断在美团履约平台的探索与实践-美团技术团队提升分布式系统响应速度:分布式系统远程调用性能提升之道-优快云博客。
2025-01-19 18:05:55
801
原创 Kafka+RabbitMQ+ActiveMQ看看消息队列设计精要8
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你需要思考和设计的重要方面。过程中我们会参考这些成熟消息队列的很多重要思想。
2025-01-19 18:05:46
1697
3
原创 利用 ThreadLocal 打造 ContextManager 的最佳实践18
首先,定义一个ContextManager类用于管理上下文信息。/***@description:用于管理上下文信息**///静态变量,维护不同线程的上下文//实例变量,维护每个上下文中所有的状态数据//获取当前线程的上下文//在当前上下文设置一个状态数据if(value!=null){}else{//在当前上下文读取一个状态数据//开启一个新的上下文=null){//关闭当前上下文。
2025-01-19 18:05:36
792
原创 超大规模数据库集群保稳系列:数据库攻防演练建设实践12
而随机无通知演练功能,就是希望建设这样的能力,可以在非特定时间、非特定集群、非特定场景进行故障演练,在一定程度上填补了故障演练的空白,也是故障演练平台向混沌工程演进的一个里程碑。第二部分是演练任务生成,有了演练计划后,我们按演练计划随机搭配生成演练任务并进行周知,和常规演练最大不同是我们不会周知演练的具体时间(会周知演练集群、场景),主要是为了模拟故障发生的随机性。第三部分是演练任务执行,它完全复用我们常规故障演练的功能,也可以在演练前取消、演练中终止,演练后可以自动恢复整个集群的拓扑。
2025-01-19 18:05:21
984
原创 百亿规模API网关服务Shepherd的设计与实现2
1.背景中国有句古话:“民以食为天”。对食物的分析和理解,特别是识别菜肴的食材,在健康管理、卡路里计算、烹饪艺术、食物搜索等领域具有重要意义。但是,算法技术尽管在目标检测[1]-[3]、通用场景理解[4][5]和跨模态检索[6]-[8]方面取得了很大进展,却没有在食物相关的场景中取得好的表现,尤其是对烹饪菜肴的相关场景。其核心原因是缺乏细粒度食材的基准,这已经成为该领域发展的瓶颈。以往的研究主要集中在食物层面的表征学习,如Food2K上的食物识别[9]-[12],UNIMIB2016上的食物检测
2025-01-19 18:05:00
843
原创 Linux下跨语言调用C++实践7
为了达到业务方开箱即用的目的,综合考虑C++、Python、Java用户的使用习惯,我们设计了如下的协作结构:图1实现方案一节中提到Python/Java不能直接调用C++接口,要先对C++中对外提供的接口用C语言的形式进行封装。这里根本原因在于使用动态库中的接口前,需要根据函数名查找接口在内存中的地址,动态库中函数的寻址通过系统函数dlsym实现,dlsym是严格按照传入的函数名寻址。在C语言中,函数签名即为代码函数的名称,而在C++语言中,因为需要支持函数重载,可能会有多个同名函数。
2025-01-19 18:04:36
747
原创 Android静态代码扫描效率优化与实践2
FindBugs是一个静态分析工具,它检查类或者JAR文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2025-01-19 18:04:17
933
原创 AutoConsis:UI内容一致性智能检测1
在流程上,对于每一个UI目标区域,AutoConsis利用OCR提取所有可识别的字符,随后将分词的结果与CoT示例进行拼合构成Prompt,最后从LLM(AutoConsis的实验部分调用GPT-3.5-Turbo完成)的输出中获取一致性检验所需的关键信息。以下介绍工具的设计过程。对于营销会场页而言,如UI区域识别流程图所示:我们将一个会场页的UI截图送入识别模型,并提供一个商品卡片和对应的文本描述作为检索词,该多模态模型会根据检索词从经UI组件分析处理过的会场页中筛选出近似的商品卡片。
2025-01-19 18:01:37
692
原创 从零开始:基于 ThreadLocal 的 ContextManager 构建之道
首先,定义一个ContextManager类用于管理上下文信息。/***@description:用于管理上下文信息**///静态变量,维护不同线程的上下文//实例变量,维护每个上下文中所有的状态数据//获取当前线程的上下文//在当前上下文设置一个状态数据if(value!=null){}else{//在当前上下文读取一个状态数据//开启一个新的上下文=null){//关闭当前上下文。
2025-01-19 18:01:17
1655
原创 大前端:突破动态化容器的天花板3
最终我们获得了一个如上图的高性能、安全的动态化容器,可以以Wasm的方式支持原生级别的性能,也可以将JavaScript的前端工程的性能提升一截。从某个角度看,像是我们把RN用Rust重写了,添加了Wasm解释器的支持。但用熟悉WebView架构的视角看,也可以看作是一个WebEngineLite,只是试图绘制暂时用的系统UI。文章最后做一下回望和展望。回望:我们所做的所有架构和优化工作都可以概括为,区分本质复杂度和偶然复杂度,恰当的回应本质复杂度,降低偶然复杂度。动态化容器的本质复杂度是什么?
2025-01-19 17:58:21
591
原创 分布式因果推断在美团履约平台的探索与实践2
经过两年持续迭代,我们实现的分布式因果推断工具包已经发展成集模型训练、评估、去偏、Serving于一身的综合型因果工具包。我们内部为这个项目命名为CausalOnSpark,简称COS。目前这个项目也已经全部集成到图灵机器学习平台中。将来有机会我们会再次为大家分享美团履约技术团队在分布式因果推断领域的探索和实践经验。分布式因果推断在美团履约平台的探索与实践-美团技术团队提升分布式系统响应速度:分布式系统远程调用性能提升之道-优快云博客。
2025-01-19 17:58:08
793
原创 Android 兼容 Java 8 语法特性的原理分析13
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:04:15
771
原创 Android 兼容 Java 8 语法特性的原理分析1
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:04:05
1098
原创 Android 兼容 Java 8 语法特性的原理分析2
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:04:01
918
原创 Android 兼容 Java 8 语法特性的原理分析3
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:59
1134
原创 Android 兼容 Java 8 语法特性的原理分析4
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:56
690
原创 Android 兼容 Java 8 语法特性的原理分析5
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:52
704
原创 Android 兼容 Java 8 语法特性的原理分析6
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:50
736
原创 Android 兼容 Java 8 语法特性的原理分析7
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:46
918
原创 Android 兼容 Java 8 语法特性的原理分析8
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:43
517
原创 Android 兼容 Java 8 语法特性的原理分析9
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:40
742
原创 Android 兼容 Java 8 语法特性的原理分析10
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:37
515
原创 Android 兼容 Java 8 语法特性的原理分析11
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:34
1019
原创 Android 兼容 Java 8 语法特性的原理分析12
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:29
764
原创 Android 兼容 Java 8 语法特性的原理分析14
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:17
715
原创 Android 兼容 Java 8 语法特性的原理分析15
Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持函数式编程。特别是吸收了运行在JVM上的Scala、Groovy等动态脚本语言的特性之后,Java 8在语言的表达力、简洁性两个方面有了很大的提高。Lambda表达 (函数闭包)函数式接口 (@FunctionalInterface)Stream API (通过流式调用支持map、filter等高阶函数)方法引用(使用::关键字将函数转化为对象)
2024-12-24 19:03:10
644
原创 Android静态代码扫描效率优化与实践1
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:18:19
647
原创 Android静态代码扫描效率优化与实践3
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:18:09
975
原创 Android静态代码扫描效率优化与实践4
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:18:05
989
原创 Android静态代码扫描效率优化与实践5
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:18:02
926
原创 Android静态代码扫描效率优化与实践Android静态代码扫描效率优化与实践6
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:58
663
原创 Android静态代码扫描效率优化与实践7
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:55
780
原创 Android静态代码扫描效率优化与实践8
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:51
1000
原创 Android静态代码扫描效率优化与实践9
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:48
774
原创 Android静态代码扫描效率优化与实践10
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:45
637
1
原创 Android静态代码扫描效率优化与实践11
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:42
696
原创 Android静态代码扫描效率优化与实践12
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:39
945
原创 Android静态代码扫描效率优化与实践13
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:36
699
原创 Android静态代码扫描效率优化与实践14
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:32
967
原创 Android静态代码扫描效率优化与实践15
FindBugs是一个静态分析工具,它检查类或者JAR 文件,通过Apache的BCEL库来分析Class,将字节码与一组缺陷模式进行对比以发现问题。FindBugs自身定义了一套缺陷模式,目前的版本3.0.1内置了总计300多种缺陷,详细可参考官方文档。FindBugs作为一个扫描的工具集,可以非常灵活的集成在各种编译工具中。接下来,我们主要分析在Gradle中FindBugs的相关内容。
2024-12-22 16:17:27
934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人