当前位置: 首页 > news >正文

AI伦理和安全风险管理终极指南

人工智能(AI)正在迅速改变各个领域的软件开发和部署。驱动这一转变的两个关键群体为人工智能开发者和人工智能集成商。开发人员处于创建基础人工智能技术的最前沿,包括生成式人工智能(GenAI)模型、自然语言处理(NLP)和大型语言模型(LLM)。与此同时,像Snap、Instacart、CrowdStrike、Priceline、Cloudflare、X(Twitter)和Salesforce这样的集成商通常会将这些人工智能的进步融入到他们的产品中。开发人员和集成商都致力于以创新和防范潜在威胁的方式推动人工智能的发展,确保人工智能技术保持竞争力、道德和安全。

随着人工智能应用的持续深入和普及,我们有必要考虑它对各种团队的影响,包括那些专注于安全、信任和合规性的团队。这些团队会遇到哪些挑战和风险,人工智能如何帮助解决这些领域的问题?本指南旨在根据HackerOne公司在不断发展的人工智能领域的经验和见解来解决这些关键问题。

人工智能的现状

随着人工智能技术的日益普及,两个关键趋势开始显露:进攻型人工智能的主导地位和攻击面的迅速扩大。

进攻型AI正在超越防御型AI

在短期内(也可能是无限期地),攻击性或恶意的人工智能应用程序将超过防御性的人工智能应用程序。这其实并不是一个新现象:攻击与防御的“猫鼠游戏”一直是网络安全领域的主旋律。

虽然GenAI为推进防御用例提供了巨大的机会,但网络犯罪团伙和恶意攻击者也不会放过滥用人工智能的机会。他们将升级武器,寻找潜在的漏洞利用,来对抗一切防御努力。通过深度造假(deepfakes)进行的社会工程攻击将比以往任何时候都更有说服力和成效。GenAI降低了准入门槛,网络钓鱼正变得越来越有说服力。

您是否曾经收到过一个自称是您的CEO的随机号码发来的短信,要求您购买500张礼品卡?虽然您不太可能上当,但如果这个电话来自您CEO的电话号码,情况又会有什么不同呢?如果这个声音听起来和您的CEO一模一样,而且这个声音甚至可以实时回答您的问题呢?这就是人工智能语音克隆的力量。

攻击面呈指数级增长

此外,研究发现新的攻击面出现爆炸式增长。防御者长期以来一直遵循“攻击面最小化”(attack surface reduction)原则,这是微软创造的一个术语,其目的是通过减少攻击者执行攻击的方式来保护组织的设备和网络。然而,GenAI的快速商品化将扭转一些攻击面最小化的进程。

使用GenAI生成代码的能力大大降低了成为软件工程师的门槛,导致越来越多的代码由不完全理解所开发软件的技术含义的人发布,更不用说监督安全含义了。

此外,GenAI需要大量的数据。那些持续以人类智力水平给我们留下深刻印象的模型,毫无例外都是数据体量最大的模型。在一个GenAI无处不在的未来,各种组织将积累越来越多的数据,甚至远超我们现在的认知水平。因此,数据泄露的规模和影响将会失控。攻击者比以往任何时候都更有动力获取数据。暗网数据价格正在上涨就是最好的证明。

攻击面增长并不止于此:在过去的几个月里,企业已经快速实现了GenAI提供的特性和功能。与任何新兴技术一样,开发人员可能没有完全意识到他们的实现可能被利用或滥用的方式。针对GenAI驱动的应用程序的新颖攻击正在成为防御者不得不担心的新威胁。

监管环境和业务需求正在演变

随着围绕人工智能测试的监管要求和业务要求变得越来越普遍,组织必须将人工智能红队和对齐测试无缝集成到他们的风险管理和软件开发实践中。这种战略整合对于培养负责任的人工智能开发文化,并确保人工智能技术满足安全和道德期望至关重要。

欧盟人工智能法案

欧盟最近就人工智能法案达成了一项协议,该法案对人工智能的信任和安全提出了几项要求。对于一些高风险的人工智能系统,所提要求包括对抗性测试、风险评估和缓解、网络事件报告以及其他安全保障措施。

美国联邦指南

欧盟的人工智能法案紧随美国联邦政府的指导方针,例如最近关于安全和可信赖的人工智能的行政命令,以及联邦贸易委员会的指导方针。这些框架将人工智能红队和正在进行的测试确定为帮助确保安全性和一致性的关键保障措施。

随着人工智能的应用范围不断扩大,使用者的责任也在不断扩大。对于希望部署GenAI的高科技公司来说,在网络安全方面采取积极主动的立场至关重要。这不仅意味着要跟上监管要求,整合强大的安全措施,还意味着要培养一种不断创新和道德优先的文化。平衡技术竞争力与安全性是在不断变化的局势中蓬勃发展的关键。

风险:影响AI和LLM的主要漏洞

迅速采用GenAI以提高生产力和保持竞争力的压力已经上升到令人难以置信的程度。与此同时,安全负责人正在努力了解如何利用GenAl技术,同时确保免受固有的安全问题和威胁。

AI Safety vs. AI Security

AI Safety的重点是防止人工智能系统产生有害内容,从制造武器的说明到攻击性语言和不适当的图像。它旨在确保负责任地使用人工智能并遵守道德标准。AI safety风险可能会对组织产生如下影响:

  • 有偏见或不道德决策的传播;
  • 公众对人工智能技术和部署它们的组织的信任受到侵蚀;
  • 不遵守道德标准所带来的法律、法规和财务责任;
  • 可能伤害个人或社会的意外后果。

另一方面,AI security涉及测试人工智能系统,目的是防止恶意行为者滥用人工智能,例如,损害人工智能所嵌入系统的机密性、完整性或可用性。AI security风险可能会为组织带来如下问题:

  • 泄露敏感或隐私信息;
  • 向未经授权的用户提供访问和功能;
  • 损害模型的安全性、有效性和道德性行为;
  • 造成广泛的财务和声誉损失。

OWASP Top 10 LLM漏洞

开放Web应用程序安全项目(OWASP)每年都会发布一系列全面的指南,包括“Top 10 LLM应用程序漏洞”,其中介绍了LLM应用程序面临的最关键的安全风险。以下是最新的OWASP Top 10 LLM漏洞榜单:

  1. 提示注入:攻击者通过精心设计的输入直接或间接地操纵可信LLM的操作。
  2. 不安全的输出处理:当对模型输出内容没有足够的验证、净化处理,便将其传递给下游组件或系统时,就会存在不安全输出处理的漏洞风险。这些漏洞一旦被滥用,便会引发XSS、CSRF、SSRF、特权升级或远程代码执行等问题。
  3. 训练数据中毒:指操纵预训练数据或在微调及嵌入过程中涉及的数据,以引入漏洞、后门或偏见,从而损害模型的安全性、有效性或道德行为。
  4. 模型拒绝服务:攻击者在LLM进行某种交互并大量消耗资源,从而导致服务降级或高成本。
  5. 供应链漏洞:LLM中的供应链可能很脆弱,会影响训练数据、机器学习(ML)模型和部署平台的完整性。LLM中的供应链漏洞可能导致有偏差的结果、安全漏洞,甚至系统故障。
  6. 敏感信息泄露:当LLM无意中泄露机密数据,导致专有算法、知识产权和私人或个人信息暴露,从而导致隐私侵犯和其他安全漏洞时,就会发生这种情况。
  7. 不安全的插件设计:LLM的功能和实用性可以通过插件进行扩展。然而,这可能伴随着通过糟糕或不安全的插件设计引入更多攻击面的风险。
  8. 过度代理:通常由过多的功能、权限和/或自主权引起。这些因素中的一个或多个会导致在响应LLM的意外输出或模糊输出时执行破坏性操作。
  9. 过度依赖:这种情况通常发生在系统或人员在没有充分监督的情况下依赖LLM进行决策或内容生成。组织和员工可能会过度依赖LLM,而缺乏确保信息准确、审查和安全所需的知识和验证机制。
  10. 模型盗窃:涉及恶意行为者未经授权的访问、复制或泄露专有LLM模型的情况。这可能导致经济损失、声誉受损和未经授权访问高度敏感数据。

现实世界的AI劫持

道德黑客现在专门寻找人工智能模型和部署中的漏洞。事实上,在hackerone的年度调查中,62%的黑客表示他们计划专攻OWASP TOP 10 LLM应用程序漏洞。例如,黑客Joseph“rez0”Thacker、Justin“Rhynorater”Gardner和Roni“Lupin”Carta正在合作,通过攻击GenAI助手(现在被称为Gemini)来强化谷歌的人工智能红队。

Bard ExtensionAI功能的推出为Bard提供了访问GoogleDrive、Google Docs和Gmail的权限。这意味着Bard可以访问个人身份信息,甚至可以阅读电子邮件,访问文件和位置。但黑客们发现,Bard分析了不可信的数据,可能容易受到不安全的直接对象引用(IDOR)和数据注入攻击的影响。

1714978850_66388022a43e605abdea8.png!small?1714978851715

在bard Extensions发布不到24小时的时间里,黑客们证明了如下结论:

  • Google Bard很容易通过扩展的数据受到IDOR和数据注入攻击。
  • 恶意图像提示注入指令将利用此漏洞。
  • 一个提示注入有效载荷可能会泄露受害者的电子邮件。

由于个人电子邮件泄露的影响十分大,黑客迅速向谷歌报告了这一漏洞,并获得了2万美元的赏金。然而,像这样的漏洞还只是GenAI中新发现漏洞的“冰山一角”。开发和部署GenAI和LLM的组织需要专门从事OWASP TOP 10 LLM漏洞研究的安全人才,才能正确平衡这些技术的竞争力和安全性。

机会:与黑客合作,快速安全地构建和部署AI

自从OpenAI宣布ChatGPT以来,道德黑客就一直在试验人工智能系统。黑客是一股智慧和实验的集体力量。他们是好奇的天才,他们的努力可以帮助组织以有竞争力的速度交付或实施人工智能,并维护安全。

HackerOne于2023年底发布了第七份年度黑客驱动安全报告,调查了黑客对GenAI的使用情况以及他们攻击该技术的经验。以下为主要调查结果:

  • 66%的黑客正使用或将使用GenAI来更好地编写报告;
  • 61%的黑客计划使用并开发GenAI驱动黑客工具来发现更多漏洞;
  • 55%的黑客表示,GenAI工具将成为他们未来几年的重点目标;
  • 53%的黑客将使用GenAI来编写代码;
  • 53%的黑客正在使用GenAI;
  • 43%的黑客认为GenAI将导致代码中的漏洞数量增加;
  • 38%的黑客认为GenAI将导致代码中的漏洞数量减少;
  • 28%的黑客最关注GenAI的犯罪型漏洞利用;
  • 22%的黑客最关注通过GenAI进行虚假信息传播;
  • 18%的黑客最关注通过GenAI增加不安全的代码;
  • 14%的黑客表示,GenAI已经成为其“至关重要的工具”;
  • 3%的黑客表示将使用GenAI来降低语言障碍。

1714978870_6638803665932988c6754.png!small?1714978873020

黑客眼中的顶级GenAI和LLM风险

HackerOne与黑客社区就AI的使用和安全问题进行了持续的对话,揭示了黑客眼中的顶级GenAI和LLM风险。

提示注入

OWASP十大LLM漏洞将提示注入定义为一种漏洞,在此漏洞中,攻击者可以直接或间接地通过精心制作的输入操纵可信LLM的操作。安全专家Paxton-Fear对提示注入提出了警告,他表示:

“随着AI技术的成熟和复杂性的增长,未来将会有更多的方法来破坏它。我们已经看到了人工智能系统特有的漏洞,例如提示注入或训练数据中毒。我们需要人工智能和人类智慧来克服这些安全挑战。”

Joseph Thacker则用了一个例子来帮助理解提示注入的力量,他表示,

“如果攻击者使用提示注入来控制LLM函数调用的上下文,他们就可以通过调用web浏览器特性来泄漏数据,并将泄漏的数据移动到攻击者一方。或者,攻击者可以通过电子邮件向负责阅读和回复电子邮件的LLM发送提示注入有效载荷。”

Roni Carta指出,如果开发人员使用ChatGPT来帮助他们在计算机上安装提示包,那么他们在要求它查找库时可能会遇到麻烦。因为ChatGPT会产生库名,而威胁行为者可以通过逆向工程假库来利用这些库名。

代理访问控制

Joseph Thacker表示,训练数据的质量决定了LLM的质量。而且,通常最有用的数据往往是私密数据。

根据Thacker的说法,这在代理访问控制方面产生了一个极为关键的问题。访问控制问题是HackerOne平台发现的非常常见的漏洞。而加剧人工智能代理访问控制问题的根源在于数据的混合。Thacker表示,人工智能代理倾向于将二阶数据访问与特权操作混合在一起,从而暴露出最敏感的信息,这些信息可能会被恶意行为者利用。

GenAI时代道德黑客的演变

在一个由Zoom和Salesforce的安全专家组成的小组讨论中,黑客Tom Anthony预测了黑客利用人工智能处理流程的变化。他表示,在Zoom最近的一次现场黑客活动中,黑客可以找到复活节彩蛋,而破解这些彩蛋的黑客使用了LLM来破解它。黑客可以使用人工智能来加速他们的过程,例如,在尝试暴力破解系统时快速扩展单词列表。此外,他还感觉到了使用自动化的黑客的明显不同,声称人工智能将大大提高对源代码的阅读能力。

黑客Jonathan Bouman使用ChatGPT来帮助破解他不是很自信的技术。他介绍称:

“我可以破解web应用程序,但不能破解新的编码语言。在一次现场黑客活动中,我将所提供的所有文档(删除了所有与公司相关的内容)复制粘贴进了ChatGPT,给了它所有的结构,并问它:‘你将从哪里开始?’我用了一些提示来确保它不会产生幻觉,而且它确实提供了一些低危漏洞。因为我和50个道德黑客在一个房间里,我可以和更广泛的团队分享我的发现,我们把其中的两个漏洞升级为严重漏洞。如果没有ChatGPT,我不可能做到这一点,而如果没有黑客社区,我也不可能取得这么大的影响。”

甚至还有一些新的工具可用于指导LLM入侵。Tom Anthony曾使用一款在线游戏进行提示注入,顺利欺骗GPT模型提供秘密。

解决方案:AI红队

人工智能红队是一种全面检查人工智能系统(包括人工智能模型及其软件组件)以识别安全问题的方法。这个过程会产生一系列问题以及用于解决这些问题的可行性建议,使传统的红队能够适应独特的人工智能挑战。具体可以通过漏洞悬赏计划、渗透测试或有时间限制的攻击性测试挑战来实现。

以下是HackerOne根据十多年经验给出的AI红队最优化实践建议:

团队组成

一个精心挑选和多样化的团队是有效评估的支柱。强调背景、经验和技能的多样性对于保护人工智能至关重要。好奇心驱动的思考者、具有不同经验的个人,以及熟练掌握生产LLM提示行为的组合能够产生最好的结果。

协作和规模

人工智能红队成员之间的协作具有无与伦比的意义,往往能够超过传统的安全测试。HackerOne发现,15-25名测试人员的团队规模可以达到有效参与的平衡,带来多样化和全面的视角。

背景和范围

与传统的安全测试人员不同,人工智能红队必须充分了解他们正在评估的人工智能系统。与客户密切合作以建立全面的环境和精确的范围是必不可少的。这种合作有助于确定人工智能的预期目的、部署环境、现有的安全和防御措施以及任何限制。

私人vs. 公共

虽然由于safety和security问题的敏感性,大多数人工智能红队都是私下运作的,但在某些情况下,也会采取公众参与的形式,比如X发起的“算法偏见赏金”挑战,通过邀请和激励人工智能伦理领域的研究人员来帮助识别Twitter图像裁剪算法的潜在歧视危害和伦理问题,目前已经取得了巨大的成功。

激励模型

调整激励模式是人工智能红队战术手册的一个关键方面。事实证明,将固定费用参与奖励与实现特定成果的奖励(类似于奖金)结合起来的混合经济模式最为有效。

原文链接:

https://www.hackerone.com/ultimate-guide-ai-risk

相关文章:

AI伦理和安全风险管理终极指南

人工智能(AI)正在迅速改变各个领域的软件开发和部署。驱动这一转变的两个关键群体为人工智能开发者和人工智能集成商。开发人员处于创建基础人工智能技术的最前沿,包括生成式人工智能(GenAI)模型、自然语言处理&#x…...

golang testing使用

testing包服务于自动化测试 基本测试 Table Drvien Test 基于表的测试通过表形式进行测试每种情况的输入和期望输出,从而测试程序的正确性 func TestFib(t *testing.T) {var fibTests []struct {in int // inputexpected int // expected result}{{1, 1}…...

在Excel中使用正则提取单元格内容

在办公自动化的浪潮中,Excel 作为数据处理的利器,一直在不断进化。最近,我注意到了不坑盒子Office插件一个非常实用的功能更新——bk_regex_string 公式。这个功能对于我们这些日常需要处理大量文本和数据的办公人员来说,无疑是一…...

SQL查询语句(二)逻辑运算关键字

上一篇文章中我们提到了条件查询除了一些简单的数学符号之外,还有一些用于条件判断的关键字,如逻辑判断 关键字AND,OR,NOT和范围查找关键字BETWEEN,IN等;下面我们来介绍一些这些关键字的用法以及他们所表达的含义。 目录 逻辑运算关键字 AND…...

矿山机械自动化中的激光雷达技术探索

在矿山机械自动化技术的快速发展中,激光雷达技术作为其关键组成部分,正发挥着越来越重要的作用。本文将深入探讨激光雷达在矿山机械自动化中的应用,以及其所面临的挑战与未来发展趋势。 一、激光雷达在矿山机械自动化中的应用 激光雷达技术…...

MOSFET场效应管栅极驱动电流的计算

MOSFET驱动 MOSFET场效应管是电压驱动器件,输入有电容,因此为可靠驱动MOSFET,栅极需要施加较大的驱动电流。 功率MOSFET开关模型 该模型显示了影响开关性能的最重要的寄生器件。 栅极所需驱动电流计算公式 一个很重要的参数是计算栅极驱…...

Python 爬虫:Spring Boot 反爬虫的成功案例

前言 在当今数字化时代,网络数据成为了信息获取和分析的重要来源之一。然而,随着网络数据的广泛应用,爬虫技术也逐渐成为了互联网行业的热门话题。爬虫技术的应用不仅可以帮助企业获取有价值的信息,还可以用于数据分析、市场研究…...

计算机毕业设计Python+Vue.js天气预测系统 中国气象质量采集与可视化 天气数据分析 天气可视化 天气大数据 天气爬虫 大数据毕业设计

摘要 随着科技技术的不断发展,人民物质生活质量不断提高,我们越来越关注身边的气象、空气等地理环境。对于普通居民我们会选择合适的气象进行出游,提高精神层面的生活质量;对于企业会关注气象变换状况,来定制相关的生产…...

【busybox记录】【shell指令】tr

目录 内容来源: 【GUN】【tr】指令介绍 【busybox】【tr】指令介绍 【linux】【tr】指令介绍 使用示例: 转换字符 - 默认 转换字符 - 不翻译指定字符数组 此指令目前接触少,用得少,把精力放到其他常用指令上 常用组合指令…...

Mac虚拟机软件哪个好用 mac虚拟机parallels desktop有什么用 Mac装虚拟机的利与弊 mac装虚拟机对电脑有损害吗

随着多系统使用需求的升温,虚拟机的使用也变得越来越普遍。虚拟机可以用于创建各种不同的系统,并按照要求设定所需的系统环境。另外,虚拟机在Mac电脑的跨系统使用以及测试软件系统兼容性等领域应用也越来越广泛。 一、Mac系统和虚拟机的区别 …...

Type-C转音频(USB2.0数据传输)+PD充电芯片乐得瑞LDR6500/LDR6023

LDR6500 USB-C DRP 接口 USB PD 通信芯片概述 Type-C转音频(USB2.0数据传输)PD充电芯片乐得瑞LDR6500LDR6500是乐得瑞科技针对USB Type-C标准中的Bridge设备而开发的USB-C DRP(Dual Role Port,双角色端口)接口USB PD(Power Deliv…...

【busybox记录】【shell指令】expand

目录 内容来源: 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例: 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…...

软件测试—— 接口测试之通讯流程相关概念

通讯流程 1、协议 通讯规则 2、HTTP协议 协议的一种 3、接口规范文档 如何发请求的要求文档,获取什么响应内容的说明文档(相当于菜单)...

AT32 雅特力CAN详细使用说明配置细则

CAN 过滤器使用说明 CAN 过滤器相当于关卡,每当收到一条报文时,CAN 要先将收到的报文从这些过滤器上"过滤"一下,能通 过的报文是有效报文,收进相关联 FIFO(FIFO0 或 FIFO1),不能通过的…...

【机器学习】集成方法---Boosting之AdaBoost

一、Boosting的介绍 1.1 集成学习的概念 1.1.1集成学习的定义 集成学习是一种通过组合多个学习器来完成学习任务的机器学习方法。它通过将多个单一模型(也称为“基学习器”或“弱学习器”)的输出结果进行集成,以获得比单一模型更好的泛化性…...

AI大模型探索之路-训练篇11:大语言模型Transformer库-Model组件实践

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…...

鸿蒙内核源码分析(工作模式篇) | CPU的七种工作模式

本篇说清楚CPU的工作模式 工作模式(Working mode) 也叫操作模式(Operating mode)又叫处理器模式(Processor mode),是 CPU 运行的重要参数,决定着处理器的工作方式,比如如何裁决特权级别和报告异…...

5月6(信息差)

🌍一次预测多个token,Meta新模型推理加速3倍,编程任务提高17% https://hub.baai.ac.cn/view/36857 🎄 LeetCode 周赛超越 80% 人类选手,推理性能超 Llama3-70B。 ✨ 我国量子计算机实现“四算合一” 实现通算、…...

Qt在任务栏图标和系统托盘图标上显示红点

在任务栏图标上显示红点 关键类&#xff1a;QWinTaskbarButton #include <QWinTaskbarButton>QPointer<QWinTaskbarButton> taskbarBtn nullptr; if (!taskbarBtn) {taskbarBtn new QWinTaskbarButton(window);taskbarBtn->setWindow(window->windowHand…...

springboot拦载器

1、拦载器 package com.Interceptor;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.security.auth.login.Log…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...