自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python异步编程

python异步操作

2024-11-26 09:48:02 1522

原创 9.25-编程刷题

【代码】9.25-编程刷题。

2024-09-25 09:39:16 525 1

原创 BM49 表达式求值

刷题

2024-08-30 14:12:25 270

原创 在Linux中杀死占用某个端口的进程

选项表示强制终止进程,但这种方式可能会导致数据丢失或其他不良后果,所以在使用时要谨慎。确定要杀死的进程 PID。从上述步骤中获取到占用端口 9997 的进程 PID。

2024-08-28 09:29:32 1721

原创 牛客刷题 堆/栈/队列(一)

【代码】牛客刷题 堆/栈/队列(一)

2024-08-22 13:28:13 255

原创 牛客刷题二叉树(三)

【代码】牛客刷题二叉树(三)

2024-08-20 10:12:44 263

原创 牛客刷题二叉树(二)

【代码】牛客刷题二叉树(二)

2024-08-17 11:55:07 184

原创 提示词工程

提示工程也叫指令工程。就是探讨如何设计出最佳提示词,用于指导语言模型都助我们高效完成某项任务。Prompt(提示词)即发送给大模型的指令,比如「讲个笑话」、「制定一份哈尔滨三天的旅游攻略」等。Prompt是AGl时代的编程语言Prompt工程是Al时代的软件工程提示工程师是AGI时代的「程序员」

2024-08-17 10:57:44 956

原创 牛客刷题二叉树(一)

【代码】牛客刷题二叉树(一)

2024-08-16 17:10:30 190

原创 Docker入门

但卷映射会先将容器中目录的文件复制到宿主机目录上;而目录挂载不会,会原封不动的维持宿主机目录中的内容;因此目录挂载可能导致docker启动的image中定义的文件缺失。语法相近,都是在 `docker run` 的 `-v` 参数上设置。但目录挂载的`:`左侧是一个开头目录名,而卷映射的`:`左侧是一个普通的名字(卷名)⽬录挂载: -v /app/nghtml:/usr/share/nginx/html。卷映射: -v ngconf:/etc/nginx。使⽤ CentOS 7.9。

2024-08-15 16:25:48 254

原创 创建Python的虚拟环境

通过使用Python的虚拟环境工具virtualenv和venv,我们可以为每个项目创建一个独立的Python环境,避免不同项目之间的依赖冲突。在开发过程中,我们可以根据需要安装和管理库,提高项目的可维护性和可移植性。为了避免不同项目之间的依赖冲突,我们可以使用虚拟环境来隔离每个项目的依赖。在虚拟环境中,我们可以使用pip来安装所需的库。创建虚拟环境后,我们需要激活它才能在其中安装和使用库。激活虚拟环境后,命令行提示符会显示虚拟环境的名称,表示我们已经进入了虚拟环境。完成项目开发后,我们可以退出虚拟环境。

2024-08-08 09:19:17 305

原创 python中的venv文件夹用途和用法

虚拟环境是一种隔离 Python 环境的机制,可以让我们在同一台机器上运行多个 Python 项目,并保证每个项目使用的 Python 版本和第三方库版本都是独立的。在 pytest 中,我们可以在虚拟环境中安装 pytest 和其他需要使用的第三方库,然后在虚拟环境中执行测试脚本。总之,venv 文件夹是 pytest 中用来存储 Python 虚拟环境的文件夹,用于隔离不同项目的 Python 环境,提高项目的可维护性和稳定性。创建虚拟环境:在终端中输入以下命令,创建一个名为 myenv 的虚拟环境。

2024-08-07 17:18:41 1521

原创 聊一聊知识图谱结合RAG

rag在利用私有数据增强大模型回答的领域是一种比较典型的技术,也就是我们提出问题的时候,rag会根据我们的问题去知识库中检索一些比较相关的文档或者语句,将这些文档和我们的问题一起拼接到提示词模版中,得到一个完整的提问大模型的问题,这样大模型就可以根据我们提供的知识以及我们的问题来对特定领域的问题进行回答了。这时候就需要知识图谱了,知识图谱是一种类似于图结构,其中有很多的实体,也就是结点,也有很多的关系,也就是边,一个文档可以理解为一个图结构,各个文档之间没有交集,也就是对应的图结构不会有关系。

2024-07-26 22:57:55 391

原创 牛客链表刷题(四)

链表刷题

2024-06-26 10:10:05 262 1

原创 牛客链表刷题(三)

链表编程题

2024-06-17 17:30:13 347

原创 牛客链表刷题(二)

链表编程题

2024-06-15 10:39:21 421

原创 牛客链表刷题(一)

【代码】牛客链表刷题(一)

2024-06-14 09:02:37 379

原创 MongoDB入门

MongoDB入门

2024-06-04 11:53:55 847

原创 代码生成器(一)---项目概述以及项目初始化

代码生成器项目概述以及初始化项目

2024-05-24 10:42:53 1051

原创 力扣826---安排工作以达到最大收益(Java、排序,双指针)

力扣

2024-05-17 11:42:56 328

原创 JVM---垃圾回收

⚫ 终结器引用指的是在对象需要被回收时,终结器引用会关联对象并放置在Finalizer类中的引用队列中,在稍后由一条由FinalizerThread线程从队列中获取对象,然后执行对象的finalize方法,在对象第二次被回收时,该对象才真正的被回收。由于内存是连续的,所以在对象被删除之后,内存中会出现很多细小的可用内存单元。复制算法只需要遍历一次存活对象,复制到To空间即可,比标记-整理算法少了一次遍历的过程,因而性能较好,但是不如标记-清除算法,因为标记清除算法不需要进行对象的移动。

2024-05-11 14:52:13 1378

原创 力扣2391---收集垃圾的最少总时间(Java、前缀和)

力扣题目

2024-05-11 13:50:14 798

原创 力扣2960---统计已测试设备(简单题、Java)

力扣

2024-05-10 14:18:12 427

原创 Java内存区域

JVM运行区域

2024-05-09 18:51:11 1068

原创 JVM---类加载器

Java类加载器

2024-05-09 10:43:19 1345

原创 力扣2105---给植物浇水II(Java、模拟、双指针)

当 i<j 时,我们分别判断 Alice 和 Bob 的水量是否足够浇水,如果不够,我们就重新灌满水罐。最后我们还需要判断 i 和 j 是否相等,如果相等,我们还需要判断 max(a,b) 是否小于植物的水量,如果小于,我们需要再次重新灌满水罐。- Alice 的水罐有 10 单元水,Bob 的水罐有 8 单元水。- Alice 和 Bob 现在都只有 1 单元水,并分别需要给植物 1 和植物 2 浇水。- 最初,Alice 的水罐中有 3 单元水,Bob 的水罐中有 4 单元水。

2024-05-09 09:40:36 1173 1

原创 类的生命周期

类的加载

2024-05-08 18:26:22 1093

原创 JVM基础

JVM基础

2024-05-08 17:17:57 525

原创 线程池详解

步骤1:自定义拒绝策略接口@FunctionalInterface // 拒绝策略步骤2:自定义任务队列// 1. 任务队列// 2. 锁// 3. 生产者条件变量// 4. 消费者条件变量// 5. 容量// 带超时阻塞获取try {// 将 timeout 统一转换为 纳秒try {// 返回值是剩余时间return t;// 阻塞获取try {try {return t;// 阻塞添加try {try {

2024-05-08 10:24:51 1317

原创 力扣2079---给植物浇水(Java、模拟)

最简单的方式就是模拟法,用几个变量,分别记录当前剩余的水量,和下一个要浇的菜的位置索引,还有已经走过的总步数,按照题意进行遍历即可。需要的步数是 = 1 + 1 + 2 + 2 + 3 + 3 + 4 + 4 + 5 + 5 + 6 + 6 + 7 = 49。需要的步数是 = 3 + 3 + 4 + 4 + 5 + 5 + 6 = 30。需要的步数是 = 1 + 1 + 2 + 3 + 3 + 4 = 14。- 走到植物 0,1,2 (3 步) ,浇水。- 走到植物 3 (4 步) ,浇水。

2024-05-08 09:36:43 450

原创 MySQL视图

视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。

2024-05-08 00:01:19 1064

原创 力扣---三数之和(Java、模拟)

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0?请找出所有和为 0 且 不重复 的三元组。先排序,保证有序,然后找到所有的三个元素的组合,再去重。

2024-05-06 16:09:33 391 3

原创 并发编程总结(二)

系统要求任一进程必须预先申请它所需要的全部资源,而且仅当该进程的全部资源要求能得到满足时,系统才能给予一次性分配,然后启动该进程运行,但是在分配时只要有一种资源不满足,系统就不会给进程分配资源。死锁的检测:检查死锁的办法就是由软件检查系统中由进程和资源构成的有向图是否构成一个或多个环路,若是,则存在死锁,否则不存在。允许系统在运行的过程中产生死锁,但是,系统中有相应的管理模块可以及时检测出已经产生的死锁,并且精确地确定与死锁有关的进程和资源,然后采取适当措施,清除系统中已经产生的死锁。

2024-05-06 10:18:21 828

原创 并发编程总结(一)

大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360。家庭主妇雇了个保姆,她们一起这些事,这时既有并发,也有并行(这时会产生竞争,例如锅只有一口,一 个人用锅时,另一个人就得等待)有一种特殊的线程叫做守护线程,只要其它非守 护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。进程基本上相互独立的,而线程存在于进程内,是进程的一个子集。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。

2024-05-02 14:50:54 904

原创 CAS 与 volatile

会让线程在没有获得锁的时 候,发生上下文切换,进入阻塞。synchronized 是基于悲观锁的思想:最悲观的估计,得防着其它线程来修改共享变量,我上了锁你们都别想 改,我改完了解开锁,你们才有机会。它可以用来修饰成员变量和静态成员变量,他可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取 它的值,线程操作 volatile。在这里就好比高速跑道,没有额外的跑 道,线程想高速运行也无从谈起,虽然不会进入阻塞,但由于没有分到时间片,仍然会进入可运行状态,还 是会导致上下文切换。

2024-05-02 10:36:08 64

原创 力扣1052---爱生气的书店老板(Java、中等题、滑动窗口)

再利用以minutes为长度的滑动窗口来进行遍历,每次遍历都是统计当前窗口内老板状态为1的客户数量总和,即增量,取所有窗口中的最大值,即最大增量,将最大增量与之前的用户数进行相加即可。我们可以先从前向后进行遍历,统计出所有老板状态为0的时刻,客户数量的总和。当书店老板生气时,那一分钟的顾客就会不满意,若老板不生气则顾客是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续。在某些时候,书店老板会生气。分钟开始时进入商店的顾客数量,所有这些顾客在第。有一个书店老板,他的书店开了。

2024-04-23 10:00:16 220

原创 力扣377---组合总和IV(Java、动态规划、中等题)

力扣

2024-04-22 13:33:53 237

原创 力扣216---组合总和III(Java、递归回溯)

力扣

2024-04-21 22:52:10 390 3

原创 sql语句基础练习

请你编写一个 SQL 查询,返回每个学生的详细信息(字段顺序和原始表的字段顺序一致),并且按照分数降序的方式获取每个班级内的学生的前一名学生姓名(prev_name)、后一名学生姓名(next_name)。在之前的教程中,我们所有的查询操作都是在单个数据表中进行的。请你编写一个 SQL 查询,返回每个学生的详细信息(字段顺序和原始表的字段顺序一致),并且按照分数降序的方式计算每个班级内的学生的分数排名(ranking)。在排名过程中,相同的值将被赋予相同的排名,而不同的值将被赋予不同的排名。

2024-04-18 22:28:11 2076

原创 设计模式---模板方法模式

设计模式思路

2024-04-16 23:32:02 497

空空如也

空空如也

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

TA关注的人

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