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

库洛游戏一面+二面

目录

一面

1. ArrayList和LinkedList的区别,就是我在插入和删除的时候他们在时间复杂度上有什么区别

2. hashmap在java的底层是怎么实现的

3. 红黑树的实现原理

4. 红黑树的特点

5. 为什么红黑树比链表查询速度快

6. 在java中字符串的操作方式有几种

7. StringBuffer是怎么保证线程安全性的

8. Java字符串的常量池

9. volitite这个关键字有了解过吗

10. 假设现在有两个线程,一个线程把这个值改成false,另一个线程是立刻可见的吗

11. 具体Java内存模型怎么指定的另一个线程对一个线程修改的值何时可见,如何可见的

12. hashmap的时间查找复杂度是多少

13. Java的内存管理和回收有了解过吗

14. 我设置了一个代码块或变量我怎么做可以让这个强制不会被系统回收

15. 对象如何从新生代到老年代的

16. 你对快排有了解过吗?比如如何排序的,流程

17. redis实现排行榜,底层如何实现的

18. 这个功能里面,里面的排序怎么实现的,就是把数据也就是score放进去,redis如何给你排序的,就是低层算法

19. 有没有了解过redis的缓存穿透和击穿

20. 介绍一下tcp和udp区别

21. http和tcp有啥关系

22. http本身有三次握手吗

23. udp是一个不可靠的,就是会丢包,但是我想要udp不丢包,可靠传输怎么处理

24. 那我怎么知道对方已经和我断开了连接了还是

25. 可以介绍一下虚拟内存是什么意思吗,就是操作系统里的虚拟内存

26. 我在程序里面六了一个对象,这个对象什么时候会变成虚拟内存

27. 何时去物理内存里

28. 介绍一下堆和栈的区别

29. 什么变量会在栈里面

30. 方法运行的时候是在堆里面还是栈里面

31. 一个对象会在堆里面还是栈里

32. 什么情况下会在栈里面

33. 怎么判断是临时使用的对象

34. 常见的,什么情况下会导致栈溢出,就是你使用什么方法,怎么做,可以导致栈溢出

35. 算法题,删除链表倒数第3个节点

36. 我想看linux下还剩下多少内存,我用啥命令

37. 你常用的,用过的命令有哪些,他们的作用是什么

38. 我要编辑文件用什么命令

39. Vim和vi的区别

二面


一面

1. ArrayList和LinkedList的区别,就是我在插入和删除的时候他们在时间复杂度上有什么区别

  • ArrayList:基于数组实现,在中间或开头插入和删除元素时,需要移动后续元素,时间复杂度为O(n);在尾部插入和删除元素,如果不涉及扩容,时间复杂度为O(1)。
  • LinkedList:基于双向链表实现,在任意位置插入和删除元素,只需要修改相邻节点的指针,时间复杂度为O(1);但如果要定位到指定位置进行插入或删除,需要从头或尾遍历链表,时间复杂度为O(n)。

2. hashmap在java的底层是怎么实现的

在 Java 中,HashMap底层是数组 + 链表 + 红黑树的结构。

  • 数组:也叫哈希桶,每个位置存储一个链表或红黑树的头节点。
  • 链表:当多个键的哈希值相同时,会以链表的形式存储在同一个哈希桶中。
  • 红黑树:当链表长度超过 8 且数组长度大于 64 时,链表会转换为红黑树,以提高查找效率。
  • 当红黑树的节点数量减少到 6 时,红黑树会转换回链表。

3. 红黑树的实现原理

红黑树是一种自平衡的二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色(红色或黑色)。通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。
插入和删除操作后,会通过旋转和变色操作来维持红黑树的平衡。

4. 红黑树的特点

  • 每个节点要么是红色,要么是黑色。
  • 根节点是黑色。
  • 每个叶子节点(NIL 节点,空节点)是黑色的。
  • 如果一个节点是红色的,则它的两个子节点都是黑色的。
  • 对每个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。

5. 为什么红黑树比链表查询速度快

链表的查询需要从头节点开始逐个遍历,时间复杂度为O(n)。而红黑树是一种二叉搜索树,它的查找操作类似于二分查找,时间复杂度为O(logn),因此在数据量较大时,红黑树的查询速度更快。

6. 在java中字符串的操作方式有几种

  • 使用StringString类是不可变的,每次对String对象进行操作都会创建一个新的String对象。
  • 使用StringBuilderStringBuilder是可变的,非线程安全,适合在单线程环境下进行字符串拼接等操作。
  • 使用StringBufferStringBuffer也是可变的,但它是线程安全的,适合在多线程环境下进行字符串操作。

7. StringBuffer是怎么保证线程安全性的

StringBuffer类的方法都使用了synchronized关键字进行修饰,这意味着在同一时间只能有一个线程访问这些方法,从而保证了线程安全。

8. Java字符串的常量池

Java 字符串常量池是一个特殊的内存区域,用于存储字符串常量。当创建一个字符串常量时,JVM 会先检查常量池中是否已经存在该字符串,如果存在则直接返回常量池中的引用,否则会在常量池中创建一个新的字符串对象。

9. volitite这个关键字有了解过吗

volatile关键字用于保证变量的可见性,即当一个变量被声明为volatile时,它会保证对该变量的写操作会立即刷新到主内存中,而读操作会从主内存中读取最新的值。

10. 假设现在有两个线程,一个线程把这个值改成false,另一个线程是立刻可见的吗

如果一个变量被声明为volatile,当一个线程把这个值改成false时,另一个线程会立刻可见。因为volatile关键字保证了变量的可见性,写操作会立即刷新到主内存,读操作会从主内存中读取最新的值。

11. 具体Java内存模型怎么指定的另一个线程对一个线程修改的值何时可见,如何可见的

Java 内存模型(JMM)通过happens-before原则来保证线程之间的可见性。如果一个操作happens-before另一个操作,那么第一个操作的结果对第二个操作是可见的。常见的happens-before规则包括:
 

  • 程序顺序规则:一个线程中的每个操作,happens-before该线程中的任意后续操作。
  • 监视器锁规则:对一个锁的解锁,happens-before随后对这个锁的加锁。
  • volatile变量规则:对一个volatile域的写,happens-before任意后续对这个volatile域的读。
  • 线程启动规则:Thread.start()方法happens-before此线程的每个一个动作。
  • 线程终止规则:线程中的任何操作都happens-before其他线程检测到这个线程已经终止。
  • 中断规则:一个线程调用另一个线程的interrupt()方法happens-before被中断线程的代码检测到中断事件的发生。
  • 对象终结规则:一个对象的初始化完成(构造函数执行结束)happens-before它的finalize()方法的开始。

12. hashmap的时间查找复杂度是多少

在理想情况下,HashMap的查找时间复杂度为O(1),因为可以通过哈希函数直接定位到对应的哈希桶。但在最坏情况下,即所有键的哈希值都相同,链表退化为线性结构,查找时间复杂度为O(n)。在使用红黑树优化后,最坏情况下的查找时间复杂度为O(log n)。

13. Java的内存管理和回收有了解过吗

Java 的内存管理主要由 JVM 负责,包括内存分配和内存回收。

  • 内存分配:对象通常在堆上分配,基本数据类型和对象引用可能在栈上分配。
  • 内存回收:JVM 使用垃圾回收器(GC)来自动回收不再使用的对象所占用的内存。常见的垃圾回收算法包括标记 - 清除算法、标记 - 整理算法、复制算法等。

14. 我设置了一个代码块或变量我怎么做可以让这个强制不会被系统回收

在 Java 中,无法强制让一个对象不被系统回收。但可以通过持有对象的强引用,避免对象被垃圾回收。例如,将对象存储在一个静态变量中,或者在一个长期存活的对象中持有该对象的引用。

15. 对象如何从新生代到老年代的

对象通常首先在新生代的 Eden 区分配内存。当 Eden 区满时,会触发 Minor GC,存活的对象会被移动到 Survivor 区。经过多次 Minor GC 后,仍然存活的对象会被移动到老年代。此外,如果对象的大小超过了新生代的阈值,也会直接在老年代分配内存。

16. 你对快排有了解过吗?比如如何排序的,流程

快速排序是一种分治算法,其基本流程如下:

  • 选择一个基准元素(pivot)。
  • 将数组分为两部分,使得左边部分的元素都小于等于基准元素,右边部分的元素都大于等于基准元素。
  • 递归地对左右两部分进行快速排序。

17. redis实现排行榜,底层如何实现的

Redis 使用有序集合(Sorted Set)来实现排行榜。有序集合中的每个成员都有一个分数(score),Redis 会根据分数对成员进行排序。
 

  • 底层数据结构:有序集合使用跳跃表(Skip List)和哈希表(Hash Table)实现。跳跃表用于实现按分数排序,哈希表用于快速查找成员。
  • 排序算法:Redis 使用跳跃表的插入和删除操作来维护有序集合的顺序,时间复杂度为\(O(log n)\)。

18. 这个功能里面,里面的排序怎么实现的,就是把数据也就是score放进去,redis如何给你排序的,就是低层算法

19. 有没有了解过redis的缓存穿透和击穿

  • 缓存穿透:指查询一个不存在的数据,由于缓存中没有该数据,会直接查询数据库,导致数据库压力过大。解决方法包括使用布隆过滤器、缓存空值等。
  • 缓存击穿:指某个热点数据在缓存中过期,此时大量请求同时访问该数据,会直接查询数据库,导致数据库压力过大。解决方法包括使用互斥锁、设置热点数据永不过期等。

20. 介绍一下tcp和udp区别

  • 连接性:TCP 是面向连接的,在传输数据之前需要建立连接;UDP 是无连接的,不需要建立连接。
  • 可靠性:TCP 提供可靠的数据传输,通过确认机制、重传机制等保证数据的完整性;UDP 不保证数据的可靠传输,可能会出现丢包、乱序等问题。
  • 传输效率:TCP 的传输效率相对较低,因为需要建立连接、维护状态等;UDP 的传输效率相对较高,因为不需要建立连接。
  • 应用场景:TCP 适用于对可靠性要求较高的场景,如文件传输、网页浏览等;UDP 适用于对实时性要求较高的场景,如视频直播、游戏等。

21. http和tcp有啥关系

HTTP 是应用层协议,TCP 是传输层协议。HTTP 协议基于 TCP 协议进行数据传输,HTTP 请求和响应通过 TCP 连接进行发送和接收。

22. http本身有三次握手吗

HTTP 本身没有三次握手,三次握手是 TCP 协议在建立连接时进行的操作。HTTP 请求和响应是在 TCP 连接建立之后进行的。

23. udp是一个不可靠的,就是会丢包,但是我想要udp不丢包,可靠传输怎么处理

可以通过在应用层实现一些机制来让 UDP 可靠传输,例如:

  • 确认机制:发送方发送数据后,等待接收方的确认信息,如果在一定时间内没有收到确认信息,则重传数据。
  • 序号机制:为每个数据包分配一个序号,接收方根据序号对数据包进行排序,确保数据的顺序性。
  • 超时重传机制:发送方设置一个超时时间,如果在超时时间内没有收到确认信息,则重传数据。

24. 那我怎么知道对方已经和我断开了连接了还是

在 TCP 连接中,可以通过以下方式判断对方是否断开连接:
 

  • 接收方收到 FIN 包:当对方关闭连接时,会发送一个 FIN 包,表示不再发送数据。
  • 心跳机制:定期发送心跳包,检查对方是否还在正常工作。如果在一定时间内没有收到对方的响应,则认为对方已经断开连接。

25. 可以介绍一下虚拟内存是什么意思吗,就是操作系统里的虚拟内存

虚拟内存是操作系统为每个进程提供的一种抽象的内存管理机制。它将进程的地址空间分为多个页面,每个页面可以映射到物理内存中的一个页框,也可以映射到磁盘上的交换空间。通过虚拟内存,操作系统可以让进程使用比物理内存更大的地址空间。

26. 我在程序里面六了一个对象,这个对象什么时候会变成虚拟内存

当物理内存不足时,操作系统会将一些不常用的页面交换到磁盘上的交换空间,这些页面对应的对象就变成了虚拟内存。当进程需要访问这些页面时,操作系统会将它们从磁盘上交换回物理内存。

27. 何时去物理内存里

当物理内存不足时,操作系统会将一些不常用的页面交换到磁盘上的交换空间,这些页面对应的对象就变成了虚拟内存。当进程需要访问这些页面时,操作系统会将它们从磁盘上交换回物理内存。

28. 介绍一下堆和栈的区别

  • 存储内容:堆主要用于存储对象和数组,栈主要用于存储局部变量、方法调用信息等。
  • 内存分配方式:堆的内存分配是动态的,由垃圾回收器负责回收;栈的内存分配是静态的,由编译器自动分配和释放。
  • 线程共享性:堆是所有线程共享的,栈是每个线程独立拥有的。

29. 什么变量会在栈里面

局部变量、方法参数、方法调用的上下文信息等会存储在栈中。

30. 方法运行的时候是在堆里面还是栈里面

方法的执行过程中,方法的局部变量、方法调用信息等会存储在栈中,而方法中创建的对象会存储在堆中。

31. 一个对象会在堆里面还是栈里

对象通常存储在堆中,但在某些情况下,对象可能会被分配到栈上,例如逃逸分析优化。

32. 什么情况下会在栈里面

当对象的作用域仅限于方法内部,并且不会逃逸到方法外部时,JVM 可能会对对象进行逃逸分析,如果发现对象不会逃逸,就可以将对象分配到栈上,这样可以减少垃圾回收的压力。

33. 怎么判断是临时使用的对象

临时使用的对象通常是指作用域仅限于某个方法内部,并且在方法执行结束后就不再使用的对象。可以通过对象的引用是否会逃逸到方法外部来判断对象是否是临时使用的。

34. 常见的,什么情况下会导致栈溢出,就是你使用什么方法,怎么做,可以导致栈溢出

栈溢出通常是由于方法调用的深度过深,导致栈空间不足。常见的导致栈溢出的情况包括:

  • 递归调用没有终止条件或终止条件不正确。
  • 方法调用链过长,例如在一个方法中不断调用其他方法。

35. 算法题,删除链表倒数第3个节点

使用了双指针

36. 我想看linux下还剩下多少内存,我用啥命令

free -h

37. 你常用的,用过的命令有哪些,他们的作用是什么

  • ls:列出目录中的文件和子目录。
  • cd:切换当前工作目录。
  • mkdir:创建新的目录。
  • rm:删除文件或目录。
  • cp:复制文件或目录。
  • mv:移动或重命名文件或目录。
  • cat:查看文件内容。
  • grep:在文件中查找指定的字符串。
  • ps:查看当前运行的进程。
  • top:实时监控系统的资源使用情况。

38. 我要编辑文件用什么命令

在 Linux 中,可以使用vimnano等命令来编辑文件。

39. Vim和vi的区别

Vimvi的增强版本,Vimvi的基础上增加了许多新的功能,例如语法高亮、代码折叠、多窗口编辑等。在大多数 Linux 系统中,vi实际上是vim的一个别名。

二面

深挖项目,应用场景,高并发,分布式

近日总结:目前来看,一周4个面试,挺不错的。 

相关文章:

库洛游戏一面+二面

目录 一面 1. ArrayList和LinkedList的区别,就是我在插入和删除的时候他们在时间复杂度上有什么区别 2. hashmap在java的底层是怎么实现的 3. 红黑树的实现原理 4. 红黑树的特点 5. 为什么红黑树比链表查询速度快 6. 在java中字符串的操作方式有几种 7. Stri…...

基于多模态深度学习的亚急性脊髓联合变性全流程预测与个性化管理技术方案

目录 技术方案文档1. 数据收集与预处理模块2. 多模态预测模型构建3. 术前风险评估系统4. 术中实时监测系统5. 术后并发症预测与护理6. 统计分析与验证模块7. 健康教育系统技术实现说明技术方案文档 1. 数据收集与预处理模块 功能:构建数据管道,清洗并整合多源数据 伪代码示…...

蓝桥杯日期的题型

做题思路 一般分为3个步骤,首先要定义一个结构体来存储月份的天数,第一循环日期,第二判断日期是否为闰年,第三就是题目求什么 结构体 static int[] ds{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 判断是否闰年的函数 public static void f(int m,int d){//被4整…...

【树形dp题解】dfs的巧妙应用

【树形dp题解】dfs的巧妙应用 [P2986 USACO10MAR] Great Cow Gathering G - 洛谷 题目大意: Bessie 正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会。当然,她会选择最方便的地点来举办这次集会。 每个奶牛居住在 N N …...

《AI大模型应知应会100篇》第20篇:大模型伦理准则与监管趋势

第20篇:大模型伦理准则与监管趋势 摘要 随着人工智能(AI)技术的飞速发展,尤其是大模型(如GPT、PaLM等)在自然语言处理、图像生成等领域的广泛应用,AI伦理问题和监管挑战日益凸显。本文将梳理当…...

线上教学平台(vue+springboot+ssm+mysql)含文档+PPT

线上教学平台(vuespringbootssmmysql)含文档PPT 该系统是一个在线教学平台,主要分为管理员和学员两个角色;管理员界面包含首页、交流中心、学员管理、资料类型管理、学习资料管理、交流论坛、我的收藏管理、留言板管理、考试管理…...

Being-0:具有视觉-语言模型和模块化技能的人形机器人智体

25年3月来自北大、北京智源和 BeingBeyond 的论文“Being-0: A Humanoid Robotic Agent with Vision-Language Models and Modular Skills”。 构建能够在现实世界具身任务中达到人类水平表现的自主机器人智体,是人形机器人研究的终极目标。近期,基于基…...

Fiddler 进行断点测试:调试网络请求

目录 一、什么是断点测试? 二、Fiddler 的断点功能 三、如何在 Fiddler 中设置断点? 步骤 1:启动 Fiddler 步骤 2:启用断点 步骤 3:捕获请求 步骤 4:修改请求或响应 四、案例:模拟登录失…...

决策树:ID3,C4.5,CART树总结

树模型总结 决策树部分重点关注分叉的指标,多叉还是单叉,处理离散还是连续值,剪枝方法,以及回归还是分类 一、决策树 ID3(Iterative Dichotomiser 3) 、C4.5、CART决策树 ID3:确定分类规则判别指标、寻找能够最快速降低信息熵的方…...

DDS信号发生器设计

一、基本概述 1.1 DDS简介 DDS信号发生器即直接数字频率合成(Direct Digital Frequency Synthesis,简称DDS)是一种利用数字技术生成信号的方法。它通过数字信号处理技术,将数字信号转换为模拟信号,从而生成高质量的正…...

23黑马产品经理Day01

今天过了一遍23黑马产品经理的基础视频 问题思考维度 抓住核心用户 为什么需要抓住核心用户? 主要原因:用户越来越细分,保持市场竞争力,产品开发推广更聚焦 做产品为什么要了解用户:了解用户的付费点,…...

18-21源码剖析——Mybatis整体架构设计、核心组件调用关系、源码环境搭建

学习视频资料来源:https://www.bilibili.com/video/BV1R14y1W7yS 文章目录 1. 架构设计2. 核心组件及调用关系3. 源码环境搭建3.1 测试类3.2 实体类3.3 核心配置文件3.4 映射配置文件3.5 遇到的问题 1. 架构设计 Mybatis整体架构分为4层: 接口层&#…...

东方潮流亮相广州益民艺术馆|朋克编码“艺术家潮玩”系列开幕引爆热潮

4月15日,由我的宇宙旗下公司朋克编码携“艺术家潮玩”系列亮相广州白云益民艺术馆,标志着其全国文化推广计划正式启航。本次展览围绕“潮玩艺术东方文化”展开,融合传统文化与当代潮流,以年轻化方式赋能中国文化出海。 展览现场潮…...

充电宝项目:规则引擎Drools学习

文章目录 规则引擎 Drools1 问题2 规则引擎概述2.1 规则引擎2.2 使用规则引擎的优势2.3 规则引擎应用场景2.4 Drools介绍 3 Drools入门案例3.1 创建springboot项目 引入依赖3.2 添加Drools配置类3.4 创建实体类Order3.5 orderScore.drl3.6 编写测试类 4 Drools基础语法4.1 规则…...

C++零基础实践教程 文件输入输出

模块八:文件输入输出 (数据持久化) 在之前的模块中,我们学习了如何使用程序处理数据。然而,当程序结束运行时,这些数据通常会丢失。数据持久化 (Data Persistence) 指的是将程序中的数据存储到非易失性存储介质(如硬盘…...

SpringAI+DeepSeek大模型应用开发——1 AI概述

AI领域常用词汇 LLM(LargeLanguage Model,大语言模型) 能理解和生成自然语言的巨型AI模型,通过海量文本训练。例子:GPT-4、Claude、DeepSeek、文心一言、通义干问。 G(Generative)生成式: 根据上…...

数据中台进化史:从概念萌芽到价值变现的蜕变之路

在数字化转型的浪潮中,数据中台已成为企业驾驭数据、驱动业务创新的关键力量。回顾数据中台的发展历程,犹如一场从混沌到有序、从萌芽到成熟的精彩蜕变,它由湖仓一体、数据治理平台、数据服务平台三大核心要素逐步构建而成,每一个…...

【Java学习笔记】运算符

运算符 运算符的类型 算数运算符 赋值运算符 关系运算符(比较哦啊运算符) 逻辑运算符 三元运算符 位运算符(需要二进制基础) 一、算数运算符 运算符计算范例结果正号77-负号b11; -b-11加法9918-减法10-82*乘法7*856/除法9…...

【python】OpenCV—Tracking(10.6)—People Counting

文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数6、参考来自 更多有趣的代码示例,可参考【Programming】 1、功能描述 借助 opencv-python,用 SSD 人形检测模型和质心跟踪方法实现对人群的计数 基于质心的跟踪可以参考 【pyt…...

JavaSE学习(前端初体验)

文章目录 前言一、准备环境二、创建站点(创建一个文件夹)三、将站点部署到编写器中四、VScode实用小设置五、案例展示 前言 首先了解前端三件套:HTML、CSS、JS HTML:超文本标记语言、框架层、描述数据的; CSS&#xf…...

智慧城市像一张无形大网,如何紧密连接你我他?

智慧城市作为复杂巨系统,其核心在于通过技术创新构建无缝连接的网络,使物理空间与数字空间深度融合。这张"无形大网"由物联网感知层、城市数据中台、人工智能中枢、数字服务入口和安全信任机制五大支柱编织而成,正在重塑城市运行规…...

Linux常用命令

一、history 用于显示历史命令。 history 10显示最近10条历史命令。!200使用第200行的指令。history -c清空历史记录。 二、pwd 用于显示当前绝对路径。 pwd显示当前绝对路径。 三、ls 用于以行的形式显示当前文件夹下所有内容。 ls -a显示所有内容,包括隐藏文…...

【AI】SpringAI 第二弹:接入 DeepSeek 官方服务

一、接入 DeepSeek 官方服务 通过一个简单的案例演示接入 DeepSeek 实现简单的问答功能 1.添加依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency> 2…...

QT的信号槽的直接触发,队列触发,自动触发

在Qt中&#xff0c;信号槽机制是一个非常强大的特性&#xff0c;它用于实现对象之间的通信。除了默认的直接触发方式之外&#xff0c;Qt还提供了队列触发等不同的触发方式。 1. 直接触发&#xff08;Direct Connection&#xff09; 直接触发是最常见的连接方式&#xff0c;信…...

typescript html input无法输入解决办法

input里加上这个&#xff1a; onkeydown:(e: KeyboardEvent) > {e.stopPropagation();...

工厂能耗系统智能化解决方案 —— 安科瑞企业能源管控平台

安科瑞顾强 政策背景与“双碳”战略驱动 2025年《政府工作报告》明确提出“单位国内生产总值能耗降低3%左右”的目标&#xff0c;要求通过产业结构升级&#xff08;如高耗能行业技术革新或转型&#xff09;、能源结构优化&#xff08;提高非化石能源占比&#xff09;及数字化…...

栅格数据处理

一、栅格数据的引入与基本操作 &#xff08;一&#xff09;加载栅格数据 在 ArcPy 中&#xff0c;栅格数据可以通过 arcpy.Raster 类来加载。例如&#xff0c;如果你有一个存储在本地路径下的栅格数据文件&#xff08;如 GeoTIFF 格式&#xff09;&#xff0c;可以这样加载&a…...

C语言文件操作

本文重点: 什么是文件 文件名 文件类型 文件缓冲区 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 文件结束的判定 什么是文件 磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件 程序文件 包括源程序文…...

毛笔书体检测-hog+svm python opencv源码

链接&#xff1a;https://pan.baidu.com/s/1l-bw8zR9psv1HycmMqQBqQ?pwd2ibp 提取码&#xff1a;2ibp --来自百度网盘超级会员V2的分享 1、毛笔字检测运行流程 如果解压文件发现乱码&#xff0c;可以下载Bandizip 解压文件 数据集在百度网盘里面 将文件名字改成images c…...

基于YOLOV11的道路坑洼分析系统

基于YOLOV11的道路坑洼分析系统 【包含内容】 【一】项目提供完整源代码及详细注释 【二】系统设计思路与实现说明 【三】图形化界面与实时检测统计可视化功能 【技术栈】 ①&#xff1a;系统环境&#xff1a;Windows/MacOS/Linux多平台支持&#xff0c;推荐NVIDIA GPU加速 ②…...

【系统搭建】DPDK安装配置与helloworld运行

一&#xff0c;安装相关依赖 1. 安装依赖 sudo apt update && sudo apt install -y \build-essential libnuma-dev meson ninja-build pciutils#安装Python3与PIP3 sudo apt install python3-pip2. 升级 pip 和 setuptools sudo apt install python3-pip python3-de…...

Distortion, Animation Raymarching

这节课的主要目的是对uv进行操作&#xff0c;实现一些动画的效果&#xff0c;实际就是采样的动画 struct texDistort {float2 texScale(float2 uv, float2 scale){float2 texScale (uv - 0.5) * scale 0.5;return texScale;}float2 texRotate(float2 uv, float angle){float…...

架构风格(高软59)

系列文章目录 架构风格 文章目录 系列文章目录前言一、架构风格定义&#xff1f;二、架构风格分类总结 前言 本节讲明架构风格知识点。 一、架构风格定义&#xff1f; 二、架构风格分类 总结 就是高软笔记&#xff0c;大佬请略过&#xff01;...

免费使用RooCode + Boomerang AI + Gemini 2.5 Pro开发套件

若您正在寻找利用免费AI工具简化应用开发的方法,这份指南将为您揭开惊喜。 我们将详解如何免费整合RooCode、Boomerang AI智能代理与Google Gemini 2.5 Pro API,在Visual Studio Code中实现自动化编程加速。 这套方案能让您在几分钟内从创意跃迁至可运行原型。 套件构成与…...

《MAmmoTH2: Scaling Instructions from the Web》全文翻译

《MAmmoTH2: Scaling Instructions from the Web》 MAmmoTH2&#xff1a;从网络规模化采集指令数据 摘要 指令调优提升了大语言模型&#xff08;LLM&#xff09;的推理能力&#xff0c;其中数据质量和规模化是关键因素。大多数指令调优数据来源于人工众包或GPT-4蒸馏。我们提…...

解决Ubuntu终端命令不能补全的问题

使用命令&#xff1a; sudo vi /etc/bash.bashr 把框出的部分取消注释&#xff0c;取消后截图如下&#xff0c;保存退出&#xff1a; 使用命令env -i bash --noprofile --norc, 进行测试&#xff0c;查看tab自动补全是否可以使用。 tab键可正常使用&#xff0c; env -i bash …...

知识图谱与其它知识库的关系

知识图谱与其它知识库的关系 知识图谱与传统知识库&#xff1a;解构数据连接的哲学知识图谱的商业价值&#xff1a;连接带来的革命选择知识图谱还是传统数据库&#xff1f;一个实用指南 知识图谱的出现&#xff0c;正在改变了我们组织和理解信息的方式。 这种技术不仅仅是一种数…...

STM32基础教程——DMA+ADC多通道

目录 前言 ​编辑 技术实现 连线图 代码实现 技术要点 实验结果 问题记录 前言 DMA(Direct Memory Access)直接存储器存取&#xff0c;用来提供在外设和存储器 之间或者存储器和存储器之间的高速数据传输。无需CPU干预&#xff0c;数据可以通过DMA快速地移动&#xff0…...

波束形成(BF)从算法仿真到工程源码实现-第十一节-非线性波束形成算法工程化

一、概述 本节我们对非线性波束形成算法进行工程化&#xff0c;运行在respeaker core v2平台上&#xff0c;算法实时率在0.046左右。更多资料和代码可以进入https://t.zsxq.com/qgmoN &#xff0c;同时欢迎大家提出宝贵的建议&#xff0c;以共同探讨学习。 二、算法实现 2.1 …...

Windows安装Rust版本GDAL

前言 笔者想安装GDAL&#xff0c;这是一个开源的地理数据库&#xff0c; 笔者到处搜索&#xff0c;最后看到这位大佬写的这篇文章&#xff0c;终于成功了。 aliothor/Windows-Install-Rust-Gdal-Tutorial: Windows Install Rust Version Gdal Stepshttps://github.com/aliot…...

OpenCv高阶(六)——图像的透视变换

目录 一、透视变换的定义与作用 二、透视变换的过程 三、OpenCV 中的透视变换函数 1. cv2.getPerspectiveTransform(src, dst) 2. cv2.warpPerspective(src, H, dsize, dstNone, flagscv2.INTER_LINEAR, borderModecv2.BORDER_CONSTANT, borderValue0) 四、文档扫描校正&a…...

常用正则化技术dropout

在深度学习中&#xff0c;​​Dropout​​ 是一种常用的正则化技术&#xff0c;用于防止神经网络过拟合。它的核心思想是​​随机丢弃&#xff08;临时关闭&#xff09;网络中的部分神经元​​&#xff0c;迫使模型不依赖单一神经元&#xff0c;从而提升泛化能力。 1. Dropout…...

66.加1

目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外&#…...

Tecnomatix Plant Simulation 2302安装教程

Tecnomatix Plant Simulation 2302安装教程&#xff0c;这个比较简单&#xff0c;只有4步即可完成。 第1步&#xff1a;获取并下载安装包 Follow WX account and reply: 2302, get the installation package link. 下载安装包至电脑本地&#xff0c;打开安装包文件如下图所示…...

Flutter 与原生通信

Flutter 与原生之间的通信主要基于通道机制&#xff0c;包括 MethodChannel、EventChannel 和 BasicMessageChannel。 MethodChannel&#xff1a;用于 Flutter 与原生之间的方法调用&#xff0c;实现双向通信&#xff0c;适合一次性的方法调用并获取返回值&#xff0c;如 Flut…...

关于postman的使用(一)

postman创建被测系统结构 改为被测系统名称 添加一级功能 添加接口测试 请求发起前脚本和请求发起后脚本 请求前运行脚本&#xff08;需要一个随机的岗位名称&#xff09;&#xff1a; 上述脚本功能是自动生成一个岗位名称并且配置它为postman的变量下面是调用 请求后运行脚本…...

【c语言】深入理解指针1

深入理解指针1 一、数组名的理解二、使用指针访问数组三、一维数组传参本质四、二级指针 一、数组名的理解 数组名就是数组首元素的地址&#xff0c;类型是指针类型&#xff0c;但是存在两个例外&#xff1a; sizeof(arr) : 整个数组在内存中的大小 &arr : 整个数组的地址…...

leetcode14.最长公共前缀

暴力逐个比对最长前缀 class Solution {public String longestCommonPrefix(String[] strs) {String prefix strs[0];for (int i 1; i < strs.length; i) {prefix longestCommonPrefix(prefix, strs[i]);}return prefix;}private String longestCommonPrefix(String st…...

云服务器X86计算和Arm计算架构有什么区别?

阿里云服务器架构X86计算和ARM计算有什么区别?x86架构是最常见的,CPU采用Intel或AMD处理器;ARM架构具有低功耗的特性,CPU采用Ampere Altra / AltraMax或阿里自研倚天710处理器。如何选择?阿里云服务器网aliyunfuwuqi.com建议根据实际使用场景选择,X86架构兼容性更广,适合…...

leetcode0079. 单词搜索-medium

1 题目&#xff1a; 单词搜索 官方标定难度&#xff1a;中 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字…...