- 博客(59)
- 收藏
- 关注
原创 在项目中碰到各种问题
Autowired是spring提供的,默认按照类型来匹配注入@Resource是java提供的,可以使用name属性来指定要注入的ben,如果没有使用name属性,那么就按照类型来匹配注入,如果此时要注入的ben有多个实例,则会报错@autowired可以用于构造器,属性和方法中,resource只能用于属性和方法中@autowired加上@Qualifier注解可以指定要注入的ben。
2023-04-20 16:10:32 111
原创 redis面试题:缓存穿透,雪崩,击穿,保证redis跟数据库的数据一致性,主从复制原理以及流程,哨兵模式原理以及流程,集群化模式原理以及流程
一个主节点,多个从节点,主节点可以进行读写操作,从节点只能负责读操作,当主节点上执行写命令的时候,会把数据同步到从节点上,当读取数据的时候,去从节点上进行读取,这样就可以分担主节点的读压力,配置主从复制的操作是在从节点上,使用slaveof命令,然后跟上主节点的ip和端口号。当从节点重新连接之后,会发送自己的replid跟offset,主节点接收到之后,会根据offset来获取之后的数据,然后再发送给从节点,从节点接收到之后就开始同步。
2023-03-14 13:06:44 370 2
原创 记录项目中的select场景语句以及mybatis中的对应操作,如:分组补0,递归查询
表如下,如何让这个表按device_id这个字段分组,且组中的每条数据都查寻出来?正确的结果:select * from devicedata GROUP BY device_id, id。需求1:获取某天的数据数量,例如:获取2023年3月8号,新注册的用户数量。这样就达到了我们的目的了,将每组中的每条数据都查寻出来了。2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;1、from子句组装来自不同数据源的数据;4、使用聚集函数进行计算;6、计算所有的表达式;
2023-03-08 12:01:15 347
原创 splunk Enterprise 的HTTP收集器创建以及数据查询
source="http:收集器的名称"(在这里,我们使用的收集器名称叫test)
2024-08-27 15:45:25 440
原创 linux进行redis的安装并使用RDB进行数据迁移
命令来停止redis的服务,停止了之后,把A电脑生成的rdb文件,放到B电脑的redis的根目录里面,名称一样是叫。启动,redis会自动读取目录下的dump.rdb文件并恢复数据,启动成功之后,我们用。就可以连上本机的redis了。一定要先停了redis。
2024-07-15 16:36:41 876
原创 Wechaty 企业微信机器人启动,token报错:Wechaty service discovery / resolution....
【代码】Wechaty 企业微信机器人启动,token报错:Wechaty service discovery / resolution....
2024-03-15 22:06:47 947 3
原创 Wechaty 企业微信机器人报:return ‘port‘ in address
报:return 'port' in address,可以通过修改底层模块源码解决这个报错
2024-03-15 10:05:47 506
原创 ES搜索的安装以及常用的增删改查操作(已经写好json文件,可以直接使用)
1.es的下载https://www.elastic.co/cn/downloads/past-releases2.elasticsearch安装及配置,遇到9200访问不了以及中文乱码,能访问了却要账户密码等问题Elasticsearch启动后访问9200失败_http://localhost:9200无返回值-CSDN博客3.开启es服务:Bing文件夹下的elasticsearch.bat4.下载ik分词器本地elasticsearch中文分词器
2024-01-14 15:58:06 547
原创 java的NIO面试题
非阻塞IO:当硬盘读取数据的时候,程序可以继续向下执行代码,等数据读取完后,通知当前程序数据已经读取完成,然后程序可以立即处理读取的数据,也可以执行完当前操作后再对读取完的数据进行操作。缓冲区有几个比较重要的属性:容量,读写位置,读写的限制,读写位置的临时备份,然后缓冲区有很多方法,都是对这几个属性做操作,然后达到我们想要的结果。阻塞 IO 指的是:当硬盘读取数据的时候,程序会会阻塞状态,数据读完后,才能继续执行代码。NIO:面向缓冲区的,通道可以是单向的,也可以是双向的,是非阻塞IO。
2024-01-14 13:58:09 420
原创 nest框架的bull队列的基本使用
@nestjs/bull是一个用于处理队列的Nest.js模块。它基于Bull库,提供了在Nest框架中使用队列的功能,这个模块要跟redis联合起来使用
2024-01-02 08:43:31 959
原创 nest.js框架基本使用
先把npm的镜像源切换成阿里巴巴的,要不然下载挺慢的:1.创建文件先创建一个文件夹:nestDemo执行以上这两个命令,然后选npm,再创建项目2.运行项目。
2023-12-14 17:54:16 536
原创 nest框架的token登录,以及token校验
validate 方法的参数我个人是认为可变的,但是没实现出来,validate 方法完成之后,会把结果放到 request.user 里面。现在就可以实现一个简单的 /login 路由,并应用内置的守卫来启动 Passport-local 流。在 auth 目录下新增编写本地策略的配置文件 jwt.strategy.ts。我们可以声明一个默认策略,就不必再传入名称了。在 AppController 中,使用。编写 AuthService,添加。目录下新增编写本地策略的配置文件。装饰器需要传递策略的名称。
2023-12-14 17:28:39 1852
原创 midwayjs从零开始创建项目,连接mikro-orm框架(必须有java的springboot基础)
【代码】midwayjs从零开始创建项目,连接mikro-orm框架(必须有java的springboot基础)
2023-12-10 22:17:25 936
原创 url在api测试工具可以访问,但在浏览器不能访问
api测试工具可以正常返回数据,但在浏览器中输入url无法访问网站那么很有可能是端口号的原因被浏览器取消了访问。2.取消端口号的限制。(具体方法已经有很多前辈讲过了,若感兴趣请自行搜索)我这里用了6000做端口号,就有问题,我把端口号改成6419就ok了。1.修改配置文件中的端口号。
2023-11-15 18:17:52 455
原创 Maven多环境下 active: @profileActive@报错问题解决
【代码】Maven多环境下 active: @profileActive@报错问题解决。
2023-11-08 00:53:58 1214
原创 【已解决】在linux部署出现java文件操作报错:java.io.FileNotFoundException
在部署环境,要使用 InputStream inputStream = resource.getInputStream();这个方法。
2023-11-02 14:19:18 2482 1
原创 sprintboot + mybatis plus + dynamic-datasource 多数据切换以及保证多数据源的事务的一致性
表示这两个类中的所有请求数据库的操作,都会被切换成 'slave_1' 数据源中的数据库。注意:@DS的本质就是通过aop去实现的。
2023-09-11 00:13:47 542
原创 springboot集成shiro完成token认证,以及需要注意的点
注意 :继承 UsernamePasswordToken 类后,账号跟密码使用了 UsernamePasswordToken 类的构造方法2.自定义Realm@Override//授权@Override/*常见的方法:addRole(String role):向授权信息中添加角色。addRoles(Collection roles):向授权信息中添加多个角色。
2023-08-24 00:05:49 1737
原创 微信支付的服务商模式V3支付(可直接使用)
直连商户:例如张三开了一个小程序,然后别人在这个小程序买东西,结账的时候,钱是直接打到张三的账号上的。服务商模式:例如张三开了一个小程序,然后这个小程序中有一个开分店的功能,然后别人在分店购买东西,在结账的时候,钱是直接打到分店的负责人的账号上的。
2023-07-12 16:56:18 10914 9
原创 ReentrantLock底层原理以及AQS详解
多线程之间的共享变量是存在主内存的,而每一个线程都会有工作内存,这个工作内存是抽象出来的,不是真实存在的,每一个线程都会读取主内存中的共享数据以副本的形式保存到自己的工作内存中,然后对自己工作内存中的数据进行处理,但是这个处理的结果其他线程是看不到的,只有当前线程可以看得到,这是造成线程不可见性的主要原因。的值等于0,则表示这个锁暂时还没有被线程所持有,可以尝试来获取锁,因为公平锁是有维护一个队列的(先到先得,在队列中最前面的线程是可以最先获取锁的),所以。
2023-06-30 00:03:39 116
原创 java线程中断(interrupted)原理详解
在java中,线程的中断(interrupt)只是改变了线程的中断状态,注意:只是改变了线程的中断状态!至于这个中断状态改变后带来的结果,那是无法确定的,有时它更是让停止中的线程继续执行的唯一手段。不但不是让线程停止运行,反而是继续执行线程的手段。
2023-06-26 23:29:57 4625 4
原创 join方法的底层原理
Join可以把指定的线程加入到当前线程,为顺将两个交替执行的线程合并为顺序执行的线程。比如在线程A中调用了线程B的Join()方法,直到线程B执行完毕后,才会继续执行线程A。底层实现是基于对象的wait和notify方法来实现的。
2023-06-21 16:37:27 418
原创 JetBrains系IDE使用Git很慢的问题(亲测有效)
(64位系统的runnerw64.exe)或者直接更改后缀名,反正只要让 IDE 找不到这个exe就可以,然后这个问题就解决了。不需要重启 IDE ,即时生效,如果你使用的是 JetBrains ToolBox 来安装升级 IDE 的话,每次IDE更新,你都需要冲洗去屏蔽那两个文件;如果是官网下载安装包安装的,改一次就行了。只需要删除掉 IDE 安装目录下的。runnerw.exe删除后就变得特别快了。
2023-06-20 14:41:51 414
原创 多线程常见面试题
指的是有一个或者多个操作,这些操作要么不执行,但是只要执行了,就不能被其他线程所打断:共享变量在多线程的情况下,有一个线程对其进行了修改,那么其他线程就要立马看到修改之后的结果:指代码的执行顺序要跟写代码时候的顺序一样:由于cpu上下文切换导致的原子性问题,线程之间的工作内存跟主内存之间的关系导致了可见性问题,还有jvm的重排序优化导致的有序性问题。
2023-06-13 09:26:46 185
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人