- 博客(85)
- 收藏
- 关注
原创 在langchain4j中 UserMessage注解和SystemMessage两个注解的区别
在 LangChain4j 框架中, 和 。
2025-05-25 17:36:21
1139
原创 Assistant和ConversationalChain的区别
在 LangChain4j 框架中, 和 虽然都用于与大语言模型(LLM)交互,但在功能定位、使用方式和适用场景上有显著区别。
2025-05-25 10:07:13
846
原创 对单调栈的理解
当下标移动到1的时候,此时后缀里面的元素有1,2,7,4,5,3. 此时后缀最大值为7.当下标移动到2的时候,此时后缀里面的元素有 1,2,7,4,5. 此时后缀最大值为7.当下标移动到3的时候 ,此时后缀里面的元素有 1,2,7,4. 此时后缀最大值为7.这几天一直被单调栈折磨,一直没有理解单调栈的本质,现在相较于之前,我理解了很多。当下标移动到4的时候,此时后缀里面的元素有 1,2,7. 此时后缀最大值为7.当下标移动到5时,此时后缀里面的元素有 1,2 . 此时后缀最大值为2.所以大家发现规律没有?
2025-05-21 21:23:37
240
原创 年后寒假总结及计划安排
年后主要学习了微服务,nacos (服务注册中心),feign(远程调用),网关,双token(相较于之前更加规范,更加符合企业级),配置管理 ,mybatisPlus ,docker基础,redisson实现一个分布式锁 ,然后自己写了一个类型转化的工具类,git的使用。然后就是开始写项目,就我负责的部分已经完成了班级(课程)模块,教材模块,还有教材上传到云端(这个是和其他人一起完成的,主要还是由其他人完成的)。对自己寒假进行一个总结,这个寒假主要是学习微服务方面的知识和团队合作的工具。
2025-03-03 22:19:18
620
原创 远程调用总结
在原来的springboot项目中通常是通过调用业务层来实现一个功能。在微服务中由于我们将许多业务进行一个拆开,但是我们需要其他业务层的数据所以就需要通过发送请求的方式来获取数据。
2025-02-07 21:48:34
982
原创 【无标题】
在 Java 项目中,是一个文件路径,它描述了代码文件在项目目录结构中的位置,同时也反映了代码的包结构和命名规范。src:表示源代码(Source)的根目录。main:表示项目的主要(Main)部分,与测试代码(test)相对。java:表示 Java 源代码目录,存放所有的 Java 类文件和接口文件。这是包路径(Package Path),用于组织 Java 类和接口。com:通常表示这是一个商业(Commercial)组织的项目。example:表示具体的组织或项目名称。item。
2025-01-30 09:36:56
1161
原创 2024年度即寒假总结
首先在暑假就是做了一个百度贴吧的项目,其主要就是实现了自己写了一个小springboot项目的框架,加深了我对框架一个理解和思考,在项目组我学到了很多东西,主要学习了javaweb,springboot。在做淘宝这个项目的时候同时也学习了一些常用的中间件,像redis,mq(消息队列),mybatis。在淘宝这个项目中主要就是使用redis,mq还有mybatis实现了一个秒杀功能,利用redis单线程速度快的特性实现能够处理较大的并发量,并使用lua语言实现在redis中数据不会出现超卖。
2025-01-25 13:35:34
221
原创 docker的学习
像在我们windows上运行的mysql就是开启了一个服务,所以当我们的电脑开机的时候mysql服务也就开始了,通过docker安装的mysql其实是安装在虚拟机上的mysql,所以当我们想要访问到虚拟机上的mysql就需要开始虚拟机(这个虚拟机其实就是相当于在windows上安装linuax系统的电脑,只有将这一台电脑开机,我们才能使用mysql服务)。:镜像相当于一个安装包(可以理解为压缩文件,所以需要从网络上进行下载),镜像下载完之后就要对其运行。运行是运行一个程序,也就是开启一个服务。
2025-01-14 18:37:54
359
原创 【无标题】
实现直播功能通常涉及多个技术栈,包括视频采集、编码、传输、解码、播放等。下面是实现一个基本直播系统的步骤和思路,涵盖了从直播推流到观看流的全过程。具体的实现方法可以根据需求不同而有所变化,以下是一个通用的实现流程。一个典型的直播系统包括以下几个主要模块:使用摄像头和麦克风进行视频和音频的采集。这可以通过浏览器端(如使用 WebRTC 或 HTML5 Video API)或客户端应用(如使用 Android、iOS、桌面应用等)实现。浏览器端示例:(2) 视频编码视频编码是将采集到的原始音视频数据转换成适
2024-11-11 11:36:39
1733
1
原创 冒泡排序,快速排序讲义
对存放原始数据的数组,按从前往后的方向进行多次扫描,每次扫描称为一趟。当发现相邻的两个数据次序和排序要求的大小次序不符合的时候,即将这两个数据进行互换。如果从小到大排序,这时,较小的数据就会逐个向前移动,好像气泡向上漂浮一样。
2024-11-02 23:32:49
597
1
原创 Springboot项目总结
1.为了调用写在其他包里面的类的方法 但是不使用new来实现调用这个类里面的方法,这个时候我们就需要将这个类注入到ioc容器里面,通过ioc容器来实现自动生成一个对象。对ioc容器的理解:自动将一个对象实现new.考察了and 和 or组合使用,需要注意的是or的运算符等级比and的等级低。答案为:主要考察了 like的使用方法:我犯错的地方就是使用like之后应该在需要进行查找的时候加上%主要考察了where语句和“order”和“limit”的用法。
2024-09-14 21:02:30
1229
1
原创 spring项目期间的学习9/11
核心:需要计算具体要求字段出现的数量使用count,需要返回出现字段的数量需要使用AS,需要避免重复需要使用distinct,需要具体体现在8月份需要使用like。主要考察了如何框定一个范围,然后再这个范围里面进行筛选,关键语法:"IN"主要考察了使用AND字符来连接一个区间的年龄。或者 除了浙江大学 其他的大学全部入围。记得符号的书写"<=",">=".这里主要考察了OR关键字的使用方法。这个"除了"的语法就是NOT IN。
2024-09-12 19:42:48
344
原创 sql语句的训练2024/9/9
需要看清思路:不是将数据库中的device_id的名字改为user_infors_example,而是在查找的时候,需要将device_id看成user_infors_example来进行查找。答案。
2024-09-10 22:56:17
424
原创 vue3的学习
之前看的那个网课我是没想到直接白雪。命名标题是vue3,但是内容是vue2,好不容易看到vue3的时候后面就要收费了。今天下午一直在肝项目的前端,这个是今天下午的收获 主要就是大概知道了路由怎么使用。
2024-09-09 00:01:17
660
原创 规划大二上期
每天3道sql语句编程题。11月之前将ssm redis学完,过年之前 mysql学完,MQ消息队列,ES学完。养成一个好的生活习惯,每天争取2点之前就睡,减少油炸食品的摄入,坚持每两天跑一次步,争取这个学期减肥20斤。问题争取自己解决,如何导入api,如何训练自己的ai,如何人脸识别之类的技术问题争取独立解决。心态:顺其自然,尽力而为,少于人比较,遇到困难还能做好应该做好的事。这个学期将java核心卷1看完。
2024-09-08 23:11:59
211
原创 vue3的学习(2)
1.将一个容器中的class和id使用vue用法赋上具体的值,这样就可以动态的给容器添加上自己想要给其添加的class或者id或者title。2.关键语法,在容器中的class或者id或者title前面加上 "v-bind:",当加上"v-bind关键语法字时"后面的class="..."就可以识别到具体的值。在浏览器中的显示可以看到在div内容为“属性绑定的标签”中的idv标签中的class等于"is"而不是msg。
2024-09-05 22:57:29
1040
原创 vue3的学习(1)
首先在配置这个vue3的前提是需要配置node.js首先在经常放项目的文件盘中创建一个文件夹一边之后放文件这个vue的文件创建和之前创建项目不同的是,这个是在cmd里面进行配置。按住win+R打开这个window的控制台打开这个后先不要着急按确定,应为直接打开就是没有管理员权限,当我们使用npm下载依赖的时候就会报错,我们可以按ctrl+shift+enter组合键就可以以管理员运行这个。然后我们进行黑控制台之后就输入盘像这个就是进入了D盘的意思。
2024-08-29 09:30:01
758
原创 web零碎知识
值得注意的,通过这种方式发送过去的是一个JSON对象,而不是一个字符串,所以在前端就不需要使用。这样返回前端的时候就会将JSON字符串转化为一个JSON对象。在后端想要发送一个JSON对象可以使用Gson。这样就可以直接打印出来这个对象的成员变量。就会把一个对象转化为一个JSON字符串,将一个字符串转化为一个JSON对象了。在前端可以使用这种方式来接收。这样就可以发送出去了。
2024-07-13 20:38:11
314
原创 javaweb零碎知识3
当我使用表单默认提交方式才能使用axios.post的提交方式,当我们提交表单的按钮设置submit时就代表使用表单的按钮进行提交。重新实现了servlet那边的方法,按照发送的方式进行封装,如果是post方式就按照post来处理逻辑。如果我们给提交表的时候是使用自己蛇者的按钮(并且绑定监听事件的时候就不能使用这种形式,只能采用)这个相较于以前可以传送对象,和param数据,可接受的数据类型变得比以前更多。如果是get请求就按照get方法来进行处理业务逻辑。这里还有一个动态查询。
2024-07-10 00:39:10
435
原创 创建一个不带框架的javaweb工程
点击新建 选择Maven,然后在Archetype里面选择 webapp选项(注意这里需要配置好Maven的环境 如果没配好Maven引入依赖的时候会引不进来)然后我们再来导入依赖(这个应该放在dependencies标签里面)如果Maven配置之后就会显示配置成功。然后我们要配置tomacat的依赖。选择工件(选哪一个都可以)
2024-07-06 19:47:40
593
原创 web零碎知识2
不知道我的这个axios的包导进去没。找一下关键词:http请求协议:就是进行交互式的格式 需要定义好 这个式一发一收短连接 而且没有记忆这个分为三个部分 第一个式请求行,第二个就是请求头 第三个就是请求体以get方式进行请求的失手请求体式放在请求头里面,也就是我们可以在浏览器上面的搜索框上找到。如果是以post的时候发送请求的时候就是会将json对象的数据放在请求体里面,上浏览器上的搜索框上就不会有我们进行传送的json对象了我们希望看到200多的响应格式。
2024-07-06 19:32:00
486
原创 web零碎知识
这两个方法很重要,有关前后端的交互的,parse方法:将一个json字符串转化为一个对象(这样做的目的是:当后端传过来一个json字符串的时候,可以将这个字符串转化为一个对象,这样就可以调用里卖弄的方法和成员变量)。总结起来就两步 第一获取道元素对象,第二调用元素对象中可以进行改变的内容的方法,像idv这个的方法就是innerHTML,而img标签的方法就是直接调用src,然后改变这个src的值即可。:DOM 提供了一个跨平台的接口,使得开发者可以在不同的浏览器和环境中使用相同的代码来操作网页。
2024-07-04 20:12:39
1042
原创 web的学习和开发
这个搞了我比较久就是这个“用科技让复杂的世界变简单”,刚开始我以为这两端文字两个div和在一起的,后面当时在原来的界面使用这个画面放缩的时候发现这两行是一个div。一致想不明白怎么实现让一大一小的文字一起进行放缩,后面才知道那个大一点其实就是h3一个标题的标签,那个较小的文字是p换行的文字,然后对这两段文字进行css修饰(将这两端文字染色呈白色,然后将这个文字,将这两段文字的间距进行加宽)。这个是主界面,将来后面的主要功能点基本上全部是放在这个上面,如热推信息,还一些很火的贴吧信息全部写在这个上面。
2024-07-02 23:31:49
298
原创 复习一下算法
现在第 $1$ 个玩具小人告诉小南一个包含 $m$ 条指令的谜題,其中第 $z$ 条指令形如“向左数/右数第 $s$ 个玩具小人”。小南发现,这个谜题中玩具小人的朝向非常关键,因为朝内和朝外的玩具小人的左右方向是相反的:面朝圈内的玩具小人,它的左边是顺时针方向,右边是逆时针方向;- $s=1$:若为 $\surd$,表示该测试点保证所有的指令都只数 $1$ 个,即对任意的 $1\leq z\leq m,s_i=1$;输出一个字符串,表示从第一个读入的小人开始,依次数完 $m$ 条指令后到达的小人的职业。
2024-06-21 00:14:46
446
原创 BIO/NIO学习
而通过NIO中的文件映射(FileChannel.map()方法),可以直接将文件的部分或全部内容映射到内存中的ByteBuffer中,从而实现基于内存的文件读写操作。在传送文件的时候常常出现这么一个问题,就是当客户端的文件全部传送完了之后,服务器没有接收到客户端那边传过的停止信号,所以服务器也就跟着客户端停止运行了,我们可以使用。Buffer的主要作就是装入数据,然后输出数据,相当于一个竹筒,通过put方法放入数据,没放一些数据 Nuffer的position相应的就会向后移动一些位置。
2024-05-28 22:03:53
898
原创 扫雷游戏 玩具谜题 A+B Problem(高精)
我的算法不厉害所以先从简单的题目开始写思路:准备,首先准备一个方向数组,以中心点遍历周围的八个点。然后遍历整个二维数组,遇到‘*’就遍历整个方向数组.如果遇到越界的就直接continue其他的就在一个只有数组的二维数组进行++操作。这里需要考虑到一点,就是前面会有"*"然后后面也会有'*',这样就是导致*的点多加了,所以最后输出条件是如果大于等于42就输出'*'即可。
2024-05-26 21:18:24
762
原创 项目总结(后面应该怎做)
第二个表是具体作业表,是一个关系表,一个自增的主键,然后再是当前时间,和每一个题目。老师点击随机点人的时候,就要将这个时间记录并存进数据库,然后进入随机点人的界面,每按一次随机点人的时候就从数据库里面返回一个学生对象,并再随机点人的界面创建一个集合,点一次就将这个学生对象加进去,当老师按下结束点人的时候,就将这个集合返回给数据库里面并将这个结果保存到学生和随机点人关系表中,当保存完数据库之后,就给学生发送一个信息,告诉学生已经随机点人完了,告诉的信息应该是随机点人的时间和班级id。
2024-05-13 14:12:30
388
原创 项目总结111
在之前我一直以为客户端里面是一发一收,所以这个长连接还是相当于端连接,所以我现在只能将全部重改,当登录过后,就开一个客户端线程,然后通过线程不断接收服务器的信息,然后再通过获取控制类里面的方法对控制类里面的界面进行可视化显示。只能说能做多少就做多少吧,现在重改也不知道后面会做的怎么样,只能顺其自然了吧。之后会怎么样我真的没什么定数。明天和后天的代码进行修改,然后大后天重新进行开始开发新的功能点。
2024-05-11 15:20:25
175
原创 java总结
关于第一个问题:在我第一次这个项目的时候就疑惑了很久,问题主要体现在客户端和服务器两方面,在客户端中,只要有一个流关闭,客户端和服务器就建立不起来连接,主要体现,所以我们不能使用close来关闭流,只能使用flush来刷新流,目前还没想到什么在不关闭流的就能使socket关闭的方法,就目前而言我只能实现,通过不断创建流来维持和服务起的联系。在服务器也是同样的道理(对于短连接可以选择关闭,反正在短连接中循环时一定要关闭的),所以我们最好在短连接的时候就要把流该关闭的就要关闭。
2024-04-29 00:39:38
343
2
原创 java的总结
在我的理解前端就是:客户端在前端进行点击输入数据,前端将这些数据整合起来然后通过集合,或者对象使用序列化的操作进行,将这个数据发给服务器。服务器会根据你发过来的操作信息进行增删改查将数据处理,然后返回给前端,前端就会根据从服务器返回的数据进行假面的转化。后端:其实就是前面所讲的服务器的建设其实就是后端的工作,我们可以使用jdbc加上mysql语言来对数据库进行增删改查。由于最近已经开始做项目了,所以对java的基础知识的学习都是一个离散化的状态没有一个很系统的学习,都是哪里不会就去学哪里。
2024-04-17 00:00:47
746
1
原创 java总结
我刚刚好像对流有点大彻大悟的感觉:既然是流那么就一定存在两个端点,端点1和端点2 当服务器accept到一个端点时,那么这个流就已经确定了,确定了客户端和服务器的流,所以我们在相应的功能点中也就知道了流的方向。我们创建流是为了指定信息传送的方向,然后通过read和wirite来度文件信息和传文件信息。FileInputStream:这个用于接收本地文件中的资料,常常需要我们指定文件的位置。对于图片来说为了不重名,我们可以使用api中的帮助文档uuid来随机生成一个图片的名字。对于uuid的使用方式如下。
2024-04-14 23:21:00
208
原创 多线程的学习
多线程编辑:可以简单理解进程是一个软件 而线程就是一个软件中多个可以同时运行的功能实现多线程的第一种方式:使用Thead类我们再自己创造一个类继承于这个类我们在对Thead方法进行重写,注意我们再重写的时候一定要加上@Override这行我犯下的错误2:我们在类里面调用方法的时候我们是不需要加上对象的名字,当我们在想要使用多线程的时候我们要用对象名.start() 这个时候才能实现多线程多线程的第二种实现方式:实现Runnable接口的方式进行实现
2024-04-10 08:43:56
578
原创 mysql jdbc数据库速成总结
接下来我们就在src创建一个类就好了 我们可以直接把包名和类名都创建一下 com.guansuian.JDBCDemo 注意包名只有小写字母 然后这个类名的第一个首字母需要大写。然后我们需要登录,登录需要一个地址 如果我们登录的是系统第一个为我们创建的链接我们就不需要写链接的名字。我们要打印每一个变量的时候我们可以使用变量名.sout这样就可以直接将我们需要的东西直接进行打印。这个就和之前我些项目的时候进行的文件操作一样,首先需要进行文件资料的导入。我们使用刚刚我写在这里的英文就可以将类和包都创建好了。
2024-04-07 23:11:43
452
原创 继承 多态 接口 抽象
假设我们要写一个类 名字叫人了,然后人类中都必须工作,在学生这个群体中工作是学习,而在老师这个群体中工作就是教书,那我们在写这个方法的时候我们必须要重写,为了提醒程序员要重写,所以我们呢需要写一个抽象方法,含有抽象方法的类就叫做抽象类。成员变量是可以直接使用的。假设里面有一个String类型的name(这个name子类里面有父类里面也有) 和 成员方法show当我们调用name的时候,这个name的值是父类里面的值,当我们调用成员方法时候调用的是子类里面的成员方法。
2024-04-05 00:05:44
677
原创 集合的学习
小技巧:当我们在创建对象的时候,,我们使用构造器的时候不记得应该填入变量的顺序的·时候我们可以点击小括号,然后点击ctrl + p就可以看应该填入变量的顺序了。按照下标进行删除元素:如果我们使用一个String类型的字符串来接收这个要删除的字符串,这个定义的字符串就会被赋这个删除了的元素。我们想通过循环来输入对象,这其实是不对的,因为集合的长度是可以变的,所以我们不能使用list.size()来遍历这个数组。使用的时候是将需要替换的元素下标卸载第一位,第二位就写想要替换在集合里面的字符串。
2024-04-02 21:17:46
630
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅