首页 文章 精选 留言 我的

精选列表

搜索[JDK 25],共10010篇文章
优秀的个人博客,低调大师

Emergency(25

原题连接: 1003. Emergency 我的思路: 利用 DFS(深度优先搜索)从起点开始找路(同时记录路径长度和经过的各个节点) 每找到一条可达路径,先判定这条路径的长度 如果大于当前最短路则直接跳过 如果等于当前最短路,则查看该路上可以集结几只队伍,如果队伍数大于当前最多队伍数,则更新,否则跳过 如果小于当前最短路,则更新当前最短路,并更新当前最多队伍 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { private static List<Integer> path = new ArrayList<>(); private static int minLength = 0, maxTeams = 0, thisLength = 0, viablePath = 0; private static int[] teams; private static boolean[] marked; public static void main(String[] args) { Scanner in = new Scanner(System.in); int[][] cityMap; //我使用邻接矩阵法表示图 int n = in.nextInt(); int m = in.nextInt(); int from = in.nextInt(); int to = in.nextInt(); teams = new int[n]; marked = new boolean[n]; cityMap = new int[n][n]; for (int i = 0; i < n; i++){ teams[i] = in.nextInt(); } /* 注意:在构造图时, 因为我使用邻接矩阵法表示图, 而且图本身为无向图 所以在构造时 start->end 和 end->start 都要赋值 */ for (int i = 0; i < m; i++){ int start, end, len; start = in.nextInt(); end = in.nextInt(); len = in.nextInt(); cityMap[start][end] = len; cityMap[end][start] = len; } dfs(cityMap, from, to); System.out.println(viablePath + " " + (maxTeams + teams[from])); } private static void dfs(int[][] map, int from, int to){ if (from == to) { if (minLength <= 0 || thisLength <= minLength){ if (thisLength == minLength){ viablePath++; }else { minLength = thisLength; viablePath = 1; maxTeams = 0; } int thisTeams = 0; for (int i = 0; i < path.size(); i++){ thisTeams += teams[path.get(i)]; } if (thisTeams > maxTeams){ maxTeams = thisTeams; } } return; } /* 使用 dfs 找路 注意:因为我们不是遍历图, 而是寻找所有的路径 所以要在回溯时及时恢复各个变量的原值 */ marked[from] = true; for (int i = 0; i < map.length; i++){ if (map[from][i] > 0 && !marked[i]){ path.add(i); thisLength += map[from][i]; dfs(map, i, to); thisLength -= map[from][i]; path.remove(path.size() - 1); } } marked[from] = false; } }

优秀的个人博客,低调大师

android 25 跨进程启动activity

跨进程启动activity,启动系统预定义的activity就是跨进程的。 client项目启动server项目的activity。 clientActivity.java package com.sxt.day04_10_client; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setListener(); } private void setListener() { findViewById(R.id.btnStartACtivity).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent("com.sxt.day04_10_service.MainActivity");//要启动的actvity的java类,查找系统中所有的activity,要遍历一遍。前提是server软件安装了。设置Intent的时候只设置Action不设置category则category是用的DEFAULT,所以server处的category要加一个DEFAULT startActivity(intent); } }); } } clientActivity项目的描述文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sxt.day04_10_client" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.sxt.day04_10_client.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> serverActivity.java package com.sxt.day04_10_service; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//加载xml文件 } } serverActivity项目的描述文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sxt.day04_10_service" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.sxt.day04_10_service.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="com.sxt.day04_10_service.MainActivity"/>client项目中将会启动这个activity <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> </manifest> 本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4886824.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

华为云2篇论文分别入选国际顶会KDD25和ACM SIGCOMM'25

近日,华为云2篇论文分别入选国际顶级会议KDD 2025和ACM SIGCOMM 2025,获得业界专家的高度认可。这2篇论文展示了华为云在数据中心网络故障管理与可扩展BGP仿真方面的探索技术成果,基于华为云确定性运维体系的实践与创新应用,为大规模数据中心提供高可靠、弹性扩展的解决方案,推动云计算与AI时代网络基础设施升级,加速智能化进程。 FlowXpert: Expertizing Troubleshooting Workflow Orchestration with Knowledge Base and Multi-Agent Coevolution 论文链接: https://dl.acm.org/doi/10.1145/3711896.3737221 论文由华为云数据中心网络团队、华为数通研究部、南开大学和清华大学合作撰写,被KDD 2025会议录用。KDD(ACM SIGKDD Conference on Knowledge Discovery and Data Mining)是数据挖掘与知识发现领域的顶级国际学术会议,致力于推动数据科学的基础研究、技术应用与跨学科发展,是中国计算机学会(CCF)推荐的A类会议。 在云计算环境中,数据中心网络的稳定性和可用性至关重要,而传统故障管理依赖人工编排,效率低、成本高,难以应对复杂多变的运维场景。针对这些问题, 华为云数据中心网络团队主动引入AI Agent和LLM 技术,协同数通和高校开展相关技术研究,提出了FlowXpert,一种用于故障排除工作流编排的新型框架,以​“混合知识库+多智能体协同进化”​​为核心技术架构,实现了从经验驱动到AI驱动的跨越式升级 。基于确定性运维体系,华为云加速智能运维能力建设,不断提高运营效率与组织协同水平。通过连接专家经验与物理世界,持续优化AI算法能力,提升云上业务韧性。 深度知识融合​​: 通过向量索引(VectorBase)与图结构(Graph Base)与的混合知识库,精准提取故障事件的专业知识,解决传统方法信息关联浅、粒度不当的痛点; 智能体协同进化​​: 生成器(Planner)与评分器(Scorer)基于强化学习(PPO/DPO)动态优化,生成的工作流关键步骤召回率提升显著,超行业平均水平; 全链路评估体系​​: 首创 OpsFlowBench基准数据集与 STEPScore指标,确保工作流兼具可读性、可执行性及合规性。 FlowXpert框架 FlowXpert在工作流编排方面展现出卓越的效率,仅需22秒即可完成原本需要人工7小时才能完成的任务,效率提升高达千倍。在实际测试中,FlowXpert基于数据中心网络生产环境中的3.4万条告警数据进行验证,生成的结果80%以上符合直接采纳标准,充分体现了系统在复杂场景下的高准确率与实用性。 论文研究表明,知识建构、反馈优化以及多智能体协同机制不仅在运维排障场景中展现良好效果,也具备进一步推广至其他应用领域的潜力。展望未来,华为云将持续探索新型故障处理和协同进化等领域,不断提升FlowXpert在实际部署中的适用性与可靠性。 Scalable BGP Simulation of Hyper-Scale Data Center Networks 论文链接: https://dl.acm.org/doi/10.1145/3750022.3750455 论文由华为云数据中心网络团队和厦门大学合作撰写,被ACM SIGCOMM 2025录用。ACM SIGCOMM作为中国计算机学会(CCF)推荐的网络通信领域TOP1国际学术会议,该会议不仅看重研究的理论深度与实践支撑,更强调其在学术与产业界的实际价值,入选论文堪称计算机网络领域最新突破的缩影与未来趋势的风向标。 现代云数据中心网络(DCN)规模庞大,传统BGP仿真工具在处理大规模拓扑、非单调配置和增量仿真时面临严谨的挑战。 华为云提出了vBGPSim,这是一个专为超大规模DCN设计的通用BGP仿真器,通过拓扑压缩和广义Dijkstra算法提升可扩展性,集成撤销机制提高准确性,并支持增量仿真。 在生产环境和合成DCN上的广泛测试表明,vBGPSim能够扩展到超过10,000台交换机的网络,准确处理非单调更新并支持高效的增量仿真。 在面对超大规模DCN配置变更时,系统通过智能识别变更前后业务节点间的连通性变化,可有效预判潜在风险,实现变更操作前的问题预警与规避,保障业务连续性。在性能方面,系统能够在5分钟内完成万级网元的仿真验证,全网及子网互访矩阵的构建时间控制在12分钟以内,为大规模网络变更提供了高效、可靠的技术支撑。此次技术突破不仅显著提升了网络运维的自动化水平,也为构建更加稳定、智能的数据中心网络体系奠定了坚实基础。 新网络压缩方法: 基于BGP协议的新型网络压缩方法,该方案针对单点设备,根据其BGP属性进行智能合成,判断设备是否符合压缩逻辑,在路由传播过程中显著降低计算复杂度。压缩逻辑可根据DCN网络特性按需适配,确保改进后的节点在本地属性、聚合路由、策略配置、邻居阶段及非ToR节点AS号一致的前提下进行合并,该方法有效减少仿真所需的节点和链路数量,大幅提升超大规模网络仿真的效率和可行性。 改进的BGP快速仿真方法: 考虑到大型数据中心网络通常具有单调性,即局部最优路由即为全局最优路由,因此在这些场景下可改用基于Dijkstra的仿真方法,实现更快速、高效的仿真计算。相较于Bellman-Ford算法,Dijkstra方法能够在每轮中直接选出最优路由,通常只需要一轮迭代即可完成。然而,对于某些非单调配置,Dijkstra方法无法准确反映实际路由行为。为此可结合路由撤回机制,消除非单调配置带来的仿真误差,从而提升整体仿真的准确性与可靠性。 结合以上两个创新技术方法,可在5分钟内完成万级网元的全量表项仿真,总耗时仅214秒,首次实现了对超大规模DCN网络的仿真与验证能力。大幅提升了网络规划和优化的效率,为华为云未来在大规模通信网络的建设提供了强有力的技术支撑。 华为云在KDD和SIGCOMM国际顶级会议上入选论文,展示了华为云在数据中心网络技术研究领域的国际领先水平。未来,华为云将持续通过前沿技术的研究和应用落地,帮助客户在质量、成本和效率中寻找最优方案,为客户全球业务保驾护航。 点击关注,第一时间了解华为云新鲜技术~

优秀的个人博客,低调大师

2021 年 25 大 DevOps 工具(下)

DevOps 正在改变全球软件开发的状态,DevOps 正以某种形式有效地提高提高全球软件公司的上市速度、可销售性、创新和产品质量。 2021 年是 DevOps 的重要一年。由于 DevOps 跨越开发、运营、IT、安全和产品团队等等,以及软件开发的不同阶段,因此有大量工具可供选择。 本文介绍目前市场上可用的一些顶级 DevOps 工具,同时牢记 CI/CD 生命周期的重要类别。上篇为配置管理、构建、源代码、部署工具,本篇主要是漏洞管理、质量、监控、协作工具。 网络威胁及漏洞管理 TwistLock 对基于容器的应用程序来说,TwistLock 提供了威胁和漏洞。该服务以其与 Kubernetes 和 Docker 容器的集成而闻名。TwistLock 现在归 Palo Alto Networks 所有,通过其运行时应用安全保护和容器自动扫描进行安全检查。 TwistLock 有一个强大的文档,它易于部署并强制优化资源消耗。它还以其 CI/CD 管道集成、对容器安全协议的强合规性和图像扫描而闻名。 TwistLock 还以其精细的安全分析而闻名。该服务还用 AI 功能来了解环境,尽管有些公司已经发现,它自动触发的 cron 作业非常令人困惑。 他们还提供基于 SaaS 的安全扫描(prisma 云)和本地解决方案。 Sysdig Sysdig 是一种用于云基础架构、服务和应用程序的监控工具。Sysdig 通常用于对PaaS基础设施进行容器安全确认、监控及监控安排。 Sysdig 还可用于监控 OpenShift 集群,因为它提供粒度数据来分析指标。 使 Sysdig 脱颖而出的是其容器监控与编排层的强大集成。 如果你想深入了解进程网络流量,Sysdig 也很有用。Sysdig Opensource 允许在内核系统调用级别权限以获取主机的详细信息。捕获信息过程也可以通过 DaemonSet 或直接代理过程自动部署为 Docker 容器。 Anchore Anchore 是一个完整的容器安全工作流解决方案,可与各种开发工具和平台无缝集成。Anchore 为一系列不同的应用程序提供定制的容器检查和合规性解决方案,使团队能够符合行业安全标准。 安全团队可以审计和验证整个组织的合规性。 功能包括: 支持webhook,包括云托管或本地 Kubernetes 环境和 CI/CD 平台 基于策略的安全性和合规性 检查: 漏洞扫描 秘密和密码 操作系统包 第三方资料库检查等 质量/测试 JMeter JMeter 是一种用于测试 Web 应用程序的负载测试工具。即使 JMeter 用于负载/性能测试,它仍然可以用于启动 API 调用、状态代码和响应。JMeter 还支持很多插件。 还可以使用 JMeter 的并发线程池大小这个特征,在测试期间为每个线程启动多个连接。 JMeter 是独立于平台的,可以在不同环境下流畅运行。 可通过多种方式查看测试结果,包括图形、图表、树视图、XML 和 JSON。 JUnit JUnit 是一个单元测试框架,主要用于 Java 应用程序。JUnit 框架属于 Java 框架的 xUnit 家族。 JUnit 使用注解来确定在测试中应该使用什么方法。其测试运行器功能也因其自定义功能而在开发者社区中享有盛誉。你还可以在 JUnit 中使用断言来测试预期结果。 在 JUnit 中,你可以在多个参数之间使用不同的组合。为整个应用程序创建、管理丰富的单元测试用例套件,在 JUnit 的帮助下变得非常容易。JUnit 还可以在模块或系统级测试之前自动测试应用程序的所有功能及单元。 Selenium Selenium 是一个端到端的测试软件测试平台,以其用户友好的用户界面而闻名,它允许测试人员模拟 Web 系统行为、发送 API 请求并分析系统行为。 Selenium 允许使用 RUBY 或 HTML 编写复杂和高级的测试脚本,以解决多个级别的复杂性。 Selenium 为 Web 应用程序开发人员提供了一个完整的 IDE,用于编辑、记录和调试测试。可以为多个测试用例设置自定义的起点和断点。 Selenium 的其他一些主要特性包括: 与多个开发平台集成,如 Jenkins、Maven、TestNG、QMetry、SauceLabs 使用 Selenium Grid 进行并行测试 兼容所有著名语言,包括 Java、Ruby、C#、PHP、JavaScript、Perl 和 R ZTF 目前市面上的自动化测试框架主要分为单元测试框架和某种领域的自动化测试框架,这些框架往往与各个语言绑定,需要将这些自动化测试框架的测试脚本统一管理起来,ZTF自动化测试框架由此被开发出来。ZTF聚焦于自动化测试的管理功能,提供了自动化测试脚本的定义、管理、驱动、执行结果的回传、Bug的创建以及和其他自动化测框架的集成。 ZTF解决如下问题: 用例信息的管理 测试脚本的执行 测试结果的比对 缺陷Bug的提交 ZTF具有语法简单、跨平台、跨语言、跨框架、工程化、跨场景的特点,可很好地驱动8种单元测试框架、5种自动化测试框架来执行测试,并把最终结果回传给禅道,进行统一的报告展示,打通了项目管理和持续集成工具之间的沟壑,贯穿持续集成、持续测试、持续部署等DevOps生命周期的不同阶段。 SonarQube SonarQube 是一个开源工具,用于代码质量、持续检查、安全和错误分析。它适用于 Java、Python、XML 和 PHP 以及许多开箱即用的语言。该工具可以通过 XPath 表达式动态添加规则,还可以自定义该工具以强制执行某些应该忽略异常的情况。 SonarQube 主要用于静态分析。它与 GitLab 有很好的集成。SonarQube 的仪表板和高级跟踪,让你可以对代码质量和检查进行大量控制。 SonarQube缺点: 和 JavaScript 的配合不太顺利 有时速度慢 对第三方工具和插件的支持有限 记录和监控 Grafana Grafana 是一种基于 Apache 2.0 许可证构建的开源分析和监控解决方案,以其出色的 UI、图形、图表、实时分析和触发器而闻名。Grafana 可以从多个来源提取数据,包括 Graphite、InfluxDB、OpenTSDB 和 Prometheus。 Grafana 主要用于监控 Docker 容器、网络设备、带宽、数据流、虚拟服务器、Azure 基础设施、数据库和 Web 应用程序。Grifana 还以其插件以及与 Telegraf 和 Zabbix 的无缝集成而闻名。 Grafana 可以将粒度数据可视化,包括中断的确切时间、中断前的事件、用户日志、数据中心温度和性能预测等指标。 New Relic New Relic 是一个全栈监控工具,用于跟踪基于云的应用程序和软件。New Relic 提供丰富的仪表板、分布式跟踪支持、详细日志、自上而下的可见性和监控。New Relic 对后端调用具有强大的监控能力,可以详细说明系统速度变慢的原因。 该工具对于需要详细分析多个堆栈配置文件的公司非常有用。 New Relic 价格昂贵,但该公司最近制定了基于消费的定价模型。 New Relic 的一些缺点包括: 客户支持较弱 即使在基于消费的定价模型之后也很昂贵 调试复杂困难 Nagios Nagios 是一个开源软件,可以监控系统、网络和基础设施。它主动监控服务的健康状况并维护日志存储文件。它还显示停机原因、停机持续时间以及可能触发停机的事件。 Nagios 还提供了几个配置选项和警报功能。你可以抑制主机的警报、在主机上强制实施维护模式、自定义警报的通知设置等等。 Nagios 支持数百个插件。你还可以创建自己的自定义并开发自己的插件支持。 但是,由于 Nagios 相对较旧,因此很难使用最新的基础架构进行操作。它缺乏数据库驱动的配置并强制你使用配置文件。 ITSM 和协作 ZenTao 禅道是一款开源的研发项目管理软件,基于敏捷和CMMI管理理念进行设计,完整地覆盖了项目管理的核心流程。集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,支持产品端到端的全生命周期管理。 禅道管理思想注重实效,功能完备丰富,操作简洁高效,搜索功能强大,统计报表丰富多样,软件架构合理,扩展灵活。 禅道还实现了Jenkins与Gitlab的集成,更好地支持DevOps的CI和CD周期。 Slack Slack 是协作和通信工具,最近广受欢迎。Slack 以其实时对话、搜索功能和友好的用户界面而闻名。 由于其强大的用户界面、有趣的功能和敏捷性,Slack 正在迅速取代软件行业的电子邮件。 还可以使用编程为 Slack 制作自定义聊天机器人、基础设施例程和触发器。 Microsoft Teams Microsoft Teams 是一种通信和协作工具。它对在 Windows 生态系统中工作的公司很有用。除了即时消息服务之外,Teams 也很有用,因为它与 Azure DevOps 平台集成。你还可以将你的团队与 Azure Repos 和 Azure Pipelines 连接起来。 团队提供不同的渠道,团队可以在其中相互协作。这将创建一个特定于项目的通信存储库,你可以随时搜索它。 其他功能包括: 文件回收 电话/视频会议 聊天机器人集成 Office 365 集成 众多的可用工具可能令人望而生畏,但选择本身是一件好事。缺乏标准化和自动化可能会在入职或交接过程中产生极高的学习曲线。选择原则是不要投资于相似、重叠的工具而浪费时间和财务资源。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册