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

面试中自己挖的一些坑

一些面试的细节深度持续更新。。。

  • 1. 这里有4题,单独写成了博客
  • 2. 经典的八股文之一 (ArrayList扩容原理)
    • 1.博主的回答
    • 2.面试官问的一些细节
  • 3.经典的八股文之一 (HashMap扩容原理)
    • 1.博主的回答
    • 2.面试官问的一些细节
  • 4.SpringBoot的启动原理
    • 1. 博主回答
    • 2. 面试官问的一些细节

1. 博主刚入行时主流版本是1.8
2. 这里又被面试官给虐了一次,说1.8版本不专业,应该说是major52版本

1. 这里有4题,单独写成了博客

这里有针对数组和链表的进一步拓展: 又是被虐的一次面试

2. 经典的八股文之一 (ArrayList扩容原理)

1.博主的回答

  1. ArrayList 是一个数组结构的存储容器,默认情况下,数组的长度是 10. 当然我们也可以在构建 ArrayList 对象的时候自己指定初始长度
  2. 随着在程序里面不断地往 ArrayList 中添加数据,当添加的数据达到 10 个的时候,
    ArrayList 就没有多余容量可以存储后续的数据
  3. 这个时候 ArrayList 会自动触发扩容
  4. 首先,创建一个新的数组,这个新数组的长度是原来数组长度的 1.5 倍
  5. 然后使用 Arrays.copyOf 方法把老数组里面的数据拷贝到新的数组里面##
    扩容完成后再把当前要添加的元素加入新的数组里面,从而完成动态扩容的过程
  6. ArrayList最大可以扩容为,若最后一次扩容比Integer. MAX_VALUE大则为Integer. MAX_VALUE,否则为Integer. MAX_VALUE - 8

2.面试官问的一些细节

细节1:ArrayList在构建时长度就时为0,添加第一个元素时才会扩容至10

源码追溯
在这里插入图片描述

  • 根据上述代码中的解释,new ArrayList()时,构造一个初始容量为10的空列表

细节2:ArrayList扩容最大为内存的没有 Integer. MAX_VALUE - 8 的操作

源码追溯

  • jdk1.8中有Integer. MAX_VALUE - 8

在这里插入图片描述

  • jdk11中也有Integer. MAX_VALUE - 8
    在这里插入图片描述
  • jdk17中确实没有Integer. MAX_VALUE - 8
    在这里插入图片描述
  • 从jdk的发布时间来看,可能博主刚入行java时,这位面试官就参与了jdk的编写

3.经典的八股文之一 (HashMap扩容原理)

1.博主的回答

  • 初始化过程
    • 数组初始化:HashMap 的底层是一个数组,默认情况下,数组的初始大小为 16
    • 负载因子:负载因子默认为 0.75,用于控制何时触发扩容
    • 阈值计算:阈值= 容量 × 负载因子,默认为 16 × 0.75 = 12
  • 添加一个元素,调用 put(key, value) 方法时,HashMap 会执行以下步骤:
    • 计算哈希值:HashMap 使用 hash(key) 方法计算键的哈希值
    • 定位数组索引:根据哈希值和当前数组长度,计算出该键值对应该存储的数组索引
    • 空桶:如果该索引位置为空,直接将键值对存储为一个链表节点
    • 冲突处理:如果该索引位置已经有元素(链表或红黑树),则需要进一步处理冲突
      • 链表:将新节点插入链表尾部
      • 红黑树:如果该索引位置是红黑树,按照红黑树的插入规则插入节点
  • 更新 size:键值对数量加一
    • 检查阈值:如果 size 达到阈值(默认 12),触发扩容
    • 当链表长度超过阈值(默认为 8)时,链表会被转换为红黑树
  • 触发扩容
    • 触发条件:当前键值对数量达到阈值
    • 计算新容量:新容量通常是当前容量的2倍

2.面试官问的一些细节

  • 面试官的反应:又是背的八股文。。。。。。。。。。

细节1:链表长度为8并且数组长度为64时,是先扩容还是先转红黑树

源码追溯

  • putVal() 方法:在插入新节点时,若链表长度达到阈值,会调用 treeifyBin()
    在这里插入图片描述
  • treeifyBin() 方法:在 treeifyBin() 中,检查数组长度是否足够
    在这里插入图片描述
  • 结论
    • 当链表长度 = 8 且数组长度 = 64
      • 满足 binCount >= 7(链表长度为 8)且 n >= 64
      • 直接执行 treeify(tab),将链表转为红黑树
    • 当链表长度 = 8 但数组长度 < 64
      • 优先调用 resize() 扩容,而不是转树

细节2:扩容和红黑树转换,哪个对性能影响更大?

  • 扩容对性能的影响

    • 扩容操作发生在 HashMap 的键值对数量超过当前容量与负载因子的乘积时。扩容的主要步骤包括:
      • 创建一个容量为当前容量两倍的新数组
      • 遍历原数组中的所有元素,并重新计算它们在新数组中的位置
      • 更新 HashMap 的底层数组和其他相关属性
    • 扩容操作的时间复杂度为 O(n),其中 n 是 HashMap 中的元素数量。这意味着扩容会导致 HashMap 在短时间内性能下降,尤其是在数据量较大时。扩容的目的是通过增加容量来减少哈希冲突,从而提高后续操作的效率
  • 红黑树转换对性能的影响

    • 红黑树转换发生在某个桶的链表长度超过 8 且数组长度大于等于 64 时。转换过程包括:
      • 遍历链表,将链表节点转换为红黑树节点。
      • 构建红黑树结构
    • 红黑树转换的时间复杂度为 O(n),其中 n 是链表的长度。虽然红黑树转换只作用于单个链表,但它可以显著提高该链表的查询效率,将最坏情况下的时间复杂度从 O(n) 降低到 O(log n)。这种优化对于处理大量数据或哈希冲突较多的场景非常有效
  • 性能影响对比

    • 扩容:对整个 HashMap 的性能影响较大,尤其是在数据量较大时。扩容操作需要重新计算所有元素的位置,可能导致短暂的性能下降
    • 红黑树转换:对单个桶的性能影响较大,但不会影响整个 HashMap 的性能。它主要用于优化冲突较多的链表,提升查询效率

4.SpringBoot的启动原理

1. 博主回答

核心注解:@SpringBootApplication

  • 自动配置:@EnableAutoConfiguration 会根据类路径中的依赖自动配置 Spring 应用。Spring Boot 提供了大量的自动配置类(如 DataSourceAutoConfiguration、WebMvcAutoConfiguration 等),这些配置类会根据条件(如依赖存在、Bean 未定义等)自动生效

    • 启动依赖组件的时候,组件中必须包含 @Configuration 的配置类,在这个配置类里面声明为 @Bean 注解,就将方法的返回值或者属性值 注入 IoC 容器中
    • 如果是使用第三方 jar 包,Spring Boot 采用 SPI 机制,只需要在/META-INF/目录下增加spring.factories 配置文件。然后,Spring Boot 会根据约定规则,自动使用 SpringFactoriesLoader来加载配置文件中的内容
    • Spring 获取到第三方 jar 中的配置以后,会使用调用 ImportSelector 接口来完成动态加载
  • 组件扫描:@ComponentScan 会扫描指定包路径下的注解,并将这些类注册为 Spring 的 Bean。默认情况下,它会扫描 @SpringBootApplication 所在包及其子包

  • 配置类:@SpringBootConfiguration 标记当前类为 Spring Boot 的主配置类,它本身是一个 @Configuration 注解

2. 面试官问的一些细节

实际上面试官想听到的是3次过滤,而不是上面加载spring.factories文件

查看源码:
在这里插入图片描述

  • 第一次过滤:基于 @Conditional 注解自动配置类通常带有 @Conditional 注解(如 @ConditionalOnClass、@ConditionalOnMissingBean 等),Spring Boot 会根据这些条件注解决定是否加载某个配置类
  • 第二次过滤:LinkedHashSet
  • 第三次过滤:@SpringBootApplication(exclude = {})

相关文章:

面试中自己挖的一些坑

一些面试的细节深度持续更新。。。 1. 这里有4题&#xff0c;单独写成了博客2. 经典的八股文之一 (ArrayList扩容原理)1.博主的回答2.面试官问的一些细节 3.经典的八股文之一 (HashMap扩容原理)1.博主的回答2.面试官问的一些细节 4.SpringBoot的启动原理1. 博主回答2. 面试官问…...

二、环 Ring

文章目录 一、环的定义二、环的分类与变种1、交换环2、含单位元的环3、零环4、非交换环5、整环6、域 三、环的性质与应用四、环与群和域的对比 一、环的定义 一个集合 R 被称为一个环&#xff0c;如果它满足以下条件&#xff1a; 对于 加法 满足&#xff1a; 闭合性&#xff1…...

Python图像处理入门:如何打开图像文件及常见格式

神经网络中的图像处理是一个非常重要的环节&#xff0c;尤其是在计算机视觉领域。作为一名新手&#xff0c;你可能会遇到一个常见的挑战——如何在 Python 中打开并理解图像文件。在本篇文章中&#xff0c;我们将介绍几种常见的图像文件格式&#xff0c;并讲解如何使用 Python …...

银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法

银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法 一 系统环境二 使用场景三 操作步骤 一 系统环境 [rootlocalhost ~]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server…...

网络运维学习笔记 018 HCIA-Datacom综合实验02

文章目录 综合实验2sw3&#xff1a;sw4&#xff1a;gw&#xff1a;core1&#xff08;sw1&#xff09;&#xff1a;core2&#xff08;sw2&#xff09;&#xff1a;ISP 综合实验2 sw3&#xff1a; vlan 2 stp mode stp int e0/0/1 port link-type trunk port trunk allow-pass v…...

深度学习进阶:构建多层神经网络

在上一篇文章中&#xff0c;我们从零开始构建了一个简单的两层神经网络&#xff0c;并通过异或问题&#xff08;XOR&#xff09;展示了神经网络的强大能力。今天&#xff0c;我们将进一步深入&#xff0c;构建一个更复杂的多层神经网络&#xff0c;并引入更多高级概念&#xff…...

高斯消元法

前置数学知识 n元线性方程是具有如下形式的方程&#xff1a; a 1 x 1 a 2 x 2 a 3 x 3 … a n x n b a_1x_1a_2x_2a_3x_3…a_nx_n b a1​x1​a2​x2​a3​x3​…an​xn​b 其中&#xff0c; a 1 , a 2 , . . . a_1,a_2,... a1​,a2​,...以及常数项 b b b均为已知的实数…...

ubuntu 安全策略(等保)

windows 三个帐号屏保设置组策略,密码超时次数/审计记录&#xff1b; linux 应具有登录失败处理功能&#xff0c;应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。 1、在系统中新建测试用户&#xff0c;使用此用户登录时多次输入错误密码&…...

计算机毕业设计SpringBoot+Vue.js购物推荐系统网站(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

QT线程同步

文章目录 前言1. 使用互斥锁&#xff08;QMutex&#xff09;2.使用QMutexLocker便利类3. 使用读写锁&#xff08;QReadWriteLock&#xff09;4.QReadLocker便利类和QWriteLocker便利类对QReadWriteLock进行加解锁5. 使用信号量&#xff08;QSemaphore&#xff09;6. 使用条件变…...

何为第一二三产业?

第一、第二、第三产业的分类是经济学中对经济活动的划分方式&#xff0c;起源于20世纪30年代经济学家费希尔和克拉克的理论。以下是具体说明&#xff1a; 第一产业&#xff08;Primary Sector&#xff09; 定义&#xff1a;直接利用自然资源进行生产活动的行业。 核心领域&…...

Spring 面试题

Autowired和Resource两个注解的区别 Autowired&#xff1a; 是Spring框架的注解&#xff0c;用于依赖注入。 默认按照类型&#xff08;byType&#xff09;注入&#xff0c;如果存在多个相同类型的Bean&#xff0c;则会报错。 可以通过Qualifier指定具体的Bean名称。 如果没有匹…...

Linux设备驱动开发-SPI驱动开发详解(包含设备树处理详细过程)

基础知识及 SPI 相关结构体介绍 引脚&#xff1a;MISO&#xff08;master 输入&#xff0c;slave 输出&#xff09;&#xff0c;MOSI&#xff08;master 输出&#xff0c;slave 输入&#xff09;&#xff0c;片选引脚&#xff0c;SCK&#xff08;时钟&#xff09; 控制寄存器&…...

物联网平台建设方案一

系统概述 构建物联网全域支撑服务能力&#xff0c;为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础&#xff0c;为打造智能化提供坚实后台基石。 物联网平台向下接入各种传感器、终端和网关&#xff0c;向上通过开放的实施分…...

java23种设计模式-桥接模式

桥接模式&#xff08;Bridge Pattern&#xff09;学习笔记 &#x1f31f; 定义 桥接模式属于结构型设计模式&#xff0c;将抽象部分与实现部分分离&#xff0c;使它们可以独立变化。通过组合代替继承的方式&#xff0c;解决多维度的扩展问题&#xff0c;防止类爆炸。 &#x…...

springboot实现文件上传到华为云的obs

一、前言 有时在项目中需要使用一些存储系统来存储文件&#xff0c;那么当项目要接入obs作为存储系统时&#xff0c;就会利用obs来进行文件的上传下载&#xff0c;具体实现如下。 二、如何通过obs实现文件的上传下载&#xff1f; 1.添加相关的obs的maven依赖。 <dependency…...

【红队利器】单文件一键结束火绒6.0

关于我们 4SecNet 团队专注于网络安全攻防研究&#xff0c;目前团队成员分布在国内多家顶级安全厂商的核心部门&#xff0c;包括安全研究领域、攻防实验室等&#xff0c;汇聚了行业内的顶尖技术力量。团队在病毒木马逆向分析、APT 追踪、破解技术、漏洞分析、红队工具开发等多个…...

DeepSeek 助力 Vue 开发:打造丝滑的滚动动画(Scroll Animations)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

Compose 动画,让页面动起来

Compose 动画&#xff0c;让页面动起来 概述高级别动画APIAnimatedVisibilityMutableTransitionStateModifier.animateEnterExit自定义Enter/Exit动画 AnimatedContentContentTransform自定义动画SizeTranstion定义大小动画定义子元素动画自定义Enter/Exit动画 CrossfadeModifi…...

Windows CMD 命令大全(Complete List of Windows CMD Commands)

Windows CMD 命令大全&#xff1a; Windows CMD 是 Windows 系统内置的命令行工具&#xff0c;用于执行各种命令和管理任务。 称为Command Prompt。它提供了一个通过键入命令来与计算机系统进行交互的方式&#xff0c;类似于早期的DOS操作系统。以下是 CMD 的基础知识和常用命…...

DeepSeek在MATLAB上的部署与应用

在科技飞速发展的当下&#xff0c;人工智能与编程语言的融合不断拓展着创新边界。DeepSeek作为一款备受瞩目的大语言模型&#xff0c;其在自然语言处理领域展现出强大的能力。而MATLAB&#xff0c;作为科学计算和工程领域广泛应用的专业软件&#xff0c;拥有丰富的工具包和高效…...

IP代理在网络数据挖掘中的关键作用(AI大模型数据采集版)

在当今人工智能飞速发展的时代&#xff0c;AI大模型的训练需要海量且多样化的数据。然而&#xff0c;在数据采集过程中&#xff0c;常常面临诸多挑战&#xff0c;而IP代理在其中发挥着至关重要的作用。 数据采集的多样性是影响AI大模型性能的关键因素。如果数据来源单一&#x…...

pandas数据的导出

数据导出 将数据导出到CSV文件 数据对象.to_csv(filepath,sep"",indexFalse,encoding)参数1:文件的路径参数2:分隔符&#xff0c;默认是 ,参数3:是否保留索引 默认 Ture参数4:文件编码代码 &#xff1a; # 将数据导出到CSV # 引用 pandas import pandas as pd # 定…...

Claude-3.7-Sonnet:Cursor 的新引擎,解锁编码与推理的未来

引言 claude-3.7-sonnet 是 Anthropic 最新发布的大型语言模型&#xff0c;于 2025 年 2 月 24 日推出&#xff0c;并已集成到 Cursor AI 平台中。Cursor 是一个 AI 驱动的集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在通过 AI 增强开发者的生产力。claude-3.7-so…...

JavaScript函数-函数的两种声明方式

在JavaScript中&#xff0c;函数是构建复杂逻辑和实现代码重用的基本单元。了解如何正确地定义和使用函数对于任何JavaScript开发者来说都是至关重要的。本文将详细介绍JavaScript函数的两种主要声明方式&#xff1a;函数声明&#xff08;Function Declaration&#xff09;和函…...

微服务即时通信系统---(六)语音识别子服务

目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程思想 服务代码实现 编写proto文件 服务端创建子类(SpeechRecognitionServiceImpl)完成RPC服务调用函数重写 SpeechRecognize(语音识别) 服务端完成语音识别子服务类(SpeechRecognitionServer) 注意 …...

【Java 8】Lambda表达式介绍

目录 1、Lambda简介 2、语法介绍 3、Lambda表达式示例 3.1、无参数的 Lambda 表达式 3.2、单个参数的 Lambda 表达式 3.3、多个参数的 Lambda 表达式 3.4、带语句块的 Lambda 表达式 4、Lambda使用场景 4.1、替代匿名内部类 4.2、集合操作 4.3、排序 4.4、函数式接口…...

2011-2019年各省电视节目综合人口覆盖率数据

2011-2019年各省电视节目综合人口覆盖率数据 1、时间&#xff1a;2011-2019年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区、年份、电视节目综合人口覆盖率(%) 4、范围&#xff1a;31省 5、指标解释&#xff1a;电视节目综合人口覆盖…...

便捷高效的免费 PDF 文件处理帮手

​软件介绍 今天要给大家推荐一款超实用的 PDF 工具箱。它的优势十分突出&#xff0c;完全免费且没有任何使用限制。 安装起来毫不费力&#xff0c;下载完成后&#xff0c;直接打开就能使用。软件界面简洁大方&#xff0c;操作便捷顺手。其核心功能涵盖三大板块&#xff1a;一…...

DeepSeek引领目标检测新趋势:如何通过知识蒸馏优化模型性能

目录 一、知识蒸馏是什么&#xff1f; 二、知识蒸馏在目标检测中的重要性 提升实时性 跨任务迁移学习 三、如何使用知识蒸馏优化目标检测&#xff1f; 训练教师模型 生成软标签 训练学生模型 调节温度参数 多教师蒸馏&#xff08;可选&#xff09; 四、案例分享 定…...

“深入解析 SQL Server 子查询:从基础到应用”

目录 引言什么是子查询&#xff1f; 子查询的定义子查询的类型 子查询的使用 标量子查询多行子查询多列子查询相关子查询 子查询的性能优化子查询的实际案例总结 引言 在 SQL Server 中&#xff0c;子查询是一种强大的工具&#xff0c;允许我们在一个查询中嵌套另一个查询&am…...

375_C++_cloud手机推送,添加人脸告警信息到任务队列中,UploadAlarmPush是典型的工厂模式应用,为什么使用工厂模式完成这部分代码

一:AlarmFaceInfo的应用 让我帮你解析这个lambda表达式的实现: // ...................... .h ...........................// struct RsMsgPushTask_S : public Task{AlarmType_E mainAlarmType;unsigned int subAlarmType;DateTime alarmTime...

Vue进阶之AI智能助手项目(二)——项目评审与架构设计

AI智能助手项目 基于Vue的最佳实践main.tsApp.vue主应用给子应用下发功能语言language,theme设置及appStore状态管理状态管理router路由index.tspermission.ts基于Vue的最佳实践 src目录概览 api 接口,基于接口可以做 状态处理,interceptorassets/public 静态资源component…...

LambdaQueryWrapper在Mybatis-plus中的应用

LambdaQueryWrapper 是 MyBatis-Plus 中非常强大的工具&#xff0c;用于构建类型安全的查询条件。它利用 Java 的 Lambda 表达式&#xff0c;使得查询条件的编写更加简洁和直观。 public R getAppArticleCategoryPage(ParameterObject Page page,ParameterObject AppArticleCa…...

DeepSeek AI人工智能该如何学习?

人工智能&#xff08;Artificial Intelligence, AI&#xff09;是当今科技领域的热门话题&#xff0c;它涵盖了机器学习、深度学习、自然语言处理、计算机视觉等多个子领域。 作为中国科技发展的核心方向之一&#xff0c;AI在国家战略规划中占据了重要地位&#xff0c;特别是在…...

element ui的select选择框

我们首先先试一下&#xff0c;这个东西怎么玩的 <el-select v-model"select" change"changeSelect"><el-option value"香蕉"></el-option><el-option value"菠萝"></el-option><el-option value&quo…...

解决Value of type ‘AVCodecContext‘ has no member ‘channels‘ 的问题

在 FFmpeg 7.1 中,AVCodecContext 的 channels 和 channel_layout 字段已经被移除,取而代之的是 AVChannelLayout 结构。因此,代码需要进行调整以适应新的 API。 以下是如何正确设置 AVCodecContext 和 AVCodecParameters 的方法。 1. 问题分析 在 FFmpeg 7.1 中: AVCode…...

【STM32H743IIT6】STM32H7的ADC时钟频率设置问题 —— 网上大多文章未注意到的要点!

前言 我使用的是定时器触发ADC采样。最近在想达到ADC的最高采样率的时候&#xff0c;发现一直却卡在1Msps上不去&#xff0c;直到在硬汉嵌入式的论坛里才发现了答案&#xff1a;[ADC] STM32H743/H750的Y版和V版芯片ADC的主频区别 这篇文章就详细的讲一下这个问题&#xff0c;这…...

GGUF 文件格式全解析

在机器学习领域&#xff0c;模型的存储和部署一直是关键环节。随着大语言模型 (LLM) 的广泛应用&#xff0c;如何高效地存储和加载这些复杂的模型成为一个亟待解决的问题。GGUF&#xff08;GGML Universal Format&#xff09;作为一种新兴的二进制文件格式&#xff0c;旨在解决…...

剑指offer - 面试题11 旋转数组的最小数字

题目链接&#xff1a;旋转数组的最小数字 第一种&#xff1a;正确写法&#xff08;num[m]和nums[r]比较&#xff09; class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param nums int整型v…...

JNA基础使用,调用C++返回结构体

C端 test.h文件 #pragma oncestruct RespInfo {char* path;char* content;int statusCode; };extern "C" { DLL_EXPORT void readInfo(char* path, RespInfo* respInfo); }test.cpp文件 #include "test.h"void readInfo(char* path, RespInfo* respInfo…...

Typora的Github主题美化

[!note] Typora的Github主题进行一些自己喜欢的修改&#xff0c;主要包括&#xff1a;字体、代码块、表格样式 美化前&#xff1a; 美化后&#xff1a; 一、字体更换 之前便看上了「中文网字计划」的「朱雀仿宋」字体&#xff0c;于是一直想更换字体&#xff0c;奈何自己拖延症…...

计算机网络模型-TCP/IP协议簇

目录 1. OSI 参考模型 2. TCP/IP 5层协议簇 3. 数据传输过程 4. OSI模型vsTCP/IP模型 5. 工作设备和协议 1. OSI 参考模型 OSI 参考模型 OSI 参考模型 7层参考协议&#xff1a;同层使用相同协议&#xff0c;下层为上层提供服务 再往每一层填网络协议的时候&#xff0c;表…...

ros进阶——强化学习倒立摆的PG算法实现

项目地址&#xff1a;https://github.com/chan-yuu/cartpole_ws git clone https://github.com/chan-yuu/cartpole_ws依赖安装&#xff1a; xterm等 python3.8 torch等上一节中我们定义了很多ros工具&#xff0c;在这里我们将进行验证。 对于launch_robot_test.py来说&#x…...

BUU41 [GYCTF2020]FlaskApp1【SSTI】

题目&#xff1a; 加密处没啥事&#xff0c;但是解密的地方提交{{7*7}}就会返回报错界面&#xff0c;顺便把代码也爆出来了 text_decode base64.b64decode(text.encode()) 先将字符串 text编码为字节对象&#xff0c;然后使用 base64.b64decode 函数对这个字节对象进行 Base…...

pandas读取数据

pandas读取数据 导入需要的包 import pandas as pd import numpy as np import warnings import oswarnings.filterwarnings(ignore)读取纯文本文件 pd.read_csv 使用默认的标题行、逗号分隔符 import pandas as pd fpath "./datas/ml-latest-small/ratings.csv" 使…...

React + TypeScript 全栈开发最佳实践

React TypeScript 全栈开发最佳实践 一、环境搭建与项目初始化 node.js和npm的安装请参考我的文章。 1.1 脚手架选择与工程创建 # 使用Vite 5.x创建ReactTS项目&#xff08;2025年主流方案&#xff09; npx create-vitelatest my-app --template react-ts cd my-app npm in…...

RK3399 Android7双WiFi功能实现

在Android系统里面,WiFi功能STA和AP模式是互斥的,而现在越来越多的WiFi模组或者芯片能支持并发模式,即STA+P2P、STA+STA或者STA+AP模式组合。不管是单WiFi并发,还是双WiFi模组,想让STA和AP两个模式同时运行,对于Android7来说,是需要修改到系统源码,才能让APP层用Androi…...

前端包管理工具进化论:npm vs yarn vs pnpm 深度对比

前端包管理工具进化论&#xff1a;npm vs yarn vs pnpm 深度对比 一、工具定位与核心差异二、功能特性对比三、优缺点深度解析四、性能实测对比&#xff08;示例数据&#xff09;五、选型建议六、未来趋势 一、工具定位与核心差异 npm (Node Package Manager) Node.js 官方捆绑…...

绕过information_schema与order by注入以及seacsmv9注入

一:information_schema绕过 1,、sys数据库包含了许多视图&#xff0c;这些视图整合了来自information_schema和performance_schema的数据&#xff0c;攻击者可以利用这些视图来获取数据库结构信息。 -- 获取所有数据库名 SELECT DISTINCT table_schema FROM sys.schema_table_…...