一文读懂|Apollo自动驾驶平台9.0全面解读

图片

2023年12月19日,百度正式推出了Apollo开放平台的全新升级版本--Apollo开放平台9.0,面向所有开发者和生态合作伙伴,以更强的算法能力、更灵活易用的工具框架,以及更易拓展的通用场景能力,继续构筑自动驾驶开发的领先优势。此外,在自动驾驶教育、生态合作伙伴等方面,Apollo开放平台也带来了最新进展。

新阶段 · 新架构

自2017年发布以来,Apollo开放平台不断更新迭代,经历了基础能力、场景能力、系统易用三个阶段后,开启了全新的生态共创阶段,并迭代至第13个版本--Apollo开放平台9.0。在进一步让开发者易上手的同时,助力生态企业更易扩展。

图片

在Apollo开放平台9.0中,我们从工程、算法、工具和文档四个方向实现了全面升级,使得Apollo系统在使用上更简单、更灵活、更高效。同时,面向企业开发者推出了封闭园区低速场景的通用能力与服务,加速企业开发者快速扩展与落地。

图片

Apollo开放平台9.0全新架构图

接下来,本文将详细介绍Apollo开放平台9.0各方面的升级点和新增能力。

核心层

精易求精,灵活、简单、效率高

Apolo开放平台9.0在工程、算法和工具等方面实现了全面升级,整体操作更加灵活易上手。极大提升开发效率的同时,可帮助更多开发者快速搭建属于自己的自动驾驶系统。

一、工程框架全升级,包管理2.0上线,二次开发简单更多样

包管理整体进化,易于二次开发

在8.0版本中,我们重新整理了模块之间的依赖并引入了软件包的概念来管理和发布各个模块,优化了下载安装中出现的下载量大、无法按需使用、编译时间过长等问题,并在这个基础上更新发布了基于应用场景的扩展方案让更多开发者更好更快地使用Apollo。在9.0版本中,我们从以下三个方面做了进一步的升级:

1.模块组件更细粒度重构

感知、驱动、规划控制等模块按照功能粒度进行了拆分和重构,开发者可以根据需求更方便地选择使用,同时Apollo整体架构更加清晰,进一步降低了上手门槛。

图片

2.二次开发简单更多样

1)统一调度接口,最快1天内即可完成场景Demo搭建

针对需要实现自定义调度逻辑的自动驾驶应用的扩展场景,增加了统一的接口模块,并对已有的规划功能进行封装。只需基于接口开发调度模块,即可实现特定应用场景的自动驾驶,最快1天内即可完成场景Demo搭建。

图片

2)简化调参方式,调参效率提升1倍

针对具体应用调整参数配置的扩展场景,9.0版本对参数配置管理和说明做了优化和补充,方便开发者快速找到需要调整的参数配置,调参效率提升1倍。

3)新增插件机制,代码学习成本可降低90%,代码量降低50%

针对开发者需要添加自定义功能的扩展场景,9.0版本设计了新的插件机制,并对感知、规划、控制等模块中,常用的功能逻辑进行了插件化改造,提供了可继承扩展的插件基类,开发者只需重写基类接口便可轻松实现功能扩展,代码学习成本可降低90%,代码量降低50%。

图片

3.支持ARM编译

本次升级,适配了ARM架构,并支持在orin下编译和运行,在设备选型上为开发者提供了更多样的选择。

PnC包管理2.0,方便可扩展

1.重构分级,开发更简单

1)分级参数配置机制

Apollo开放平台9.0将参数划分为全局参数和局部参数,并将局部参数放在插件中独立管理,开发者可直接在插件目录中进行查询和修改。

2)内聚易复用的Task

按照功能进行路径处理Task类型重构,LaneChange、LaneBorrow、LaneFollow 等功能单独放在一个Task中,启用/禁用Task更快速。

2.统一接口

9.0版本的接口统一封装在external_command模块处理,并改用server-client的方式调用接口,解耦了上层业务调用和PnC模块,屏蔽了内部模块升级变化导致的影响。开发者可通过client查询任务执行状态,便于自定义扩展接口和底盘命令,同时精简了RoutingRequest导航命令。

3.全新插件机制

Scenario、Task和Traffic Rules插件化,可根据场景需要自定义添加场景、任务或交通规则。支持独立开发部署插件,通过配置流程启动和运行,并可随Apollo一起升级。

感知包管理2.0,既灵活又统一

1.功能组件拆分

我们将激光雷达、相机和红绿灯检测从功能层面拆分为独立的组件,使每个组件的功能更加集中和内聚。同时,支持这些组件的自由组合和定制不同的算法流程,以满足当前场景的需求。这使得学习和二次开发更加便利,提高了开发效率。

图片

2.感知配置项优化

针对之前感知配置复杂的问题,9.0版本采取了三个方向的优化措施。首先,通过减少每个组件的重复配置项,我们降低了配置的复杂性。其次,我们对组件的配置进行了统一管理,提高了配置的一致性和可维护性。最后,我们提供了详细的参数说明与修改文档,使得用户可以轻松地查阅和修改配置。这些优化措施不仅增强了系统的可维护性和可扩展性,而且提高了开发效率。

3.新增感知开发模式

支持组件开发和插件开发两种模式,以便在提供的感知框架下,更方便地替换原有算法,同时提高模块的复用性。这样的优化措施有助于增强系统的灵活性和可扩展性,并降低开发成本。

二、感知功能上新,支持4D毫米波,主模型更新换代,提供增量训练

支持4D毫米波雷达

从硬件驱动到感知模型层,9.0版本中增加了对4D毫米波的支持,可以测量目标高度信息,同时实现更高的角度分辨率、输出更密集的点云,有利于使用深度学习的3D目标检测方法进行更精确的障碍物检测,提高自动驾驶车辆在雨雪雾等天气下的安全性。

图片

引入全新模型,检测效果提升

在9.0版本中,我们引入了前沿的、泛化性更强的模型,在激光雷达检测方向,我们采用了较新的CenterPoint模型替代了原来的CNNSeg模型;在视觉感知方向,我们使用了Yolo X+Yolo 3D模型替换了老的Yolo模型,通过百度百万量级数据进行模型训练,在模型效果上大幅超越老的模型;在性能方向,我们做了深度优化,在Orin平台上模型推理时延<40ms,满足开发者实际生产需要。

图片

激光雷达检测效果

图片

相机2D检测效果

图片

相机3D检测效果

提供增量训练,适应多种场景

同时,我们提供了全面且详细的增量训练教程,开发者可以通过使用少量标注数据,用较低成本,来显著提升特定目标和特定场景下的检测能力。训练代码完全开源,开发者可独立自主完成模型训练。

图片

场景中的特殊车辆

图片

增量训练前-有漏检且大小不准

图片

增量训练后-无漏检且大小准确

三、全新Dreamview+,三大领域全面提升,个性化界面更高效

操作优化,模式导向的多场景工作流

Apollo开放平台9.0引入了全新的操作方式,以感知、PnC等具体开发场景作为模式分类,每个模式均针对特定任务或场景进行优化,为开发者带来高度优化、无缝且直观的操作体验。

图片

图片

图片

界面升级,可高度自定义的面板布局

在界面布局方向,我们了采用模块化策略,将每项可视化工具和功能均封装成独立的面板形式存在,并提供全套的面板操作工具,支持开发者自由配置可视化面板的布局、各面板内容以及大小。同时,开发者可以创建符合自身工作流的操作界面,使用更方便。

图片

面板数量自由配置

图片

数据丰富,本地+云深度集成的资源中心

在数据库方向,我们加强了与Studio云端资源的互动,开发者可一键下载各类资源,包括地图、场景、车辆配置、数据包等用于算法测试,进一步丰富开发资源库。

图片

四、文档平台全面升级重构,易搜、易用,进一步降低学习使用成本

支持导航栏快速跳转,搜索直达及模式切换,便捷获取所需内容

1.新增导航栏设计,方便开发者在使用文档过程中,可以随时掌握文档的整体目录结构,实现指定章节的快速跳转,满足开发者对文档的整体把控,方便进行内容切换。

图片

2.新增全局搜索功能,开发者可以通过关键词检索相关的文章内容、代码文件等,快速直达所需内容,并可以根据需要自由选择检索类型,精简检索结果,精准定位目标位置。

图片

3.新增护眼模式切换功能,开发者可以一键切换背景颜色和白天/黑夜模式,阅读时页面背景能更好的适应环境光照变化,体验更友好的交互服务。

图片

针对不同开发者需求,重构使用文档和开发文档,提升开发效率

面对不同开发者的使用需求,在9.0版本中我们设计了更适合的阅读文档,重构文档结构和内容,提供更多有侧重点的差异化设计,更符合不同开发者在阅读和使用文档的思维习惯和应用场景。同时,也对部分同质化内容做了过滤处理,增强了不同开发者文档的核心内容一致性,确保能够提供由浅入深、由易入难的顺畅阅读体验。

图片

新增代码说明及注释,降低开发者代码阅读量,降低学习使用成本

新增代码及包详细的说明解释文件,从功能简介、代码结构、代码流转解析、配置、参数等维度进行了完整说明,帮助开发者更好的理解代码内容,降低开发者代码阅读量和学习难度,配合上述的代码检索功能,可以更便捷、容易上手Apollo代码内容。

图片

应用层

价值共创,更强、更快、更丰富、更高效

为了加快企业开发者场景应用落地,Apollo开放平台9.0打造了面向封闭园区低速场景的通用能力,并从以下四个方面进行全面升级:

  • 自动驾驶功能增强及稳定性提升,缩短部署调试周期,加快自动驾驶实车闭环;

  • 丰富了场景功能,减少开发者场景功能开发量,缩短业务系统对接时长,助推场景应用更快落地;

  • 新增ARM、Orin适配及更丰富的传感器选择,提供成本更低性能更高的硬件选择;

  • 提供地图和传感器标定全流程的可视化操作工具,提高运营落地效率,降低场景运维成本。

一、开箱即用的自动驾驶系统,加快自动驾驶实车闭环

在自动驾驶能力方面,Apollo开放平台9.0针对企业开发者的使用问题和需求进行全面增强及升级:

定位能力:

在RTK定位的基础上,增加激光点云SLAM定位方案,解决了园区场景中的树木、建筑物遮挡导致的定位漂移问题。开发者通过该方案可以解决如下图所示的树木遮挡导致的定位漂移问题,也可以适配短距离建筑物、桥梁遮挡等场景。

图片

遮挡环境下SLAM定位

感知能力:

1.Lidar与Camera融合效果优化:在感知方面,我们简化了Lidar与Camera融合的难度,同时使用百万级别的标注数据对模型进行训练,使得感知的准召率大幅提升。

2.异形障碍物检测:针对园区场景普遍存在的异性障碍物、深度模型训练时无类似标注数据、无法较好检测等问题,我们新增了背景分割算法,可以与深度学习模型配合提升异形障碍物召回率。

图片

异形障碍物检测

安全性和稳定性:

除了功能增强,9.0版本在安全性和稳定性方面得到了大幅优化并通过多方验证:

1.安全性提升:9.0版本提供从信息采集、异常监测、故障报警、故障处理及展示的全流程功能安全机制,覆盖硬件、软件、车体、网络多种故障维度,同时支持企业开发者根据自身需要定制故障类型。

图片

功能安全故障检测及处置机制

2.稳定性保障:Apollo联合企业合作伙伴经过两个多季度的持续测试,并在教育、矿卡、物流、环卫、巡检等超5个场景落地,经过10余家合作伙伴验证,自动驾驶任务成功率稳定在98%以上。通过功能增强、安全及稳定性提升,结合核心层的工程结构、算法能力和文档升级,整体适配环节减少40%,代码阅读量减少90%,代码调试量减少80%,企业开发者一周内即可完成自动驾驶实车闭环。

二、丰富场景能力,助推场景应用更快落地

在自动驾驶车辆完成闭环的基础上,为了加快企业者场景落地,Apollo开放平台9.0在通用能力层进行了如下优化,帮助企业开发者更快完成业务系统闭环:

多样的场景功能:

基于各应用场景需求调研及经验积累,在9.0版本中,我们对场景功能进行抽象,并提供了指定速度、指定路线、贴边行驶、开放区域规划、挡墙检测、路权管理等多样的场景功能,企业开发者可以通过接口调用和参数配置快速获取这些能力。

图片

作业设备线控对接:

对于园区场景中所需的举升、清扫、喷洒、灯光语音特殊作业设备控制,我们提供了标准协议和测试工具,让企业开发者快速完成适配。

图片

业务系统对接:

对于自动驾驶车辆与业务调度系统、C端应用、V2X、远程驾驶等系统的配合,我们提供了参考示例和第三方方案,让企业开发者快速完成系统对接。

图片

经过以上优化,开发者更多的开发精力放到场景难题突破和业务系统优化中,1个月即可完成场景应用业务系统闭环。目前已有部分企业开发者基于Apollo开放平台提供的通用能力,在一个月内完成了零售、环卫场景的业务系统闭环,并圆满完成ITS大会展示。

三、丰富硬件设备选型,更低成本、更高性能

为了满足企业开发者对硬件的成本及稳定性的高要求,Apollo开放平台9.0实现了ARM架构Orin设备的良好适配,且可以支持3个Lidar和4个Camera的高性能运行,帧率在10HZ以上,CPU/GPU利用率均在50%以下。同时支持时间同步等功能,相比于X86工控机成本可降低30%以上。

图片

在感知传感器方面,Apollo也与硬件厂商和合作伙伴构建了共建共享的协作机制,丰富了大量的设备选型。如相机支持更多的主流厂商、相机接口也从USB3.0升级为GMSL,新增多品牌多型号激光雷达,定位设备也新增多家厂商适配。后续Apollo也将持续与企业开发者、硬件厂商紧密合作,协作构建更繁荣的硬件生态,为开发者提供更低成本更高性能的多样性选择。

四、运维工具高效集成,大幅缩短落地时长

相较于车辆闭环,在运维落地场景中,工具的可用性、易用性则需要更高的要求。对此,9.0版本面向企业开发者将工具从研发态的代码开发升级为运营态的界面化操作。

1.传感器标定工具:支持Lidar和Camera的可视化标定,标定成功率90%以上。企业开发者无需车端采集数据,再上传到云端等待数据解算,标定时长由天级别缩短为小时级别。

图片

图片

左:Lidar标定  右:Camera标定

2.高精地图制图工具:提供地图采集、制图、编辑全流程工具。企业开发者可以基于生成的底图来编辑与实际路况一致的地图数据,也可以在车端直接修改,快速完成数据更新,地图创建周期由周缩短至小时级别。

图片

地图采集

图片

地图编辑

人才培养

链接生态、赋能教育,助力自动驾驶行业发展

作为自动驾驶领域的先行者,百度Apollo十分重视自动驾驶领域的教育和人才培养。通过Apollo Studio开发者社区,构建了课程、实验、赛事一站式学习实践平台。目前,Apollo Studio开发者社区在线学习人次超过3.8万,累计覆盖全国开设自动驾驶相关专业类的理工院校超70%,985,211理工类院校覆盖率68%,成为国内自动驾驶在线培训规模最大和最有影响力的社区。

一、构建学 - 练 - 验 一体化开发者学习旅程

产业的发展繁荣离不开优秀的人才。针对自动驾驶技术门槛高、学习难度大、实操成本高的特点,Apollo Studio开发者社区从文档/课程、实验、赛事三方面持续迭代,构建了完整通过文档课程【学习】--通过实验【练手】--通过赛事【验证】的开发者学习旅程。过去一年里社区平均月活提升67%,社区课程的累计播放量达到200w次。

图片

1.赛事方面:Apollo开放平台与中国人工智能学会合作,连续举办了2届自动驾驶赛事,两年来赛事累计报名院校300余所,报名队伍数1500多支,参赛人数累计超5000人,是目前全国自动驾驶类别的赛项中,报名规模最大的比赛;

2.课程方面:Apollo开放平台坚持开放共享,连续3年举办星火培训系列活动,来自全球各地的开发者共聚社区,已有超过3.8w+人次在线学习Apollo。

3.院校方面:在过去的一年中,Apollo开放平台为高校提供的实训项目及配套的课程资源,助力院校开设自动驾驶相关课程及专业,通过赛+课的人才培养模式,累计覆盖全国70%的理工+综合类本科院校,其中985、211头部高校覆盖占比68%。

二、全面升级立体化校企合作新模式

2023年发布Apollo EDU高校计划,旨在助力院校开设自动驾驶相关课程及专业。2024年高校计划再升级,从原有的课程合作升级到包含教学、师资、创新到更深度的实训的多层合作模式,培养学生工程实践、创新实践能力,旨在快速帮助高校开展创新实训项目,进一步推动校企融合,共建人才生态。

图片

三、重磅打造智能网联汽车专业建设方案

面向职业教育,围绕智能网联汽车岗位技能图谱,Apollo开放平台构建了高层次技术技能人才培养方案。方案充分发挥了Apollo的产业实践能力及Apollo开放平台的生态优势,基于对智慧出行、园区,物流等多元产业领域的调研分析,输出集成类、测试类、运维类、服务类四大岗位群的典型工作任务和职业能力要求,聚焦教学资源建设、实践基地建设、服务能力三大方向,实现优化跃升。

图片

目前,Apollo开放平台汇聚了来自全球170多个国家和地区的16万多名开发者,在Apollo开放平台8.0至9.0开发过程中重构12万行代码,新增20万行代码。Apollo开放平台9.0的推出,在功能上更趋完整丰富,操作上更加灵活易上手,场景通用易扩展。开发者可以参考9.0文档(https://apollo.baidu.com/docs/apollo/latest/)即刻下载并体验全新的灵活易上手的Apollo开放平台9.0版本,任何问题欢迎关注Apollo开发者社区公众号反馈,与我们共同进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/673498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极限的反问题【高数笔记】

1. 什么是极限反问题&#xff1f; 2. 极限反问题分为几类&#xff1f; 3. 每一类极限反问题的具体做法是什么&#xff1f; 4. 每一类极限反问题具体做法是否有前提条件&#xff1f; 5. 例题&#xff1f;

本地安全策略 | 服务器管理 | 配置项

本地安全策略 Windows 本地安全策略是一组在本地计算机上配置的安全设置&#xff0c;用于管理计算机的安全性和访问控制。这些策略是针对单个计算机的&#xff0c;与域策略不同&#xff0c;本地安全策略不通过域控制器进行集中管理。本地安全策略通过本地组策略编辑器进行配置…

Linux---线程

线程概念 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序列” 一切进程至少都有一个执行线程 线程在进程内部运行&#xff0c;本质是在进程地址空间内运行 在Linux系统中&#xff0c;在CPU眼中…

数据结构第十二天(队列)

目录 前言 概述 源码&#xff1a; 主函数&#xff1a; 运行结果&#xff1a; 前言 今天和大家共享一句箴言&#xff1a;我本可以忍受黑暗&#xff0c;如果我不曾见过太阳。 概述 队列&#xff08;Queue&#xff09;是一种常见的数据结构&#xff0c;遵循先进先出&#…

25、数据结构/二叉树相关练习20240207

一、二叉树相关练习 请编程实现二叉树的操作 1.二叉树的创建 2.二叉树的先序遍历 3.二叉树的中序遍历 4.二叉树的后序遍历 5.二叉树各个节点度的个数 6.二叉树的深度 代码&#xff1a; #include<stdlib.h> #include<string.h> #include<stdio.h> ty…

UDP是什么,UDP协议及优缺点

UDP&#xff0c;全称 User Datagram Protocol&#xff0c;中文名称为用户数据报协议&#xff0c;主要用来支持那些需要在计算机之间传输数据的网络连接。 UDP 协议从问世至今已经被使用了很多年&#xff0c;虽然目前 UDP 协议的应用不如 TCP 协议广泛&#xff0c;但 UDP 依然是…

提速MySQL:数据库性能加速策略全解析

提速MySQL&#xff1a;数据库性能加速策略全解析 引言理解MySQL性能指标监控和评估性能指标索引优化技巧索引优化实战案例 查询优化实战查询优化案例分析 存储引擎优化InnoDB vs MyISAM选择和优化存储引擎存储引擎优化实例 配置调整与系统优化配置调整系统优化优化实例 实战案例…

Linux学习笔记(centOS)—— 文件系统

目录 一、Linux中的文件 打开方式 二、目录结构​ 三、相关命令 切换目录命令 列出当前目录下的文件和目录命令 一、Linux中的文件 “万物皆文件。” 图1.1 所有文件 打开方式 图形化界面左上角的位置→计算机&#xff0c;打开以后就可以看到Linux全部的文件了&#xf…

C语言:操作符详解

创作不易&#xff0c;给个三连吧&#xff01;&#xff01; 一、算术操作符 C语言中为了方便计算&#xff0c;提供了算数操作符&#xff0c;分别是:,-,*,/,% 由于这些操作符都是有两个操作数&#xff08;位于操作符两边&#xff09;&#xff0c;所以这种操作符也叫做双目操作…

【操作系统】MacOS虚拟内存统计指标

目录 命令及其结果 参数解读 有趣的实验 在 macOS 系统中&#xff0c;虚拟内存统计指标提供了对系统内存使用情况和虚拟内存操作的重要洞察。通过分析这些指标&#xff0c;我们可以更好地了解系统的性能状况和内存管理情况。 命令及其结果 >>> vm_stat Mach Virtu…

查看NodeJs版本和查看NPM版本

Windows10 Dos命令下 查看NodeJs版本和查看NPM版本 NodeJs的命令是&#xff1a;node -v Npm的命令是&#xff1a;npm -v 下图&#xff1a; 记录下&#xff01;~

Springboot 整合 Elasticsearch(三):使用RestHighLevelClient操作ES ①

&#x1f4c1; 前情提要&#xff1a; Springboot 整合 Elasticsearch&#xff08;一&#xff09;&#xff1a;Linux下安装 Elasticsearch 8.x Springboot 整合 Elasticsearch&#xff08;二&#xff09;&#xff1a;使用HTTP请求来操作ES 目录 一、Springboot 整合 Elasticsea…

DC-7靶机渗透详细流程

信息收集&#xff1a; 1.存活扫描&#xff1a; 由于靶机和kali都是nat的网卡&#xff0c;都在一个网段&#xff0c;我们用arp-scan会快一点&#xff1a; arp-scan arp-scan -I eth0 -l └─# arp-scan -I eth0 -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:dd:ee:6…

【蓝桥杯冲冲冲】[NOIP2017 提高组] 宝藏

蓝桥杯备赛 | 洛谷做题打卡day29 文章目录 蓝桥杯备赛 | 洛谷做题打卡day29[NOIP2017 提高组] 宝藏题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示题解代码我的一些话[NOIP2017 提高组] 宝藏 题目背景 NOIP2017 D2T2 题目描…

机器人学、机器视觉与控制 上机笔记(2.1章节)

机器人学、机器视觉与控制 上机笔记&#xff08;2.1章节&#xff09; 1、前言2、本篇内容3、代码记录3.1、新建se23.2、生成坐标系3.3、将T1表示的变换绘制3.4、完整绘制代码3.5、获取点*在坐标系1下的表示3.6、相对坐标获取完整代码 4、结语 1、前言 工作需要&#xff0c;想同…

51单片机之数码管显示表白数字篇

朝菌不知晦朔 蟪蛄不知春秋 眼界决定境界 CSDN 请求进入专栏 是否进入《51单片机专栏》? 确定 目录 数码管的简介 数码管引脚定义 数码管的原理图 74HC245 代码实现 静态数码管的显示 动态数码管的显示 数码管实现表白画面 数码管的简介 L…

Pytorch 安装与配置

每次在服务器上配置环境都需要考虑 Pytorch 版本 / CUDA 版本 / GPU 驱动版本等诸多因素&#xff0c;因为 ⌈ \lceil ⌈Pytorch 只能下载指定 CUDA 版本的库 ⌋ \rfloor ⌋、 ⌈ \lceil ⌈GPU 只能使用特定版本的驱动 ⌋ \rfloor ⌋、 ⌈ \lceil ⌈GPU 有最高支持的 CUDA 版本…

国际物流数字化运输方式选择指南 | 箱讯科技

国际物流涉及多种运输方式&#xff0c;每种方式都有其独特的优势和适用场景。选择合适的运输方式对于确保货物安全、及时到达目的地并控制成本至关重要。以下是对六种主要国际运输方式的简要介绍和选择建议&#xff1a; 国际快递&#xff1a;适用于小件、高价值或急需的货物。…

基于Skywalking开发分布式监控(二)

续上篇&#xff0c;上一篇主要是讲了为啥选skywalking&#xff0c;以及怎么有针对性改造SW Agent&#xff0c;现在我们继续看看如何构建自定义Trace跟踪链 要对SW Agent插件做适当剪裁&#xff0c;原来包括customize插件在内SW 8.9有100多个插件&#xff0c;如果没有作用也就罢…

jvm几个常见面试题整理

1. Full GC触发机制有如下5种情况。 (1)调用System.gc()时&#xff0c;系统建议执行Full GC&#xff0c;但是不必然执行。(2)老年代空间不足。(3)方法区空间不足。(4)老年代的最大可用连续空间小于历次晋升到老年代对象的平均大小就会进行Full GC。(5)由Eden区、S0(From)区向S…