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

【Linux】HTTP cookie与session

在登录B站时,有登录和未登录两种状态,

  • 问题:B站是如何认识我这个登录用户的?
  • 问题:HTTP是无状态、无连接的,怎么能够记住我?

HTTP协议是无状态、无连接的。比如客户端(浏览器)在访问a.html时,服务器就会对客户端进行响应,响应正文部分会带上a.html的内容给浏览器客户端。由于HTTP是无状态的,当客户端浏览器再次发起请求时,即便请求的是服务器上的某一种同一份资源(历史上请求过的),然而服务器并不清楚曾经同一个客户端历史上请求过同一个资源,只能把这个资源再返回给客户端,这种特性称为无状态。也就是说,客户端发起多少次请求,服务器就要把对应的资源在网络中进行多少次传输。所谓无连接,就是HTTP协议通信本身不需要连接(和tcp面向连接无关,是两个维度的概念)。

但是这样的特性会面临很多问题,比如有一个视频网站,有的视频才能让普通用户浏览(甚至没有登录);有的视频必须用户登录之后,才能观看完整视频;当然还有的视频,必须是会员登录,才能观看。我们在观看视频时,一会儿看这种,一会看那种,但是这个网站要根据不同的用户身份(没有登录的、登录的、会员),对不同的视频内容做不同的决策,所以网站要识别用户身份。在观看完未登录就能看的视频后,又打开了登录才能看的视频,那服务器怎么知道我历史上曾经登录过呢?HTTP本身是无状态的,怎么能够识别出来我的身份呢?此时就需要使用cookie和session技术!这项技术的用途之一就是来协助网站在基于HTTP协议的基础之上帮助网站标识一个用户对应的身份,也可以称之为登录会话管理。另外一个例子,我们在平常都会遇到过,在第一次登录某个网站需要输入账号密码,后面很长时间再次登录就无需输入账号密码即可,这也是这种技术的体现。

HTTP Cookie

定义

HTTP Cookie是服务器发送到用户浏览器并保存在浏览器上的一小块数据,它会在浏览器未来向同一台服务器再次发起请求时被携带并发送到服务器上。这用于告知服务器两个请求是否来自同一浏览器。

工作原理

  • 当用户第一次访问网站时,服务器会在响应的HTTP头中设置Set-Cookie字段,用户发送Cookie到用户的浏览器。
  • 浏览器在接收到Cookie后,会将其保存在本地(按照域名进行保存)
  • 在之后的请求中,浏览器会自动在HTTP请求头中携带Cookie字段,将之前保存的Cookie信息发送给服务器。

在浏览器第一次登录网站时,会把账号密码通过http登录发给服务器,而服务器会认证这个用户,在应答时,使用Set-Cookie:用户基本信息(用户名密码)(这是一个报头属性),而浏览器会识别到Set-Cookie,发现服务器要求我在浏览器内部把设置的用户基本信息记录在浏览器内部,所以浏览器就要赶紧把服务器给我写回来的用户的基本信息保存起来。从此往后,浏览器再次访问这个网站时,会给所有的http请求报头中自动带上用户基本信息,这样服务器在每次被这个浏览器请求时,都会拿到用户在第一次登录时输入的账号密码,进而对用户身份进行合法化鉴定。

分类

在浏览器保存用户基本信息时,有两种方案:

  • 内存级,会话Cookie:保存在内存中,关闭浏览器,这块内存就被释放。
  • 文件级,持久Cookie:在浏览器的安装路径,以某种方式保存在文件中,即使浏览器关掉,Cookie还在。带有明确的过期时间或持续时间。
  • 如果Cookie是一个持久性的cookie,那么它是与浏览器相关的,是特定目录下的一个文件。但直接查看这些文件可能看到乱码或无法读取的内容,因为Cookie文件通常以二进制或sqlite格式存储。一般可以在浏览器对应的选项查看即可。

认识Cookie

基本格式

关于其它可选属性的解释

  • expires=<date>:设置Cookie的过期时间/日期。如果未指定此属性,则Cookie默认会话为Cookie,即当浏览器关闭时到期。
  • path=<some_path>:限制Cookie发送到服务器的哪些路径。也就是在访问指定路径时才会提交Cookie。如果path=/,表示访问当前网站所有路径都会提交Cookie。
  • domain=<domain_name>:指定哪些主机可以接受Cookie。默认为设置它的指针。
  • secure:仅当使用HTTPS协议时才发送Cookie。这有助于防止Cookie在不安全的HTTP连接中截获。
  • HttpOnly:标记Cookie为HttpOnly,意味着该Cookie不能被客户端脚本访问。

其中,username、expires、path是最重要的属性。

单独使用Cookie的问题

我们写入的Cookie数据如果是用户的私密数据,比如用户名密码、浏览痕迹,本质问题在于这些用户私密数据在浏览器(用户端)保存,非常容易被人盗取,除了被盗取,还有就是用户私密数据也就泄漏了。

为了解决这样的问题,引入了HTTP Session。

HTTP Session

定义

HTTP Session是服务器用来跟踪用户与服务器交互期间用户状态的机制。由于HTTP协议是无状态的,因此服务器需要通过Session来记住用户的信息。

工作原理

  • 当用户首次访问网站时,服务器会为用户创建一个唯一的Session ID,并通过Cookie将其发送到客户端。
  • 客户端在之后的请求中会携带这个Session ID,服务器通过Session ID来识别用户,从而获取用户的会话信息。
  • 服务器通常会将Session信息存储在内存、数据库或缓存中。

实际会话保持的做法是Cookie+Session!

安全性

Session是相对安全的!与Cookie相似,由于Session ID是在客户端与服务器之间传递的,因此也存在被窃取的风险。

之前的Cookie存在两个问题:

1.身份被冒认:为了解决这个问题,session是服务器创建并管理的,一旦查到Session ID有问题,让这个Session ID失效就可以了。那怎么知道这个client的Session ID是一个非法的呢?这就需要和业务结合才可以。

2.私密信息被泄露:虽然Cookie被盗取了,但是用户只泄漏了一个Session ID,私密信息暂时没有被泄露的风险。

超时和失效

Session可以设置超时时间,当超过这个时间后,Session会自动失效。

用途

  • 用户认证和会话管理
  • 存储用户的临时数据(如购物车内容)

相关文章:

【Linux】HTTP cookie与session

在登录B站时&#xff0c;有登录和未登录两种状态&#xff0c; 问题&#xff1a;B站是如何认识我这个登录用户的&#xff1f;问题&#xff1a;HTTP是无状态、无连接的&#xff0c;怎么能够记住我&#xff1f; HTTP协议是无状态、无连接的。比如客户端&#xff08;浏览器&#…...

20. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加接口地址

在同学学习过程&#xff0c;部分同学向我反馈说每次新增接口都要在接口表里手动添加一条接口很麻烦&#xff0c;因此我把项目代码做了一个改动&#xff0c;使我们不需要手动添加&#xff0c;每次项目运行起来后就会自动把新的接口地址添加进去。 一、实现 首先&#xff0c;我…...

[Linux] 服务器CPU信息

&#xff08;1&#xff09;查看CPU信息&#xff08;型号&#xff09; cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c输出&#xff1a;可以看到有128个虚拟CPU核心&#xff0c;型号是后面一串 128 Intel(R) Xeon(R) Platinum 8336C CPU 2.30GHz&#xff08;2&…...

java_使用阿里云oss服务存储图片

什么情况下可以使用阿里云oss服务存储图片&#xff1f; 对图片的访问速度有高要求时使用&#xff0c;方便用户快速的&#xff08;比如在网页页面中&#xff09;访问到图像 参考&#xff1a;41 尚上优选项目-平台管理端-商品信息管理模块-阿里云OSS介绍_哔哩哔哩_bilibili 1.…...

Dali 1.1.4 | 解锁版AI图像生成器,无限生成

Dali是一款先进的AI图像生成器应用程序&#xff0c;能够根据您的描述生成不同风格的独特图像。它不仅限于生成艺术作品&#xff0c;还可以创建创新的纹身设计、独一无二的标志以及超写实照片。该软件使用尖端技术&#xff0c;将想象力转化为现实&#xff0c;提供迷人的数字艺术…...

快手视频不让下载怎么保存到相册

快手&#xff0c;作为国内领先的短视频平台之一&#xff0c;吸引了无数用户发布创意视频、分享生活点滴。随着短视频版权保护和用户隐私问题的日益严重&#xff0c;越来越多的视频内容在平台内都采取了“不让下载”的限制。面对这一情况&#xff0c;很多用户都希望能够保存自己…...

Linux环境下CUDA与对应版本CuDNN的安装指南

转载&#xff1a;Linux环境下CUDA与对应版本CuDNN的安装指南-百度开发者中心...

mybatisPlus打印sql配置

MyBatis-Plus 提供了方便的配置方式来打印 SQL 查询语句&#xff0c;以便进行调试和性能分析。可以通过配置 log 来输出 SQL 语句以及执行的参数。 方法 1&#xff1a;通过 application.properties 或 application.yml 配置打印 SQL 可以通过配置 application.properties 或 a…...

InstructGPT:基于人类反馈训练语言模型遵从指令的能力

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; 大模型进化树&#xff0c;可以看到 InstructGPT 所处的年代和位置。来自 大语言模型&#xff08;LLM&#xff09;综述与实用指南&#xff08;Amazon&#xff0c;2023&#xff09; 目录 摘要 1 引言 …...

曾仕强解读《易经》

曾仕强对《易经》的解读内容丰富、深入浅出&#xff0c;以下是一些主要方面&#xff1a; 讲解《易经》基本原理 - 阴阳之道&#xff1a;曾仕强将阴阳比作白天与黑夜、男人与女人等&#xff0c;指出阴阳看似对立&#xff0c;实则相辅相成&#xff0c;强调为人处世要把握阴阳…...

http报头解析

http报文 http报文主要有两类是常见的&#xff0c;第一类是请求报文&#xff0c;第二类是响应报文&#xff0c;每个报头除了第一行&#xff0c;都是采用键值对进行传输数据&#xff0c;请求报文的第一行主要包括http方法&#xff08;GET&#xff0c;PUT&#xff0c; POST&#…...

什么是Sight Words(信号词)

&#x1f9e1;什么是Sight Words&#xff08;信号词&#xff09; 简单来说&#xff0c;Sight Words就是我们在日常英语中常用的一些基本词汇。可以把它想象成是学练英语的“基础词汇”&#xff0c;这些词在各种考试中经常出现&#xff0c;也是在生活中必不可少的。 &#x1f…...

tiny RISCV项目学习

参考视频&#xff1a;第1期 开发环境准备 —— RISC-V囫囵吞枣式学习_哔哩哔哩_bilibili 项目地址&#xff1a;tinyriscv: 一个从零开始写的极简、非常易懂的RISC-V处理器核。...

LeetCode 力扣 热题 100道(二十七)除自身以外数组的乘积(C++)

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂…...

Kotlin在医疗大健康域的应用实例探究与编程剖析(上)

一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业正经历着深刻的变革。随着信息技术的飞速发展,尤其是人工智能、大数据、物联网等新兴技术的广泛应用,医疗行业数字化转型已成为必然趋势。这种转型旨在提升医疗服务的效率和质量,优化医疗资源配置,为患者提供更加…...

【Spring】事务

在软件开发中&#xff0c;事务确保一组操作要么全部成功&#xff0c;要么全部失败&#xff0c;这对于数据库操作尤为重要&#xff0c;因为任何单一操作的失败都可能导致数据不一致。Spring 事务管理通过 Transactional 注解实现&#xff0c;能够轻松地在数据层和业务层维护数据…...

canvas+fabric实现时间刻度尺(二)

前言 我们前面实现了时间刻度尺&#xff0c;鼠标移动显示时间&#xff0c;接下来我们实现鼠标点击某个时间进行弹框。 效果 实现 1.监听鼠标按下事件 2.编写弹框页面 3.时间转换 <template><div><canvas id"rulerCanvas" width"1200"…...

IPv6的过度技术

如何界定手动与自动&#xff1f;  主要是隧道目标地址能否自动获取 &#x1f46f;1. 双栈 必须支持IPv4和IPv6协议  链接双栈网络的接口必须同时配置v4和v6地址  路由器能够根据二层标记识别协议&#xff0c;type&#xff1a;0x0800代表IPV4&#xff0c;type&#xff1a;0x…...

介绍 Apache Spark 的基本概念和在大数据分析中的应用。

Apache Spark是一个开源的大数据处理框架&#xff0c;可用于高速处理和分析大规模数据集。它可以在分布式集群上运行&#xff0c;并且具有内存计算的能力&#xff0c;因此可以比传统的批处理框架更快地处理数据。 在Spark中&#xff0c;数据被表示为弹性分布式数据集&#xff…...

VA01/VA02检查增强

VA01/VA02检查增强 一、增强描述 VA01/VA02创建或修改SO时候&#xff0c;在点击“保存”按钮的节点&#xff0c;客户需求对一些约束条件进行检查&#xff0c;此处以 SO行项目对应的“利润中心”字段必输为例。通过查询更多的增强&#xff1a;SPRO–销售和分销–系统修正–用户…...

基于SpringBoot和Leaflet的全球机场空间分布可视化实战

目录 前言 一、航空机场的空间模型 1、空间表简介 2、数据查询 二、机场WebGIS空间分布可视化 1、后台数据查询 2、Leaflet页面开发 三、WebGIS分析 1、全球航空格局 2、我国机场影像 四、总结 前言 时光轻轻挥别2024&#xff0c;来到了2025年。在崭新的2025年里&am…...

FPGA交通灯实现

1 原理 FPGA(现场可编程门阵列)交通灯实现原理主要是基于硬件描述语言(如VHDL或Verilog)编程,通过FPGA内部的逻辑单元和寄存器来实现交通灯的控制功能。以下是对FPGA交通灯实现原理的详细解释: 一、交通灯的基本功能 交通灯的主要功能包括红灯、黄灯和绿灯的显示,以及…...

厦门大学联合网易提出StoryWeaver,可根据统一模型内给定的角色实现高质量的故事可视化

厦门大学联合网易提出StoryWeaver&#xff0c;可以根据统一模型内给定的角色实现高质量的故事可视化。可根据故事文本生成与之匹配的图像&#xff0c;并且确保每个角色在不同的场景中保持一致。本文的方法主要包括以下几个步骤&#xff1a; 角色图构建&#xff1a;设计一个角色…...

【Rust自学】8.1. Vector

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 8.1.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构&…...

华为OD机试真题---服务器广播

华为OD机试中的“服务器广播”题目是一个经典的算法问题&#xff0c;通常涉及图论和连通分量的概念。以下是对该题目的详细解析&#xff1a; 一、题目描述 服务器之间可以通过网络进行连接&#xff0c;连接方式包括直接相连和间接连接。给出一个NN的数组&#xff08;矩阵&…...

又一年。。。。。。

2024&#xff0c;浑浑噩噩的一年。 除了100以内的加减法&#xff08;数据&#xff0c;数据&#xff0c;还是数据。。。。。。&#xff09;&#xff0c;似乎没做些什么。 脸盲症越来越重的&#xff0c;怕是哪天连自己都不认得自己的了。 看到什么&#xff0c;听到什…...

【JAVA高级篇教学】第六篇:Springboot实现WebSocket

在 Spring Boot 中对接 WebSocket 是一个常见的场景&#xff0c;通常用于实现实时通信。以下是一个完整的 WebSocket 集成步骤&#xff0c;包括服务端和客户端的实现。本期做个简单的测试用例。 目录 一、WebSocket 简介 1. 什么是 WebSocket&#xff1f; 2. WebSocket 的特…...

Kotlin在医疗大健康域的应用实例探究与编程剖析(下)

四、Kotlin医疗编程实例分析 4.1 移动医疗应用实例 4.1.1 患者健康监测应用 在当今数字化医疗时代,患者健康监测应用为人们提供了便捷的健康管理方式。利用Kotlin开发的患者健康监测应用,能够实时采集患者的各类生理数据,如心率、血压、血氧饱和度等,并通过直观的可视化…...

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(3):配置备用数据库

Oracle Dataguard&#xff08;主库为 Oracle 11g 单节点&#xff09;配置详解&#xff08;3&#xff09;&#xff1a;配置备用数据库 目录 Oracle Dataguard&#xff08;主库为 Oracle 11g 单节点&#xff09;配置详解&#xff08;3&#xff09;&#xff1a;配置备用数据库一、…...

LeetCode算法题——移除元素

题目描述 给你一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&#xff1…...

七大设计原则之开闭原则

目录 一、什么是开闭原则&#xff1f; 二、如何做到开闭原则&#xff1f; 1、面向接口或抽象类编程 2、依赖注入 3、单一职责原则 三、是不是为了满足开闭原则就要一味的追求代码的扩展性&#xff1f; 一、什么是开闭原则&#xff1f; 相信很多人都听说过这个原则&#x…...

【stm32+K210项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(完整工程资料源码)

视频效果演示&#xff1a; 基于K210与STM32协同工作的智能垃圾分类系统设计与实现 目录&#xff1a; 目录 视频效果演示&#xff1a; 目录&#xff1a; 项目简介&#xff1a; 一、设计目的&#xff1a; 1.1 项目背景 1.2 设计意义&#xff1a; 二、硬件部分&#xff1a; 2.1 st…...

Ps:创建数据驱动的图像

在设计实践中&#xff0c;常常需要处理大量内容变化但设计格式统一的任务&#xff0c;例如批量生成名片、工作证、学生证、胸牌、奖状或证书甚至图册。这些工作如果逐一手动制作&#xff0c;不仅耗时费力&#xff0c;还容易出错。 为解决这一问题&#xff0c;Photoshop 提供了强…...

git的全通路线介绍

一、关系 1.git是代码版本管理工具&#xff0c;即可将项目切换到任意版本。 2.github与gitee是基于git技术构建的远程仓库网站。github是国外建立的&#xff0c;资源更丰富&#xff1b;gitee是国内建立的&#xff0c;免费功能更多。 3.gitlab与github类似&#xff0c;只不过…...

R1-3学习打卡

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 RNN心脏病识别 导入数据数据预处理标准化模型训练模型评估个人总结 import tensorflow as tfgpus tf.config.list_physical_devices("GPU")…...

Vue.js组件开发-实现无感刷新Token

在Vue.js应用中&#xff0c;实现无感刷新Token涉及到在用户的会话Token即将过期或已经过期时自动获取新的Token&#xff0c;而不影响用户的操作体验。需要通过拦截器&#xff08;interceptors&#xff09;来处理API请求&#xff0c;并在检测到Token过期或无效时自动进行刷新。 …...

可编辑31页PPT | 大数据湖仓一体解决方案

荐言分享&#xff1a;在当今数字化时代&#xff0c;大数据已成为企业决策和业务优化的关键驱动力。然而&#xff0c;传统的数据处理架构&#xff0c;如数据仓库和数据湖&#xff0c;各自存在局限性&#xff0c;难以满足企业对数据高效存储、灵活处理及实时分析的综合需求。因此…...

如何实现一个充满科技感的官网(二)

背景 在上一篇文章 《如何实现一个充满科技感的官网&#xff08;一&#xff09;》 中&#xff0c;我们初步了解了该官网的整体设计&#xff0c;并与大家探讨了它的视觉呈现和用户体验。 我们前期的内部设计偏向简洁&#xff0c;所以开始思考如何提升网站的整体设计感。这些尝…...

深度学习算法:从基础到实践

简介 深度学习作为人工智能领域的一个重要分支&#xff0c;近年来在多个领域取得了显著的成就。本文将从基础概念出发&#xff0c;探讨深度学习算法的核心原理&#xff0c;并介绍一些实际应用案例。 深度学习算法的核心概念 深度学习算法基于人工神经网络&#xff0c;通过构…...

等价和划分

例子&#xff1a;学生分组 假设我们有一个班级&#xff0c;班级里有10名学生&#xff0c;我们想要根据他们的年龄来分组。我们可以定义一个关系 ( R ) 在学生集合 ( A ) 上&#xff0c;其中 ( A {s_1, s_2, …, s_{10}} )&#xff0c;并且 ( s_i ) 和 ( s_j ) 之间有关系 ( R…...

电商项目-数据同步解决方案(三)商品上架同步更新ES索引库

一、 需求分析和业务逻辑 主要应用技术有&#xff1a;Feign远程调用&#xff0c; 消息队列-RabbitMQ &#xff0c;分布式搜索引擎-ElasticSearch&#xff0c;Eureka&#xff0c;Canal 商品上架将商品的sku列表导入或者更新索引库。 数据监控微服务需要定义canal监听器&#x…...

MySQL数据库笔记——多版本并发控制MVCC

大家好&#xff0c;这里是Good Note&#xff0c;关注 公主号&#xff1a;Goodnote&#xff0c;本文详细介绍MySQL的并发控制&#xff1a;多版本并发控制MVCC。 文章目录 背景介绍数据库并发控制——锁机制悲观锁和乐观锁悲观锁乐观锁 数据库并发控制——MVCC 的引入MVCC 和锁机…...

【LLM综述】29种大模型Prompt Engineering技术

note 从零样本&#xff08;Zero-shot&#xff09;提示到最新进展的各种提示技术&#xff0c;包括推理和逻辑链&#xff08;Chain-of-Thought, CoT&#xff09;提示、自动链式思考&#xff08;Auto-CoT&#xff09;提示、自我一致性&#xff08;Self-Consistency&#xff09;提…...

MySQL高级关联查询与复杂关系的处理

在关系型数据库的操作中,复杂关联查询和多层次关系建模是非常重要的技能。无论是在数据分析、业务数据处理,还是在数据可视化等各个方面,处理多表数据关联都是不可或缺的部分。通过高效的关联查询,可以在不同表之间建立关系,查询并整合多张表的数据,避免数据冗余并提升查…...

URL Moniker API

1. urlmon 介绍 urlmon 是指 URL Moniker API&#xff0c;它是 Microsoft Windows 操作系统中的一部分&#xff0c;通常用于处理 URL 和相关的任务。urlmon.dll 是其动态链接库&#xff0c;提供了一系列函数和接口&#xff0c;主要用于以下目的&#xff1a; URL 分析和处理&a…...

单元测试3.0+ @RunWith(JMockit.class)+mock+Expectations

Jmockit使用笔记_基本功能使用Tested_Injectable_Mocked_Expectations_jmockit.class-CSDN博客 测试框架Jmockit集合junit使用 RunWith(JMockit.class) 写在测试案例类上的注解 Tested 在测试案例中,写在我们要测试的类上面, 一般用实现类 Injectable 在测试案例中声明…...

halcon中图像滤波分为空间域和频域两种方法

均值滤波是一种线性平滑滤波。基本思想是用某像素邻域几个像素的平均值代替此像素原来的灰度值。 高斯滤波是用某像素邻域几个像素的加权平均值代替此像素的原有灰度值。 总结&#xff1a;图像滤波分为空间域和频域两种方法。 空间域滤波主要是对像素的直接处理&#xff0c;它将…...

maxminddb地理信息库–C语言

原文地址&#xff1a;maxminddb地理信息库–C语言 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 maxminddb 是一个 IP 的地理信息库&#xff0c;可以根据 IP 地址给出对应的地理位置信息。 下载离线库 maxminddb提供在线查询&#xff0c;也…...

Keil中的gcc

文章目录 一、IDE背后的命令1.1 IDE是什么1.2 IDE的背后是命令1.3 有两套主要的编译器 二、准备工作2.1 arm-linux-gcc和gcc是类似的2.2 Code::Blocks2.2.1 设置windows环境变量2.2.2 命令行示例 三、gcc编译过程详解3.1 程序编译4步骤3.2 gcc的使用方法3.2.1 gcc使用示例3.2.2…...

【Java数据结构】栈和队列相关算法

第一题&#xff1a;改变元素的序列 例1&#xff1a;若进栈序列为1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;进栈过程中可以出栈&#xff0c;则下列不可能一个出栈序列&#xff08;&#xff09;&#xff1b; A&#xff1a;1&#xff0c;4&#xff0c;3&#xff0c…...