自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 【AI大语言模型】提示词工程基础及进阶

相比于提示词,提示词工程是一个更加高级且看似牛逼的概念。是指**系统化设计和优化提示词来引导**大语言模型产生预期的结果,这可是一门技术方法。由于这些大语言模型的表现高度依赖输入提示的内容和结构,Prompt 工程的目标是找到有效的提示方式,以最大化模型的性能,生成高质量、相关性强的响应。通过调试、迭代、优化提示词来引导 AI 输出更精确、有用、和上下文相关的内容的系统化方法。

2024-09-21 20:03:20 1335

原创 【AI大语言模型应用】使用Ollama搭建本地大语言模型

简单介绍什么是Ollama这玩意儿其实就是一个能够帮你快速启动并运行大语言模型的平台。你可以类比于Java中的Springboot+maven这个ollama是用go语言编写的,我对go语言了解不深,所以更细节的平台实现需要各位自行学习。目前这个ollama支持 windows、linux、macos下载Ollama目前主要是两种安装方式:直接安装和docker安装下面就直接开始了。

2024-09-17 18:32:52 1535 1

原创 学习笔记-数据结构-线性表(2024-04-29)

用k记录顺序表L中不等于x的元素的个数(即需要保存的元素个数),扫描时将不等于x的元素移动到下标k到位置。扫描结束后修改L的长度。用k记录顺序表L中等于x的元素个数,一边扫描L,一边统计k,并将不等于x的元素前移k个位置。扫描结束后修改L的长度。

2024-05-12 21:37:06 338

原创 [JNI]使用jni实现简单的Java调用本地C语言代码

我们知道,Java的主要优势之一是其可移植性——这意味着一旦我们编写并编译代码,这个过程的结果就是平台独立的字节码。简单来说,这可以在任何能够运行Java虚拟机的机器或设备上运行,而且它的工作会像我们所期望的那样无缝进行。然而,有时我们确实需要使用为特定架构原生编译的代码。需要处理某些硬件对非常苛刻的过程进行性能提升我们希望复用而不是用Java重写的现有库。为了实现这一点,JDK引入了一个桥梁,连接了在我们的JVM中运行的字节码和原生代码(通常用C或C++编写)。

2024-05-12 16:00:23 771 1

原创 学习笔记-数据结构-线性表(2024-04-27)

扫描顺序表L的前半部分元素,对于元素L.data[i](0

2024-04-28 19:44:22 242 1

原创 学习笔记-数据结构-顺序表(2024-04-25)

从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

2024-04-26 11:04:24 148 2

原创 学习笔记-数据结构-线性表(2024-04-25)

而在动态分配时,存储数组的空间是在程序执行过程中通过动态存储分配语句分配的,一旦数据空间占满,就另外开辟一块更大的存储空间,将原表中的元素全部拷贝到新空间,从而达到扩充数组存储空间的目的,而不需要一次性地划分所有空间。对数组进行静态分配时,因为数组的大小和空间已经事先固定,所以一旦空间占满,再加入新数据就会产生溢出,进而导致程序崩溃。动态分配不是链式存储,它同样也属于顺序存储结构,物理结构没有发生变化,依然是随机存取的方式,只是分配的空间大小可以在运行时动态决定。静态分配的顺序表存储结构描述为。

2024-04-26 10:57:27 222 1

原创 学习笔记-数据结构-线性表(2024-04-24)

p 用于追踪新链表的最后一个节点,最初设置为 NULL。q 指向当前正在处理的原链表的节点,最初是链表的头节点。在 while 循环中,遍历原链表。循环的每一次迭代都会处理一个节点,将其从原位置移动到新链表的前端。这通过改变节点的 next 指针实现,使其指向新链表的当前第一个节点 p。当 q 为 NULL 时,意味着已经处理完所有的节点,此时 p 指向新链表的头节点。最后,将链表的头指针 L 更新为 p,完成链表的反转。在移动节点之后,p 更新为 q,q 更新为 r,以继续遍历和反转剩余的链表。

2024-04-26 10:54:03 301 1

原创 学习笔记-数据结构-线性表(2024-04-23)

指针La和Lb分别是两个带头节点单链表的头指针,将表La的第i个元素其len个元素删除并插入到表Lb的第j(j>=1)个元素之前。将La中的第i个元素开始的Len个元素插入到Lb中的第j个位置。

2024-04-24 16:45:26 198

原创 学习笔记-数据结构-树与二叉树(2024-04-23)

这是因为每个叶节点都有2个空指针,每个度为1的节点都有1个空指针,空指针总数为2n0+n1,又因为n0=n2+1,所以空指针的总数为n0+n1+n2+1=n+1。附设指针pre指向刚刚访问过的节点,指针p指向正在访问的节点,即pre指向p的前驱。在中序遍历的过程中,检查p的左指针是否为空,若为空就将它指向pre;若无右子树,令rchhild指向其后继节点,还需要增加两个标志域,以标识指针域指向左(右)孩子或前驱(后继)。二叉树的线索化是将二叉链表中的空指针改为指向前驱或后继的线索。

2024-04-24 16:08:09 285

原创 学习笔记-数据结构-树与二叉树(2024-4-22)

的访问流程:1⃣️先访问当前节点的元素,然后沿着当前节点的左孩子,将元素入栈,一直循环先访问再入栈,直到左孩子为空;2⃣️栈顶元素出栈,并且判断有没有右孩子,如果没有右孩子,继续栈顶元素出栈;2⃣️若队列非空,则队头节点出队,访问该节点,若它有左孩子,则将其左孩子入对;若它有右孩子,则将其右孩子入队。的访问流程:1⃣️沿着根的左孩子,依次将元素入栈,直到左孩子为空;2⃣️栈顶元素出栈并访问,并且判断它是否有右孩子,如果右孩子为空,继续执行2;的思路分析:1⃣️沿着根的左孩子,依次入栈,直到左孩子为空。

2024-04-23 09:54:52 224

原创 学习笔记-数据结构-线性表(2024-04-21)

假设有两个元素值递增有序的线性表La和Lb,均以带头节点的单链表作为存储结构,编写算法将La表和Lb表合并为一个按元素值递减有序排列的线性表Lc,并要求利用原表(La和Lb表)的节点空间存放表Lc。: 在算法执行过程中,pa是一个遍历指针,用于顺序访问La链表中的节点。: 指向第二个有序单链表的头节点,该链表中的元素同样按递增顺序排列。: 指向第一个有序单链表的头节点,该链表中的元素按递增顺序排列。: 指向结果单链表的头节点,合并后的链表将按元素值递减有序排列。

2024-04-22 17:47:34 350

原创 学习笔记-数据结构-线性表(2024-04-18)- 单向链表选择排序

正经的单向链表选择排序!!不是别人的那种交换值的!

2024-04-20 21:55:42 568

原创 学习笔记-数据结构-线性表(2024-04-17)

指针变量,始终指向q节点的前一个节点。在删除q所指向的节点时,s的next将被更新为q->next,从而维持链表的连续性。在内层循环中,q从p所指向节点的下一个节点开始,遍历p之后的所有节点。它用于寻找和删除与p指向节点的data值相同的节点。- 参数变量,代表链表的头节点。在调用DelSameNum函数时,需要传递链表的头节点的地址给这个参数,从而允许函数对链表进行操作。- 指针变量,用于在链表中顺序遍历节点。在外层循环中,p从头节点开始,依次指向链表中的每一个节点,直到最后一个节点。

2024-04-18 17:52:16 269 1

原创 学习笔记-数据结构-线性表(2024-04-16)

int value;代码思想:双指针操作(快慢指针),利用p、q两个指针实现,p先走k-1步,然后p和q再同时出发,当p指向最后一个节点时,正好q指向了链表中倒数第k个节点。// 声明并初始化两个用于遍历链表的指针p=head;q=head;// 循环,目的是将p移动到正向数第k个节点的位置for(i=1;inext;// 持续遍历直到p指向成最后一个节点// p q 两个指针都向下一个节点移动。

2024-04-17 15:10:44 517 1

原创 Controller接收Postman的raw参数时,属性值全部为空

后端代码如下:Requset对象为:Controller:PostMan的Header中设置如下行:PostMan的Body,选择raw格式:发送之后request对象的属性结果:是不是失效?可能是@RequsetBody注解的问题最终发现@RequestBody引包错误!应该要引而swagger同样有一个同名注解:写在同一个地方,都不会报错!!!在引入了swagger的朋友们一定要注意!

2023-10-25 10:58:01 971 1

原创 [问题解决] java中InputStream转为MultipartFile

我所处理的服务端需要进行Feign调用,其中出现了需要文件传输的步骤。因此需要从中进行处理,返回MultipartFile给到对方。由于服务端的文件存于OSS中,我能拿到的只有文件所在url。被调用方的Client采用MultipartFile接收。自己实现一个MulitpartFile接口。

2023-10-09 17:53:43 1268

原创 java中将List数据平均切分成N份

话不多说,直接上代码,直接用。

2023-09-08 17:35:53 1020

原创 [机器学习]线性回归初探

指给定一个输入,预测一个连续的输出值。:指给定一个输入,将其分为若干个预定义的类别中的一种。分类算法中会给出一个明确的类别。分类和回归的区别在于输出的类型不同,分类输出离散的类别标签,而回归输出连续的数值。举个例子,如果我们要通过一张图片判断它是狗还是猫,这就是一个分类问题;如果我们要预测这张图片上狗的年龄,这就是一个回归问题。如果我们要通过一个人的症状来判断他们患的是哪一种疾病,这就是一个分类问题;如果我们要预测这个人的寿命,这就是一个回归问题。

2023-03-29 16:06:29 374 1

原创 Java中的集合 1

返回的列表由该列表支持,因此返回列表中的非结构性更改会反映在该列表中,反之亦然。)返回的列表由该列表支持,因此返回列表中的非结构性更改会反映在该列表中,反之亦然。如果支持列表(即此列表)在结构上以任何方式修改,而不是通过返回的列表,则此方法返回的列表的语义将变为未定义。如果支持列表(即此列表)在结构上以任何方式修改,而不是通过返回的列表,则此方法返回的列表的语义将变为未定义。如果这个集合适合指定的数组,并且有空闲空间(即,数组的元素比这个集合多),则紧跟在集合末尾的数组中的元素将被设置为空。

2023-03-19 17:45:37 482 3

原创 [手写OS]动手实现一个OS 之X86实模式下的汇编开发

x86实模式下 汇编开发是一个 intel x86实模式中的汇编程序开发类型。它涉及操纵几个16位处理器寄存器,并仅处理内存中的物理地址(与受保护模式相对)。这种类型的编程中最广为人知的应用就是1980年代编写的DOS磁盘操作程序。而所有现代的X86操作系统都是使用的保护模式,但是嘞,当计算机启动的时候,肯定不能是以保护模式启动的,通过实模式启动,并负责切换到保护模式,而这个从实模式切换到保护模式的这个过程,那就必须在实模式下运行。

2023-03-09 16:59:13 547

原创 [SQL Statements] 基本的SQL知识 之DDL针对表结构和表空间的基本操作

在MySQL中,一个数据库可以包含多个表,每个表是由若干个列(column)和行(row)组成的。表是存储数据的基本单位,用于组织、管理和存储数据。MySQL中的表空间(Tablespace)是一个逻辑存储单元,它是由若干个数据文件(data files)组成的。表空间用于存储表和索引数据,每个表和索引都有一个关联的表空间。在MySQL中,每个表和索引都必须属于一个表空间,而每个表空间可以包含多个表和索引。MySQL中的表空间有两种类型:系统表空间和用户表空间。

2023-03-08 16:39:40 430

原创 [手写OS]动手实现一个OS 之 准备工作以及引导扇区

手写一个最最最最简单的OS

2023-03-08 12:42:31 560

原创 [SQL Statements] 基本的SQL知识 之DDL针对数据库的基本操作

在 MySQL 中,Database(数据库)是一组有组织的数据集合,可以存储和管理相关数据的容器。一个数据库可以包含多个表(Table),每个表可以包含多个数据行(Row),每行可以包含多个数据列(Column),用于存储数据的字段。通过对数据库进行操作,可以轻松地对其中存储的数据进行添加、删除、更新和查询等操作。MySQL 中的数据库还有一些其他的特性,例如可以创建索引来优化查询性能,可以创建视图来方便查询和使用,可以创建存储过程和触发器来执行复杂的业务逻辑等。

2023-02-26 10:23:32 557

原创 Ubuntu64位下安装Anaconda3的详细过程

请按照提示一步步进行安装,并在最后选择是否将 Anaconda 加入系统环境变量。如果选择不添加环境变量,则需要手动将 Anaconda 加入 PATH 环境变量。下载 Anaconda:首先,您需要在 Anaconda 的官网上下载适合您的 Linux 版本的安装包。创建虚拟环境:为了避免不同项目之间的冲突,建议为每个项目创建一个独立的虚拟环境。默认这个anaconda会安装在 /home/你的用户名/anaconda3 中。含有如图所示的内容,即说明已经下载好了。将Anaconda配置到环境变量中去。

2023-02-24 13:42:57 1430

原创 [问题解决] user 不在 sudoers 文件中。此事将被报告。

在一次测试中,用普通用户登录到系统后通过执行sudo执行命令的时候,出现了异常情况。

2023-02-21 15:43:24 3110

原创 [面试题] Java中ArrayList和LinkedList什么区别

ArrayList和LinkedList都实现了List接口,ArrayList是基于索引的数据接口,它的底层是采用的数组实现,以O(1)的时间复杂度对元素进行随机访问。LinkedList是基于双向链表的形式存储数据,每个元素和他的前后元素链接在一起,以O(n)的时间复杂度进行查找。相比于ArrayList来讲,LinkedList的插入,删除操作更快,因为当元素背添加到集合任意位置的时候,不需要像数组那样重新计算大小或大批量数据移动。

2023-02-08 19:24:56 607

原创 [面试题] Java高并发中的集合有哪些?

在jdk1.0中就存在了Vector和Hashtable,这两者均是直接采用synchronized修饰方法以保证线程安全,然而这样的处理形式导致性能不高,因此在jdk1.2之后引入了ArrayList、LinkedList、HashMap等线程不安全的集合,这些线程不安全的集合性能会更高,但是想要用ArrayList、HashMap,并希望保证其线程安全,可以使用Collections类中的SynchronizedList、SynchronizedMap内部类,通过调用。评论区 催更其他面试题。

2023-02-08 19:24:22 230

原创 从零开始搭建CentOS7虚拟机系统、MySQL5.7和Redis3服务

CentOS7搭建MySQL5.7和Redis3服务。

2022-12-15 13:22:14 531

原创 CloneNotSupportedException的解决方案 + Object的clone方法分析

CloneNotSupportedException的解决方案 + Object的clone方法分析

2022-11-12 07:58:19 1396 1

原创 Java的自动装箱与拆箱详细分析

Java的自动装箱和拆箱的详细分析,看完必懂

2022-11-12 00:20:52 663

原创 Java虚拟机启动整体流程和基础学习(内容很多,不可快餐阅读),推理+源码论证

请花点时间具体看看Java虚拟机的启动吧,其他搜到的资料,请使用源码论证一下,谢谢

2022-10-20 15:24:34 2025

原创 计算机诞生历史小故事

计算机历史故事

2022-09-17 15:40:07 2455

原创 Java锁的全面认识和相关锁测试代码

Java锁的认识和synchronized的底层分析,锁升级概念和详细分析,juc下锁的测试代码等等

2022-08-21 00:20:31 465

原创 [解决方案]前端Axios请求后端SpringBoot出现400错误

解决前后端交互时,出现400错误的解决方案

2022-08-18 17:01:28 1941

原创 SpringCloudAlibaba学习笔记(二) Sentinel熔断和限流的简单使用

Sentinel 熔断 限流 使用ApiFox并发测试

2022-08-16 12:27:04 579

原创 SpringCloudAlibaba学习笔记(一) Nacos注册中心+配置中心

SpringCloudAlibaba学习笔记之Nacos相关基本知识,详细且多~

2022-08-12 14:59:28 2161

原创 Dubbo的使用与基本知识点

dubbo的详细使用教程

2022-08-09 17:43:56 810

转载 git 的基本命令

git的基本使用

2022-08-08 17:26:15 73

原创 swagger与springboot的集成

swagger和springboot的集成使用

2022-08-08 16:16:30 229

jdk 1.4 旧版 windows zip压缩包

jdk 1.4 旧版 windows zip压缩包

2024-06-25

空空如也

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

TA关注的人

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