- 博客(41)
- 收藏
- 关注
原创 MyBatis拦截器面试题
拦截的执行顺序是Executor执行器->StatementHandler语句->ParameterHandler参数->ResultHandler结果。(我的猜测:1执行器通过工厂执行Mapper类,,2.语句映射器处理mappe文件成对象,3把前端传过来的参数映射到对象里,4输出结果映射)
2024-08-29 11:57:45
460
原创 docker安装ES 修改目录权限 安装IK中文分词器
1创建 /opt/es7/data文件夹/opt/es7 下 data文件夹要开放权限2。
2024-08-21 18:18:38
554
原创 MongoDB
MongoDB是一种,适用于许多不同的使用场景。:实时应用:MongoDB 非常适合需要频繁插入、更新和查询的实时应用程序,比如新闻feed、博客、论坛、评论系统等,其快速的写入速度和高效的查询性能有利于应对高并发访问。:游戏用户信息:存储玩家账户、角色属性、装备、积分等数据,内嵌文档结构能很好地满足这类复杂且动态变化的数据需求。实时数据分析:游戏事件日志、实时排行榜等场景要求数据库具备快速写入和即时查询的能力。:订单管理:订单信息、商品库存、交易历史等,MongoDB 对频繁更新的状态跟踪表现优秀。
2024-08-21 12:57:33
808
原创 线程面试题
先使用核心线程执行任务。当核心线程不足时,新任务入队列等待。当队列满且线程数未达最大值时,增加非核心线程执行任务。当队列满且线程数已达最大值时,触发拒绝策略处理新来的任务。长工 排队人数 短工。
2024-08-19 19:02:16
721
原创 canal
1.在服务器新建文件夹 /opt/mysql/data,新建文件 /opt/mysql/conf.d/my.cnf其中my.cnf 内容如下2.启动数据库3.校验是否开启成功。
2024-08-15 21:50:26
396
原创 面试题:Rabbitmq怎么保证消息的可靠性?
为保证消息可靠性,可以设置autoAck=false,使得消费者在处理完消息后手动发送确认(basicAck)。当消息不能被正常消费时(比如达到最大重试次数),可以通过设置TTL(Time To Live)或者死信交换器(Dead Letter Exchange)将消息路由至死信队列,从而有机会后续分析和处理这些无法正常消费的消息。当生产者发布消息时,可以选择将其标记为持久化(persistent).这意味着即使 RabbitMQ 服务器重启,消息也不会丢失,因为它们会被存储在磁盘上。
2024-08-14 21:19:10
868
原创 延迟队列插件
/设置延迟时间//如果RabbitMQ成功将消息写入磁盘,并且至少被一个交换器接受,那么消息就被认为是持久化的 //设置消息持久化,默认是PERSISTENT});
2024-08-14 20:58:05
296
原创 MQ死信对列
死信就是消息在特定场景下的一种表现形式,这些场景包括:1.消息被拒绝访问,即消费者返回 basicNack 的信号时 或者拒绝basicReject2. 消费者发生异常,超过重试次数。其实spring框架调用的就是 basicNack3.消息的Expiration 过期时长或队列TTL过期时间。.ttl(20*1000) 进入的是 先进业务队列的数据.业务队列中先进入队列的信息会阻塞门口,不让过期的信息进入死信队列直到自己过期才放行,后期需要用交换机[排列信息过期时间,最早过期的放前面4.
2024-08-14 14:25:45
661
原创 RabbitMQ的使用
可以建虚拟机,虚拟机里建交换机建队列,可以给交换机和队列绑定关系,一个交换机可以有多个队列.队列名字可重复,只要是不在同一个交换机.在交换机里发信息,该交换机的队列都能拿到信息。账号名密码默认guest。
2024-08-12 20:39:56
348
原创 设计模式补
是一种行为型设计模式,它定义了对象之间的一种一对多依赖关系,使得每当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。是一种结构型设计模式,它的主要目的是使原本接口不兼容的类可以一起工作。适配器模式通过创建一个适配器类来包装现有类的接口,使其看起来像另一个接口,从而使得原本不兼容的类可以协同工作。是一种创建型设计模式,它使用一个现有的对象作为原型,并通过复制该原型对象来创建新的对象。是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使它们可以互相替换。
2024-07-28 14:31:10
1173
1
原创 货架管理a
路由->vue的el标签->Api->call方法里calljs的api接口->数据声明const xxxData->编辑按钮:点击跳出页面并把这一行的数据给到表单formDataba2保存按钮:formDataba2改过的数据->xxApi发送->查询Api跳转仓库:把tableData.value数据清空->callXxxApi。
2024-07-25 14:39:16
337
原创 mybatis一对多 多对多
方式二:把user对象的属性用resultMap标签包含在association标签里,user的id做id标签,特点是返回值是对象的标识,而集合是collection。分为resultMap和select,特点是在resultMap用了collection标签表示集合order并且没有写订单表里的用户字段,因为本就是在user。一对多,使用<resultMap>和<collection>做配置。多对多,使用<resultMap>和<collection>做配置。这接口当然是user的。
2024-07-24 15:47:50
497
原创 slot(插槽)
插槽:父内容在父组件的子组件里显示(父传子) 在子组件放插槽标签,在父组件的子组件标签放内容 defineModel里面的不能一样 原本是父组件的mes2代替着a和b的值,当子组件触发事件时,ab才替换. 父值显示到子显示父不显
2024-07-13 13:45:00
303
原创 <typeAliases>
类型别名是 Java 类型的一个短名字,它可以用来代替 Java 类型的完全限定名。这在你编写 Mapper XML 文件时特别有用,因为它可以减少大量的冗余代码。作为别名(取决于别名生成策略,默认为小写)。注意,使用包扫描时,别名默认是类名的小写形式(如果类名以大写字母开头,则别名仍为类名)。此外,MyBatis 还提供了包扫描的方式来自动为包下的所有类生成别名。这意味着,在 Mapper XML 文件中,你可以直接使用。例如,假设你有一个 Mapper XML 文件,里面有一个查询返回。
2024-06-05 17:37:26
395
原创 Spring入门知识回顾
自动装配使用了暴力反射,就不需要setter方法了,反射自己new 了一个对象,违反了IOC思想,入口没了。要么加个import导入文件,要么在文件上加@Configuration注解。这两个注解,一个是运行环境junit类,一个是配置环境。Spring整合Junit的依赖包上面已经写进去了。Spring整合mybatis用到的依赖包。这是一个测试类,要测谁直接注入进去就行了。Qualifier可以解决实现类多的问题。注入是为了耦合性低可能。不注入就无法识别该类。
2024-03-27 21:28:08
325
原创 用maven创建一个简单的Spring项目
4测试类(根据配置文件路径和id得到对用的类,getBean创建类对象)1引入spring-context依赖。
2024-03-21 11:25:03
350
1
原创 创建一个servlet项目
启动tomcat服务器,首先显示的是index.jsp的页面,根据自己在网址栏输入的路径可以访问到自己写的页面,(也就是,在index.jsp中用a标签可以实现跳转)中的servlet, 这个是让用户在网址栏输入路径访问的,和@webServlet("任意起的路径名")作用是一样的,前者是...,后者是用来调试。在mian中建java => ***.***.*** 如com.zpf.servlet。在pom.xml中引入selvlet的依赖。此时就可以用到servlet接口下的类.配置web.xml文件。
2024-03-16 17:03:32
418
1
原创 关于idea2023创建servlet项目,找不到要创建的文件支持
第二步:右键选择项目Add ProjectFrameWork 添加项目。第三步:勾选Web应用,OK即可。第一步:正常创建项目。
2024-03-16 10:33:08
454
1
原创 JS变量作用范围,变量提升
可以看到在函数中修改了test值可是第二次在函数外打印的值没有变。这是因为在函数的过程中只是进行了值传递。局部变量覆盖掉了全局变量,只是局部变量 在 修改。在函数内通过var来声明的变量是局部变量,函数外无法访问。变量之前就使用它会导致 ReferenceError。在 HTML 中,全局作用域是 window 对象。内声明的变量可以从块之外进行访问。关键词声明拥有块作用域的变量。定义的变量不会被提升到顶端。在函数内声明变量时,使用。
2024-02-21 11:07:37
488
1
原创 JBBCUtils工具类
>初始化同步TransactionSynchronizationManager.initSynchronization()->DataSourceUtils工具类获取连接->关闭连接的自动提交conn.setAutoCommit(false)->获取con。4.startTransaction开启事务:绑定是否开启->TransactionSynchronizationManager.isSynchronizationActive()判断con是否为空,非空释放。2.创建数据库连接池。
2024-02-01 21:58:12
399
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅