自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 问答 (2)
  • 收藏
  • 关注

原创 c语言--使用共用体判断一个机器的大小端模式

在计算机体系结构中,大小端(Endianness)指的是多字节数据类型在内存中的存储顺序。大端模式(Big-endian)是将最高有效字节(MSB)存储在最低的内存地址处,而小端模式(Little-endian)则是将最低有效字节(LSB)存储在最低的内存地址处。可以使用一个共用体(Union)来判断一个机器的大小端模式,因为共用体的成员在内存中是重叠的。通过检查共用体中数组的第一个字节,可以确定系统的字节序。(最高有效字节在前),而在小端模式下,它将是。,那么机器是小端模式的,因为最低有效字节(

2024-07-18 09:30:46 188

原创 用c语言 实现用户输入一个数值,把这个数值的二进制位模式从左到右变换一下 (二进制反转)

编程实现用户输入一个数值,把这个数值的二进制位模式从左到右变换一下(二进制反转)要实现这个功能,我们可以编写一个函数来将整数的二进制位模式从左到右反转。为了不依赖于机器上整型值的长度,我们可以使用位操作来处理每一位,而不是直接处理整个整数。函数的目的是将一个无符号整数 () 的二进制位模式完全反转。

2024-07-18 09:28:19 409

原创 c语言中的宏是什么?

C语言中的宏是一种预处理指令,它允许程序员定义一个名称,该名称可以代表一段代码或一个值。宏的主要用途是简化代码的编写,提高代码的可读性和可维护性,以及实现代码的重复利用。宏的定义使用#define# define 宏名 替换文本这里的“宏名”是用户自定义的标识符,而“替换文本”可以是任何有效的C语言表达式、代码片段或值。宏的工作原理是在预处理阶段,编译器会查找所有的宏定义,并在源代码中将宏名替换为相应的替换文本。这个过程发生在编译器进行词法分析之前,因此宏替换是文本替换,而非代码执行。

2024-06-16 18:17:20 1105

原创 C语言预处理的过程

在C语言编译过程中,预处理是其中的第一个阶段,它的主要目的是处理源代码文件中的预处理指令,将它们转换成编译器可以识别的形式。预处理的输出通常是经过预处理后的源代码文件,它会被保存成一个临时文件,并作为编译器的输入。预处理阶段是编译过程的基础,它为编译器的后续阶段(如词法分析、语法分析等)提供了必要的输入。为扩展名,这个文件包含了所有预处理指令执行后的结果,供编译器的后续阶段使用。:在预处理阶段,编译器会检查一些基本的错误,如宏定义中的语法错误。:预处理完成后,会生成一个预处理后的文件,通常以。

2024-06-16 18:09:29 180

原创 CPU中的寄存器&&CPU能理解的指令(指令集)

寄存器有很多种。如指令寄存器,专门存储指令问:CPU的寄存器存的是什么?答:CPU寄存器是中央处理器(CPU)内部的一小部分高速存储资源,用于快速访问和存储各种类型的数据和信息。:某些CPU寄存器(如)用于存储当前正在执行的指令。:操作数寄存器用于存储指令的操作数,这些操作数是计算操作的输入。:地址寄存器(如基址寄存器和变址寄存器)用于存储内存地址,用于访问内存中的数据。:状态寄存器或标志寄存器(如程序状态字,PSW)存储处理器的状态信息,包括算术运算的结果(如零标志、进位标志、溢出标志等)。

2024-06-16 01:52:43 400

原创 CPU的工作原理

从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令(重复此操作)。一个寄存器储存下一条指令的内存地址 ,CPU使用该地址来获取和更新下一条指令。在获取指令后,CPU在另一个寄存器中储存该指令,并更新第1个寄存器储存下一条指令的地址。CPU的工作非常简单,至少从以下简短的描述中看是这样。,诸如此类(一个吉赫兹的CPU一秒钟能重复这样的操作大约十亿次,因此,CPU能以惊人的速度从事枯燥的工作)。

2024-06-16 01:47:30 434

原创 Visual Studio Code 的安装教程和配置C语言环境&&插件推荐

VSCode是微软出的一款轻量级编辑器,它本身只是一款文本编辑器而已,并不是一个集成开发环境(IDE),几乎所有功能都是以插件扩展的形式所存在的。因此,我们想用它编程,不只是把vscode下载下来就行,还需要安装对应编程语言的扩展以及相应的编译器。VS Code 采用通用的用户界面和左侧的资源管理器布局,显示您可以访问的所有文件和文件夹,右侧的编辑器显示您打开的文件的内容。

2024-06-15 01:42:28 1228

转载 讯飞星火认知大模型Java后端接口

这里推荐一篇文章,超详细,而且这位博主代码写的很好。

2024-05-18 00:09:50 32

原创 java8通过字段名创建SFunction

比如我有一个Person类 里面有name属性 我怎么根据name这个字符串和Person这个class 获取SFunction

2024-05-04 22:53:52 330

原创 java如何根据属性名这个字符串创建SFunction ---结合了我自己的项目来说的

比如我有一个Person类 里面有name属性 我怎么根据name这个字符串和Person这个class 获取SFunction

2024-05-04 22:38:33 824

原创 java8如何根据属性名这个字符串创建SFunction

比如我有一个Person类 里面有name属性 我怎么根据name这个字符串和Person这个class 获取SFunction。

2024-05-04 22:32:48 359

原创 Java异步化处理--线程池

2.为什么需要异步化?问题场景:调用的服务处理能力有限,或者接口的处理(或返回)时长较长,就应该考虑异步化了1. 用户等待时间有点长(比如要等AI生成)2. 业务服务器可能会有很多请求在处理,导致系统资源紧张,严重时导致服务器宕机或者无法处理新的请求3. 调用的第三方服务(AI能力)的处理能力是有限的,严重时AI可能会对后台系统拒绝服务

2024-04-29 17:08:55 841 2

原创 一文搞懂线程池的作用&&工作机制&&线程池的使用

为什么需要线程池:1. 线程的管理比较复杂(比如什么时候新增线程、什么时候减少空闲线程)2. 任务存取比较复杂(什么时候接受任务、什么时候拒绝任务、保证多线程不抢到同一个任务)线程池的作用:轻松管理线程、协调任务的执行过程

2024-04-29 16:53:49 934

原创 线程池的创建&&工作机制

如果是在Java中,可以使用JUC并发编程包中的ThreadPoolExecutor来实现非常灵活地自定义线程池。### 线程池的参数含义int corePoolSize(核心线程数):正常情况下,系统应该能同时工作的线程数(随时就绪状态)int maximumPoolSize(最大线程数):极限情况下,线程池可容纳的最多线程long keepAliveTime(空闲线程存活时间):非核心线程在没有任务的情况下,过多久要删除,释放无用的资源

2024-04-29 16:51:34 1089

原创 限流--4种经典限流算法讲解--单机限流和分布式限流的实现

1)固定窗口限流 2)滑动窗口限流 3)漏桶限流 4)令牌桶限流### 限流粒度:1. 针对某个方法限流,即单位时间内最多允许同时XX个操作使用这个方法2. 针对某个用户限流,比如单个用户单位时间内最多执行XX次操作3. 针对某个用户X方法限流,比如单个用户单位时间内最多执行XX次这个方法

2024-04-28 17:28:16 1530

原创 Linux安装最新版Docker完整教程

docker仓库是用来保存镜像的地方。镜像构建完成后,可以直接在当前宿主机上运行,但是如果需要在其它服务器上使用这个镜像,就需要一个集中存储、分发镜像的服务,docker仓库就是这样的一个服务。

2024-04-07 03:58:47 4218

原创 TCP、UDP协议

2. 服务器端发送SYN-ACK包:服务器端接收到客户端发送的SYN包后,会向客户端发送一个SYN-ACK包,表示同意建立连接,并进入SYN_RECV状态。3. 客户端发送ACK包:客户端收到服务器端发送的SYN-ACK包后,会向服务器端发送一个ACK包,表示确认建立连接,并进入ESTABLISHED状态。- UDP是无连接的协议,不需要建立连接,不保证数据的可靠性和顺序性,适合实时性要求高的数据传输。- TCP是面向连接的协议,通过三次握手建立连接,提供可靠的数据传输,保证数据的顺序和完整性。

2024-04-03 02:13:43 1080

原创 迷你搜索引擎(算法设计)

1.读取输入:首先读取文件总数N,然后读取每个文件的标题和内容,存储在一个Map中,其中键为文件标题,2.处理查询:读取查询总数M,然后对每个查询进行处理。结构解释:存储查询结果的列表,key为文件标题,value为该文件中包含全部查询单词的所有行。然后再遍历每一行,检查每一行内容中是否包含全部该查询单词,如果包含则将该行加入结果列表。否则输出包含查询单词的文件总数,然后按顺序输出这些文件的标题和包含全部查询单词行内容。3.输出结果:对于每个查询,如果结果集合为空则输出"Not Found.",

2024-03-27 23:50:22 231

原创 超详细SpringMVC源码剖析

Nullable= null) {for (ViewResolver viewResolver : this.viewResolvers) {//viewResolvers存放了两个视图解析器(1)InternalResourceViewResolver默认视图解析器 (2)BeanNameViewResolver自定义视图解析器if (view!= null) {//如果返回的视图为空,那么会继续遍历所有的视图解析器;

2024-03-26 21:38:12 1398 1

原创 try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?(问题可没有这么简单哦)

finally中的代码比return 和break语句后执行try中的return语句调用的函数先于finally中调用的函数执行,也就是说return语句先执行,finally语句后执行。Return并不是让函数马上返回,而是return语句执行后,将把返回结果放置进函数栈中,此时函数并不是马上返回,它要执行finally语句后才真正开始返回。

2024-03-26 16:01:13 774

原创 负载因子为什么会影响HashMap性能?为什么HashMap的负载因子默认为0.75?

HashMap的数据结构和HashMap的产生HashMap的数据结构和HashMap的产生我们都知道有序存储数据,对数据的索引效率都很高,但是插入和删除就会有性能瓶颈,存储数据,要一次比较元素来检索出数据,所以索引效率低,但是插入和删除效率高,,也就是HashMap的存储逻辑.

2024-03-22 15:29:46 248

原创 String类适合做HashMap的key的原因是什么

String 类型的对象对这个条件有着很好的支持,因为 String 对象的 hashCode() 值是根据 String 对象的。内容计算的,并不是根据对象的地址计算。下面是 String 类源码中的 hashCode() 方法:String 对象底。层是一个 final 修饰的 char 类型的数组,hashCode() 的计算是根据字符数组的每个元素进行计算的,所。以内容相同的 String 对象会产生相同的散列码。hashCode() 都应该产生相同的值。

2024-03-22 15:14:17 291

原创 Hashmap和Hashtable的区别

HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey,因为contains方。Hashtable 中的方法是Synchronize的,而HashMap中的方法在缺省情况下是非Synchronize的。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步,但使用。仅改变与实例已经包含的键关联的值不是结构上的修改。在 JDK 1.8 中 HashMap 的扩容操作就显得更加的骚气了,可以作为键,这样的键只有一个;

2024-03-22 15:10:37 323

原创 解决哈希冲突的几种方法

就是解决hash冲突的一种方式。它是使用一种 探测方式在整个数组中找到另一个可以存储值的地方。HashMap,HashSet其实都是采用的拉链法来解决哈希冲突的,就是在每个位桶实现的时候,我们采用链表(jdk1.8之后采用链表+红黑树)的数据结构来去存取发生哈希冲突的输入域的关键字再散列法其实很简单,就是再使用哈希函数去散列一个输入的时候,输出是同一个位置就再次散列,直至不发生冲突位置缺点:每次冲突都要重新散列,计算时间增加。

2024-03-22 14:42:30 515

原创 nvm下载,nodejs下载

按照nvm中文网的教程来,很简单!!!

2024-03-10 15:55:22 352

转载 虚拟机可以ping通主机,主机不能ping通虚拟机的解决办法

我的情况是虚拟机可以上网 可以ping通主机 但是主机不能ping通虚拟机。如果还是没有解决的话再看下面的操作。原文章链接:(建议看原文章)的防火墙,看看能不能解决问题。首先可以尝试一下关闭。

2024-03-02 21:11:14 413

转载 关于前后端时间(LocalDateTime)对接问题

若mysql使用 DateTime java可能用LocalDateTime(2021-09-08T21:21:36) 去接,一般数据库是 dateTime或者bigint(个人更加推荐使用bigint),不管用什么样的,最重要的是统一!若是bigint可以写个统一转换过滤器,或者写个工具类等等吧。2-前端传参 :2021-09-08 21:21:36。1-前端传参:2021-09-08T21:21:36。我测试的时候,心情异常复杂。你说两个注解,在闹呢?这两种情况,对应dto字段上使用。

2023-12-28 19:04:02 161

原创 配置自定义RedisTemplate && 解决redis序列化java8 LocalDateTime

配置连接redisspring:redis: #配置redis连接port: 6379编写测试类然后就是写一个测试类,测一下Redis引入之后是否能过正常使用。新建文件RedisTest.java.@Resource@Test//操作string类型的 操作对象//增user.setUsername("加棉");//查。

2023-12-21 14:08:24 958

原创 EasyExcel读取Excel数据(含多种方式)

简单地说,EasyExce是一个Java库,用于快速、简单地读写Excel文件以下是官网的简介:Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。

2023-12-15 22:03:32 17704 1

原创 Knife4j-的使用(详细教程)

之前有写过 swagger 怎么使用的教程,但是现在很多项目用的接口文档其实是 Knife4j,Knife4j 它是对 swagger 在线接口文档的一个增强,按照官网的话说就是给 swagger 做了一个更好看皮肤的同时加了一些新的功能,本章内容我会向大家介绍在项目中如整合 knife4j 以及一些使用的细节。Swagger-的使用快速开始 | Knife4jknife4j: Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案。

2023-12-15 16:57:35 1482

原创 swagger:快速入门 &&解决报错Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java

swagger:快速入门 &&解决报错Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java

2023-12-15 16:31:33 613

原创 报错:Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable

报错:Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable 出错原因在于响应返回的封装类缺少 getXxx() 和 setXxx() 方法

2023-12-04 20:27:06 2376 2

转载 window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

转自方便以后查找.

2023-11-29 15:10:24 166

原创 【Canal】遇到ERROR RdsBinlogEventParserProxy - dump address /192.168.100.252:3306 has an error问题

因此,MySQL并没有开启Binlog配置,从而导致Canal无法同步到MySQL的Binlog二进制文件。Canal抛出这个错误是因为127.0.0.1机器中的MySQL没有做主从配置。这简单,将MySQL主机开启Binlog配置然后重启即可解决。

2023-10-30 18:29:25 211

原创 logstash 与系统java_home冲突

'IDEA' 不是内部或外部命令,也不是可运行的程序或批处理文件。

2023-10-29 18:55:14 984

原创 分页条件搜索

handleSizeChange(pageSize){//修改每页显示的记录数时会被调用},handleCurrentChange(pageNum){//修改当前页时会被调用。

2023-10-04 15:30:28 85

原创 为什么在使用PageHelper插件时,指定的每页记录数大小失效?显示所有的记录数

在执行PageHelper.startPage(pageNum,pageSize);之前执行的sql并不会进行分页查询,只有之后执行的才会进行分页查询。sql语句的执行要在PageHelper.startPage(pageNum,pageSize);之后。

2023-10-04 15:10:30 333

原创 在将对象 => JSON格式时,无法序列化部分属性

在ssm项目中,一个controller返回Msg对象(自定义对象,包含三个属性,int code;String msg;

2023-10-04 00:17:59 332

原创 删除确认按钮

【代码】删除确认按钮。

2023-10-03 17:41:56 116

原创 Ajax异步请求(不等待,继续执行)

以下代码中,if 和 else里面都有以下两句话,能不能把这两句话放在else之后执行?//关闭对话框//刷新数据。

2023-10-03 16:00:33 291

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除