thumbnail
三种 FreeRTOS 通信方式
在嵌入式系统中,任务之间的通信是实现并发、同步和资源共享的关键。FreeRTOS 提供了多种通信机制,以满足不同的应用场景和性能要求。本文将重点介绍三种常用的通信方式:消息队列(Queue)、邮箱(Semaphore)和任务通知(Task Notification),并通过代码示例分析其适用场景和使用方法。 一、消息队列(Queue) 概述 消息队…
thumbnail
DNS与CDN的区别?
问题起因 在使用Cloudflare的过程中,接触到了DNS的相关内容,于是查找资料。然后在自己的个人网站上因为有使用jsDelivr的CDN服务,于是便有了疑惑——用户在访问网站时,DNS与CDN是怎样的一个解析过程,他们之间有什么区别? DNS解析 什么是DNS? DNS(Domain Name System)是互联网的域名解析系统,它的作用是…
thumbnail
正向代理和反向代理
正向代理 vs 反向代理:核心区别 特性正向代理(Forward Proxy)反向代理(Reverse Proxy)📌 代理的对象代理客户端(用户)访问目标服务器代理服务端(源站)响应外部请求🎯 主要用途客户端访问内部或受控网络资源,缓存优化实现负载均衡、隐藏后端、统一入口、安全防护🛠 配置位置客户端或客户端网关服务器端或网络边缘设备🌍 真实服务器…
thumbnail
端口被占用的问题——Hyper-V
问题描述 在端口被占用时,用命令查看占用的程序。但是没有结果输出,代表没有程序在占用。(实际上是“没有程序在此刻占用这个端口,但不排除有程序在随机保留着这个端口”) netstat -ano | findstr ":7890" 这是因为电脑开启了 Hyper-V ,它会保留一部分 TCP/IP 端口供其虚拟交换机使用,这可能导致…
thumbnail
Java中方法声明和类声明总结
Java 方法声明结构 一个方法的声明包括了多个部分,下面是详细的结构及每一部分的解释。 1. 方法声明完整结构: [注解] [访问修饰符] [其他修饰符] <泛型声明> [返回类型] [方法名](参数列表) [throws 异常列表] 2. 每部分的详细解释: 部分说明注解用于给方法添加元数据。例如,@Override、@Deprec…
thumbnail
算法设计与分析:要点总结-3
贪婪算法(Greedy Algorithm) 1. 基本思想 每一步都做当前看来最优的选择(即局部最优),希望通过一系列局部最优,达到整体最优。 特点是只顾眼前(每次选择最优),不回溯。 2. 贪婪问题分类 绝对贪婪问题: 每一步的局部最优选择,最终一定得到全局最优解。 例子:活动安排问题、最小生成树问题。 相对贪婪问题: 贪婪算法得到的解不是全局…
thumbnail
同步与异步?线程调度?
总结 对于同步和异步来说,最简单的说法就是:同步会按部就班的执行代码,一句一句的执行代码,所以遇到耗时操作会直接出现程序卡住的情况;异步会在异步语句时把操作交给别人(线程池、回调、消息队列)去干。 而异步和线程调度本质上并无关联,只是异步编程可能会用到线程调度(异步编程也可以用事件循环实现)。至于我们写的程序,如果说没有使用异步操作编写代码,程序卡…
thumbnail
专业学习在线资源【专业分流宣讲会】
必须要用的网站 GitHub 学习资源 CS自学指南 Developer Roadmaps 高校资源 中国科学技术大学人工智能与数据科学学院本科进阶指南 上海交通大学大学飞跃手册 上海交通大学生存手册 上海交通大学ACM班 南方科技大学飞跃手册 建议学习课程 计算机科学速成课【Crash Course Computer Science】 CS50’…
thumbnail
ActiveMQ-Exercise
项目理解 一个使用了ActiveMQ消息队列的订单-物流系统,两个系统之间通过消息队列来通信,主要有order.created.queue和logistics.updated.queue两个消息队列。 order.created.queue是一个订单创建消息队列。当新订单创建时,系统会将订单信息发送到此队列,通知其他系统或者服务去处理与该订单相关的…
thumbnail
算法设计与分析:要点总结-2
分治算法 分治思想: 分治算法是一种将一个复杂问题分解成多个较小的子问题,通过递归解决子问题,再将子问题的解合并起来,得到原问题的解。分治思想的核心是通过将问题规模减小、分解和组合来简化问题的解决。 分治算法的基本步骤: 分解:将问题划分为多个规模较小、结构与原问题类似的子问题。 解决:递归地解决这些子问题,当子问题的规模足够小或问题简单时,可以直…