自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下的java环境搭建

Linux操作系统下配置JAVA环境

2023-12-05 22:24:29 261

原创 深度优先搜索(dfs),宽度优先搜索(bfs),深度优先遍历,宽度优先遍历

DFS,BFS,树与图的深度优先遍历,树与图的广度优先遍历,树的重心,八数码,走迷宫,n皇后,全排列经典例题。

2022-07-09 11:26:15 2267

原创 广度优先搜索(BFS)(队列实现) 走迷宫

BFS应用:寻找最短路径或者遍历路径。(树,图或者更抽象的...)实现方法:队列为什么bfs需要队列实现? 队列的原理是先进先出,而广度优先搜索类似于树的层次遍历,从离根节点最近的点开始向外扩散,因此用队列将最先遍历的点存入,后遍历的点后存入,符合bfs的逻辑。经典例题:走迷宫学习中遇到的几个问题:1,如何表示迷宫走的方向?——通过向量表示,dx,dy一一对应; 分别是四个方向:向上/下/左/右;2, 如何确保最后返回的一定是最短路径?———因为bfs是广度优先搜索,一定是从最近的点开始向外扩散,在b

2022-06-25 01:02:39 4148 3

原创 Interviewer.vue

【代码】Interviewer.vue。

2024-07-11 12:15:27 248

原创 SpringBoot集成ChatGPT

首先你要有一个openai的账号,然后申请apikey,并且里面有一定的额度。

2024-06-20 16:30:37 359

原创 Vue3中子组件挂载问题,父组件修改子组件值的问题

1,首先在父组件导入子组件。

2024-06-12 16:07:50 160

原创 el-select出现全选情况,并且无论点击哪个选项,都显示最后一个选项的问题

原因:由于绑定的是对象类型数据,官网要求指定value-key作为唯一性标识。

2024-06-12 15:44:25 316

原创 Vue3实时检测的录音功能

如果有人声并且大于20db,则开始录制。低于20db超过4秒,停止录制。

2024-05-26 18:43:40 383 1

原创 什么是面向对象?

这样的好处就在于,隐藏了内部实现细节,提高安全性,对外提供公共访问方法,提高代码复用性。封装的意义就在于,隐藏了实现细节,对外的调用者来说是透明的,调用者无需知道内部实现方式,只需要知道这个方法是干什么的就好了。继承主要用途就是将子类中共有的方法抽取到父类中,比如说共有的属性和方法,更大的提高的代码复用程度。继承的好处:1,想要使用这些属性和方法的时候,直接调用父类的即可,无需再重新定义,更大程度的提高了代码的复用性。2,无需再写很多冗余代码,如果需要个性化定义子类方法,在子类中去重写父类方法即可。

2024-04-28 12:08:06 394

原创 Vue3父传子获取值为data中的值赋值

【代码】Vue3父传子获取值为data中的值赋值。

2024-04-09 09:13:51 239

原创 Vue3中父组件向子组件、子组件向父组件、兄弟组件传值

注:props只可从上一级组件传到下一级组件(父子组件),即单向数据流。方法一:A组件------------------>父组件------------------>B组件。在子组件上监听emit定义的事件名称并绑定自身的函数,在函数参数中接收子组件传递的参数。父组件中引用子组件,并在子组件标签中添加子组件props中创建的属性。(子组件传父组件) (父组件传子组件)子组件中创建一个属性,用来接收父组件传过来的值。最后将需要传给子组件的值赋给该属性。假设我们从A组件中将值传给B组件。

2024-04-08 19:09:58 454

原创 Vue3中对v-md-editor编辑器的集成使用

在main.js中进行全局配置。

2024-04-08 16:39:31 598

原创 后端上传文件使用阿里云oss存储文件(图片)

前端向后端传文件,后端Controller层接收。3,读取配置文件application.yml中的配置。2,application.yml配置。1,pom.xml安装依赖。4,Service层接口。

2024-04-07 15:06:51 351

原创 电话号码的字母组合(LeetCode17题)

主要思想就是一条路走到黑,回溯时记得恢复现场。

2024-04-04 13:37:38 85

原创 Vue3配置Axios

1,创建index.js文件。2,main.js全局挂载。

2024-03-31 23:59:40 219

原创 自动装箱 自动拆箱

由此可以判断 如果是使用new那么每次都会返回false。因此使用的是Integer中的valueOf。使用数组缓存,如果要转换的数在-128到127之间,直接返回对象,否则创建一个新的对象。底层隐式调用了intValue()方法。基本类型转换为包装类型。包装类型转换为基本类型。

2024-03-24 10:26:22 224 1

原创 Java中数组和List的互相转换

【代码】Java中数组和List的互相转换。

2024-03-14 18:11:46 444 1

原创 平衡二叉树

2,中序遍历:按左,根,右方式遍历(二分搜索树的特点:从小到大依次输出)1,当前节点的值大于左节点的值,小于右节点的值。2,除过叶子节点 其余非叶子节点都有左右孩子。3,后序遍历:按左,右,根方式遍历。4,先序遍历:按根,左,右方式遍历。注:存储元素的值必须具有可比性。2,每一棵子树也是二分搜索树。1,叶子节点在最后一层。

2024-03-09 13:12:20 172

原创 vue处理Element-UI中message重复跳出的情况

utils包中新建 optimizePop.js文件。main.js中导入。

2024-02-29 11:48:37 586

原创 MySQL高级

非聚簇索引:索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需 要根据索引上的值(主键)再次回表查询,非聚簇索引。支持事务、行级锁(并发量大)、外键约束,容量大、支持索引、支持缓存、支持主键自增、不支持存储表的总行数,需要sql逐行统计。聚簇索引:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以 innodb 中的主键就是聚簇索引(一级索引)。不支持行锁、只有表锁(并发小),不支持外键,支持全文检索,MYSIAM存储了表的总行数,统计速度快。排序、分组使用的列。

2024-01-27 14:39:34 917

原创 JAVASE进阶(设计模式、设计原则)

Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。@Deprecated - 标记过时方法。如果使用该方法,会报编译警告。@SuppressWarnings - 指示编译器去忽略注解中声明的警告。@FunctionalInterface 用于指示被修饰的接口是函数式接口。克隆分为浅克隆、深克隆。

2024-01-22 15:07:31 1055

原创 线程进阶(以解决线程安全问题为主)、volatile的底层实现

当一个变量被声明为 volatile 时,线程在写入变量时不会把值缓存在寄存器或者其他地方,而是会把值刷新回主内存。当其他线程读取该共享变量时,会从主内存重新获取最新值,而不是使用当前线程的工作内存中的值。volatile 的内存语义和synchronized有相似之处,具体来说就是,当线程写入了 volatile变量值时就等价于线程退出synchronized同步块(把写入工作内存的变量值同步到主内存),读取 volatile 变量值时就相当于进入同步块(先清空本地内存变量值,再从主内存获取最新值)。

2024-01-18 21:40:39 983

原创 线程、线程创建、多线程、线程同步

线程和进程的关系:一个进程可以包含多个线程,线程必须属于某一进程,不能独立存在。一个进程中的所有线程共享该进程中的所有资源。同步锁/对象要求:多个线程必须访问到的是同一个对象,对象用来记录有没有线程进入到同步代码块中。2)多个线程可以共享同一个接口实现类的对象,非常适合多个相同线程来处。实现Runnable:线程代码存在接口的子类的run方法。并行:是真正意义上的同时执行,一个时间节点多个任务同时执行。多线程:一个程序内部可以创建多个线程执行不同的任务。进程:正在执行的程序,操作系统分配资源的最小单位。

2024-01-18 13:40:06 400

原创 Redis相关问题

先删除Redis的数据,然后更新MySQL中的数据,此时Redis查询到MySQL中的老数据,等MySQL更新完成之后再查询,更新Redis中的数据。6.0版本之后是多线程的,处理客户端网络请求连接是多线程,执行读写操作是单线程,所以线程依然是安全的。但是也会存在数据不一致的问题,一个线程正在更新MySQL,事务此时还未提交,Redis查询的还是老数据。

2024-01-17 14:01:57 500

原创 Redis集群(主从复制)

是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能 由主节点到从节点。写入的命令直接发送到主机执行,主机会将数据自动备份到从机,实现读写分离,分担redis服务压力。pidfile /var/run/redis_6379.pid #进程号文件。pidfile /var/run/redis_6380.pid #进程号文件。从机进入客户端模式 ./redis-cli -p 从机端口。

2024-01-14 17:00:11 517

原创 Elasticsearch的基本功能和使用

简称为 ES,是一款非常强大的开源的高扩展的分布式全文 检索引擎,可以帮助我们从海量数据中快速找到需要的内容,它可以近乎实时的 存储、检索数据.还可以可以实现日志统计、分析、系统监控等功能.例如京东,淘宝,头条等站内搜索功能.ES环境搭建ES 下载地址:默认打开是最新版本 7.6.1 版下载https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-windows-x86_64.zip解压。

2024-01-14 16:33:33 1275

原创 一周中的第几天

【代码】一周中的第几天。

2023-12-30 00:16:29 426

原创 *234 open() “/opt/nginx/html/newsDetail“ failed (2: No such file or directory)错误解决方案

是一个常用于Nginx服务器配置中的指令。它用来决定如何响应特定的HTTP请求。文件,所有的路由都在这个文件中处理。通过这样的配置,即使客户端直接请求一个不存在的路径,也能正确地返回。这样的配置在很多单页应用(SPA)中很有用,因为它们通常只有一个。将前后端部署到服务器,发现可以打开首页,但是转到其他页面失败。查看了服务器的日志,后端打印了日志,前端报错。,从而让单页应用能够接管并处理这个请求。在nginx.cof配置了。然后重启,就可以访问了。

2023-12-28 15:47:40 595

原创 SpringBoot集成Swagger功能

2,过滤器放行Swagger功能。1,配置Swagger接口。

2023-12-26 16:22:31 381

原创 数学之鸡兔同笼问题

假设番茄堡x个,小皇堡y个,可以得出x,y的结果,用题目给的代替,再判断x,y是否符合题目要求,最后返回值。今天的每日一题写的很low,居然没想到鸡兔同笼,还傻傻的模拟!()我的愚蠢写法:(超时)

2023-12-25 18:56:48 493

原创 【2023下算法课设】Gray码的分治构造算法

传统的二进制系统例如数字3的表示法为011,要切换为邻近的数字4,也就是100时,装置中的三个位元都得要转换,因此于未完全转换的过程时装置会经历短暂的,010,001,101,110,111等其中数种状态,也就是代表着2、1、5、6、7,因此此种数字编码方法于邻近数字转换时有比较大的误差可能范围。例如长度为2³的格雷码为(000,001,011,010,110,111,101,100),设计分治算法对任意的n值构造相应的格雷码。十进制   格雷码 二进制。

2023-12-25 14:43:38 609

原创 SpringBoot+vue实现评论区分页效果

因为分页是SpringBoot已经封装好的,会在sql语句中自动加上limit去分页查询,加了分号springboot添加limit查询会产生语法错误。当评论区含大量数据时,一次性查询速度很慢,所以使用分页,实现分页效果。需要注意的是不要在sql语句最后加分号";javaScrip向后端传数据。不然你就会产生这样的错误。

2023-12-22 18:47:46 787

原创 js中设置cookie

【代码】js中设置cookie。

2023-12-21 15:16:15 365

原创 vue前端拦截器

注:sessionStorage和localStorage的区别,localStorage可长期保存token,即使跳转新页面也依旧存在于浏览器。

2023-12-21 00:18:04 419

原创 SpringBoot过滤器过滤未登录操作的页面

【代码】SpringBoot过滤器过滤未登录操作的页面。

2023-12-21 00:15:38 400

原创 前端验证码计时器(短信验证登录倒计时)

【代码】前端验证码计时器。

2023-12-19 01:31:12 426

原创 利用redis给邮箱发送邮件功能

【代码】利用redis给邮箱发送邮件功能。

2023-12-18 23:28:21 491

原创 关于在redis中查找键值对报java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to...的问题

返回linkedHashMap类型。它的设计使得我们可以更容易地按照插入顺序迭代元素的键值对。这样可以确保转换是安全的,并且不会导致任何意外的行为或错误。强制转换为其他对象类型时,你应该非常小心。有相同的语义和功能,并且不会破坏任何内部状态或依赖关系。转换为其他类型,最好的做法是创建一个新的对象,并手动复制。

2023-12-16 18:34:47 389

原创 200.岛屿数量(bfs写法)

宽搜的正常思路,只不过每次加上计算岛屿数量cnt即可。

2023-12-16 12:48:50 35

原创 Leetcode每日一题(分割回文串Ⅰ)

Leetcode每日一题(分割回文串Ⅰ)

2023-12-14 19:55:17 92

Gray码的分治构造算法

Gray码是一个长度为2ⁿ的序列,序列中无相同元素,且每个元素都是长度为n位的二进制位串,相邻元素恰好只有1位不同。例如长度为2³的格雷码为(000,001,011,010,110,111,101,100),设计分治算法对任意的n值构造相应的格雷码。 本文旨在设计一种使用分治算法对任意的n值构造相应的格雷码的程序。首先,简要介绍了格雷码的基本概念和生成方法。然后,提出了一种基于分治思想的算法,用于生成任意长度的格雷码。在算法的具体实现上,采用了递归的思路。首先,将待生成的格雷码分为两部分,分别计算它们的格雷码,然后再将这两个格雷码合并成一个完整的格雷码。 该程序采用Java作为设计语言,采用了分治算法来实现任意长度的Gray码,代码简明清晰,易于理解。 关键词:Java;Gray码;分治算法 Gray码,又称为格雷码,是一种二进制数列的排列方式。它的特点是任意两个连续的数值只有一个位数的差异。这种特性使得Gray码在误差检测和许多工程应用中具有优势,如模拟/数字转换、轴角编码、通信等。 本课题的研究目标是探讨和理解Gray码的分治构造算法。该算法应能处理不同长度的Gray码的生成问题。

2023-12-27

空空如也

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

TA关注的人

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