Ubuntu24.04.3——ROS2一键安装

这篇文章在开局需要叠个甲,这片文章基本上是摘自于B站up鱼香ROS机器人的动手学ROS2文章(链接:动手学ROS2),如有侵权,请联系我删除,相关视频参考【鱼香ROS】动手学ROS2|ROS2基础入门到实践教程|小鱼带你手把手学习ROS2_哔哩哔哩_bilibili

一、一键安装ROS2

首先启动虚拟机或者启动双系统中的ubuntu,打开终端(快捷键Alt+Ctrl+T)

输入下面的指令

wget http://fishros.com/install -O fishros && . fishros

输入密码

在选项界面选择1-一键安装

注意这里的24.=版本的ubuntu只有jazzy和rolling版本,我选的是jazzy版本,选什么版本会导致之后你的终端命令的一些代码会有改动。

出现如图所示,即ROS2安装完成

2.出现问题可以这样卸载

sudo apt remove ros-jazzy-* sudo apt autoremove

3.ROS2到底装哪里了

在Windows安装过软件的小伙伴都知道安装软件都会选择一个安装目录,但是安装ROS时候并没有让你选择,ROS安装的默认目录在/opt/ros/下,根据版本的名字进行区分。

我们本节安装的是jazzy版本的ROS2,所以安装目录在/opt/ros/jazzy下。

cd /opt/ros/jazzy/ ls

Read more

Java高性能开发实战(1)——Redis 7 持久化机制

Java高性能开发实战(1)——Redis 7 持久化机制

Redis版本:7.0.15 1.概述 Redis是一个基于内存的数据库,这意味着其主要数据存储和操作均在内存中进行。这种设计使得Redis能够提供极快的读写速度(通常达到微秒级别),适用于高性能场景,如缓存 * 然而,由于内存的易失性(断电后数据会丢失),Redis提供了持久化机制:将内存中的数据保存到磁盘中,确保数据在Redis服务重启或崩溃后能够恢复。通过持久化,可以避免数据丢失,提高数据的可靠性 * Redis提供两种持久化方式 * RDB(Redis Database):生成数据集的快照实现持久化 * AOF(Append Only File):记录所有写操作命令,以追加方式写入文件 2.RDB RDB指的是Redis的一种持久化机制,其核心是生成Redis数据在某个时间点的快照 2.1 快照原理 由于Redis是单线程应用程序,在线上环境时,不仅要处理来自客户端的请求,还要执行内存快照操作(进行文件IO)。单线程同时处理客户端请求和文件IO时会严重降低服务器性能,甚至阻塞客户端请求。因此,Redis使用 fork 和

By Ne0inhk
Java 大视界 -- 基于 Java+Kafka 构建高可用消息队列集群:实战部署与性能调优(442)

Java 大视界 -- 基于 Java+Kafka 构建高可用消息队列集群:实战部署与性能调优(442)

Java 大视界 -- 基于 Java+Kafka 构建高可用消息队列集群:实战部署与性能调优(442) * 引言: * 正文: * 一、 Kafka 高可用集群核心认知:先懂原理,再谈部署 * 1.1 Kafka 高可用核心原理 * 1.1.1 核心组件协同逻辑 * 1.1.2 高可用核心:多副本与 Leader 选举机制 * 1.2 Kafka 高可用集群架构设计要点 * 1.3 技术栈选型:Java+Kafka 核心版本适配 * 二、 实战部署:Java+Kafka 高可用集群搭建 * 2.1 部署前准备:环境初始化

By Ne0inhk
【Java-MySQL】主键、外键有什么区别?

【Java-MySQL】主键、外键有什么区别?

以下是主键(Primary Key)与外键(Foreign Key)的核心区别及适用场景的总结,结合最新数据库实践整理: 🔑 一、本质区别 特性主键外键核心作用唯一标识本表记录(如身份证号)关联其他表的主键(如订单关联用户ID)唯一性✅ 值唯一且不可重复❌ 值可重复(可关联同个主键)空值❌ 不允许为空✅ 允许为空(如“未绑定用户”订单)数量限制每张表仅能有一个主键每张表可有多个外键数据约束强制非空 + 唯一性强制引用其他表的主键值(保证数据一致性) 💡 通俗比喻:主键👉🏻 学生的学号(唯一标识一个人)外键👉🏻 成绩单上的学号(关联学生表,证明成绩属于谁) ⚙️ 二、实际应用场景 ✅ 主键适用场景 1. 标识核心实体: * 用户表 users 中的 user_id(不可重复) 2. 加速查询: * 自动创建聚集索引,大幅提升检索效率

By Ne0inhk
数据结构(Java版)第八期:LinkedList与链表(三)

数据结构(Java版)第八期:LinkedList与链表(三)

专栏:数据结构(Java版) 个人主页:手握风云 目录 一、链表中的经典面试题 1.1. 链表分割 1.2. 链表的回文结构 1.3. 相交链表 1.4. 环形链表 一、链表中的经典面试题 1.1. 链表分割         题目中要求不能改变原来的数据顺序,也就是如上图所示。我们先定义一个cur引用去遍历这个链表,用每个结点的val值与x进行比较,然后利用尾插的方法把结点插入进两个链表中。我们先定义bs、be、as、ae四个引用来表示两个链表的头尾,在尾插的时候需要注意,利用ae.next = node;ae = node,记录下尾结点,保证ae永远指向最后一个结点,同时be.next=as,连接上两个链表。 class ListNode{ int val;

By Ne0inhk