- 博客(71)
- 资源 (2)
- 收藏
- 关注
原创 如何解决 Java 中的 IndexOutOfBoundsException 异常
当我们在 Java 中使用 List 的时候,有时候会出现向 List 中不存在的位置设置新元素的情况,从而导致异常。本文将会介绍这个问题的产生原因以及解决方案。
2023-05-24 11:32:39
14820
原创 使用JMeter 进行压力测试
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
2023-03-23 19:06:29
6221
1
原创 IDEA git 切换分支产生问题
如果选择Smart Checkout,IDEA会先执行stash命令,贮存这些未提交的修改,然后checkout 到分支B,在切换到分支B后,unstash 这些修改,所以A分支本地的这些修改会带到B分支上。如果选择Force Checkout, 本地工作空间(分支A)的一些未提交的修改会被覆盖(被分支B覆盖),会有很大可能丢代码,所以在切换到其他分支的时候回弹出这个窗口。这是因为在A分支修改了代码,但是没有。
2022-09-16 14:58:03
6101
原创 SpringBoot整合WebSocket(session共享实现)
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的
2022-03-25 17:09:57
8069
原创 Redis发布订阅模式实现原理
前言发布订阅系统在我们日常的工作中经常会使用到,这种场景大部分情况我们都是使用消息队列,常用的消息队列有 Kafka,RocketMQ,RabbitMQ,每一种消息队列都有其特性,很多时候我们可能不需要独立部署相应的消息队列,只是简单的使用,而且数据量也不会太大,这种情况下,我们就可以使用 Redis 的 Pub/Sub 模型。一、Redis发布订阅Redis 的发布订阅功能主要由 PUBLISH,SUBSCRIBE,PSUBSCRIBE 命令组成,一个或者多个客...
2022-03-23 14:25:19
6588
1
原创 MySql自定义排序 order by field()
前言MySQL中 order by 自定义值排序项目场景:数据库表中有一个 status 字段,表示各个状态值,如下smallint DEFAULT NULL COMMENT '项目状态(0 未发布,1 即将开始,2 拍卖中,3 拍卖结束-成功拍出,4 拍卖结束-流拍)问题描述:在查询列表时,要求:根据状态排序 拍卖中 > 即将开始> 拍卖结束-成功> 拍卖结束-流拍> 未发布的顺序去执行。而我们常见的排序语法为:order by statu...
2022-02-24 11:44:21
10977
原创 Redis语法
前言提示:以下是本篇文章正文内容,下面案例可供参考一、Keyset keyvalue设置keyget key获取keykeys * 获取所有的keyselect n 选择数据库切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库move key n 将当前的数据库key移动到某个数据库,目标库有,则不能移动flush db 清除指定库 randomkey 随机keytype key 获取key类型...
2022-01-17 10:26:46
557
原创 Redis实现消息队列
前言Redis可以通过发布订阅模式、轮询机制实现消息队列。由于没有消息持久化与 ACK 的保证,所以,Redis 的发布订阅功能并不可靠。这也就导致了它的应用场景很有限,建议用于实时与可靠性要求不高的场景。一、Redis发布订阅1.原理服务器中维护着一个pubsub_channels字典,所有的频道和订阅关系都存储在这里。字典的键为频道的名称,而值为订阅频道的客户端链表。1. 当有新的客户端订阅某个频道时,会发生两种情况中的一种:(1)如果频道已经存在,则新的客户端会添加到pub
2022-01-06 10:45:43
1712
原创 Mybatis参数取值方式
在Mybatis 的 Mapper接口文件时,可以使用两种方式来获取参数值即#{} 和 ${}${} 和 #{} 都可以取出参数中的值但有以下区别: 使用#{} 时,SQL入参使用的时预编译的方式,同时使用的是PreparedStatement,可以防止SQL注入 使用${}时,SQL直接将参数值拼接在SQL中 #{}的取值方式大多数场景中都可以使用#{}的取值方式来取值。 SELECT RouteId, ...
2021-11-23 14:23:47
1188
转载 SQL基础
SelectUser表里面的数据如下查询user表里面的user_name字段和user_age字段的所有数据Select user_name,user_age from user查询user表中所有的字段数据,用 * 表示列的名称Select * from user四、DistinctDistinct选取所有的值的时候不会出现重复的数据用普通的查询,查询所有Select * from userSelect distinct u...
2021-11-16 10:55:44
4099
原创 IDEA配置JUnit进行单元测试
1. JUnit 是什么? JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。 Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。2.IDEA 的 JUnit 配置(1)添加junit的依赖jar包 junit-4.12.jar、hamcrest-core-1.3.jar 下载...
2021-05-17 16:56:50
2365
6
原创 List集合add方法覆盖原来的内容解决办法
问题描述:遍历数组的同时在for循环中使用list.add(),但这样会将之前的内容也覆盖掉。本来有6条数据,但这样会得到6条相同的数据原因分析:当使用List<T>时,如果T是引用类型,保存的是引用,如果是值类型,保存的是值本身。1、T是引用类型时,在循环外边已经new了一个对象,相当于这个对象的地址在内存空间已经开辟出来了,保存到了固定的位置,这时候我们使用add方法时,会增加值的个数,但引用地址不变,所以后面的值会覆盖掉前面的值。2、T是值时,值对象用来保存一组不...
2021-04-25 17:01:03
3888
转载 IntelliJ IDEA中快捷键大全
1.Ctrl快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 删除选中的行 (必备) Ctrl + X 剪切光标所在行 或 剪切选择内容 Ctrl + C 复制光标所在行 或 复制选择内容 Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备) Ctr
2021-04-16 10:27:31
161
原创 状态码406(Not Acceptable) 错误问题解决方法
项目场景:环境:Java 1.8SpringBoot2.1.9问题描述:Postman进行接口测试,报 406:Not Acceptable警告信息:org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation(浏览器找不到合适的类型来显示请求接口的返回值)代码如下@PostMapping(value = "/login") pu.
2021-04-14 09:13:53
15719
3
原创 java时间工具类 DateUtils
public class DateUtils { /** * 仅显示年月日,例如 2015-08-11. */ public static final String DATE_FORMAT = "yyyy-MM-dd"; /** * 显示年月日时分秒,例如 2015-08-11 09:51:53. */ public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";.
2021-04-12 11:08:51
1321
原创 Java操作符
使用Java操作符操作符接收一个或多个参数,并形成一个新值。参数的形式和普通的方法调用不同,单效果是相同的。使用和其他编程语言相似。操作符的作用用于操作数,并生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为副作用。那些能改变其操作数的操作符,最普遍的用途就是用来产生副作用;但要记住,使用此类操作符生成的值,与使用没有副作用的操作符生成的值,没有任何区别。几乎所有的操作符都只能操作“基本类型”,例外的操作符为:=,==,!=。这些操作符能操作所有的对象。除...
2021-04-04 12:18:57
118
原创 Java对象导论
抽象过程所有的编程对象都提供抽象机制,解决问题的复杂程度取决于抽象的类型和对象,“类型”是指所抽象的是什么,将问题空间中的元素及其在解空间中的表示称为对象:代码可以通过添加新类型的对象使自身适用于某个特定问题。面向对象语言的五个基本特征:万物皆为对象。 程序是对象的集合,他们通过发送消息来告知彼此要做的。 每个对象都有自己的由其他对象所构成的存储。(可以通过创建现有对象的包的方式来创建新的类型的对象) 每个对象都拥有其类型。(每个对象都是某个类的一个实例) 某一特定类型的对象都可以接收同样.
2021-04-04 12:04:58
152
原创 springboot项目 错误[restartedMain] o.s.b.d.LoggingFailureAnalysisReporter
启动Application之后,无法成功运行,报错o.s.b.d.LoggingFailureAnalysisReporter ERROR;解决方法在@SpringBootApplication注解后面加上(exclude = {DataSourceAutoConfiguration.class})package cn.yys.springbootesblog;import org.springframework.boot.SpringApplication;import org.sprin
2021-04-01 17:50:03
10272
1
原创 MyBatisCodeHelperPro激活方法(有效)
插件下载地址https://download.csdn.net/download/printf88/16301731下载完成后解压在IDEA中本地安装插件 File > Settings >Plugins找到刚才的解压文件选择你需要的版本压缩包点击确定重启Idea激活方法激活方法(自2.7.3):IDEA顶部菜单:Tools -> MybatisCodeHelper -> Activation -> OfflineActivat...
2021-04-01 17:45:37
53523
44
原创 cannot resolve symbol ‘log‘报错
报错内容:cannot resolve symbol 'log' [无法解析log符号]解决办法:1、清缓存:File>Invalidate Caches / Restart>Invalidate and Restart,等待Android Studio重启即可2、装插件:Settings→Plugins→Browse repositories,输入lom后选择Install,安装插件,按照提示重启IDEA3、装SDK:查看 Dependencies 一项是否有com.andr.
2021-03-26 16:26:50
9457
1
原创 SLF4J: Class path contains multiple SLF4J bindings.
控制台信息:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/C:/Users/Administrator/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found bind.
2021-03-26 15:12:35
261
原创 Failed to load property source from location ‘classpath:/application.yml‘
控制台报错信息:01:25:43.686 [main] ERROR org.springframework.boot.SpringApplication - Application run failedjava.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'at org.springframework.boot.context.confi...
2021-03-26 15:05:15
2693
原创 mybaits-plus 实现增删改查
数据库表(student)如下:使用 mybaits generator插件生成 mapper,service,和实体类目录结构如下:StudentMapper中代码@Repositorypublic interface StudentMapper extends BaseMapper<Student> {}StudentService中代码public interface StudentService extends IService<St...
2021-03-22 16:32:08
156
原创 Spring Boot注解详解
@SpringBootApplication 让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration,@EnableAutoConfiguration和 @ComponentScan三个配置,@SpringBootConfiguration主要用来把bean注入到容器中,因为该注解又封装了@Configuration注解,而@Configuration注解又封装了@Component注解,@Component注解主要用来把一个bean注入到容器中...
2021-03-22 15:38:45
85
原创 <foreach collection=“list“ item=“item“ index=“index“ open=““ close=““ separator=“;“>属性的含义
<foreach collection="list" item="item" index="index" open="" close="" separator=";">属性的含义foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item集合中每一个元素进行迭代时的别名,index表示在迭代过程中,每次迭代到的位置,open该语句以什么开始,
2021-03-22 14:18:35
9044
原创 response.setContentType()的作用及参数
response.setContentType()的作用及参数response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .*( 二进制流,不知道下载文件类型) application/octet-stream .tif image/
2021-03-22 13:56:12
732
原创 在VUE中使用样式
使用class样式1.数组<h1 :class="{'red','thin'}">123</h1>2.数组中使用三元表达式<h1 :class="{'red','thin',isactive?axtive':'}">123</h1>3.数组中嵌套对象<h1 :class="{'red','thin',{'active':isactive}}">123</h1>4.直接使用对象<h1 :c.
2021-02-04 11:19:45
135
1
原创 v-model实现表单元素的数据双向绑定与简易计算器实现
v-modelv-blind只能实数据的单向绑定从M绑定到N 无法双向绑定,使用v-model指令可以实现表单元素和model中数据的双向绑定 <div id="app"> <h4>{{msg}}</h4> <!-- v-blind只能实现数据的单向绑定从M绑定到N 无法双向 --><!-- 使用v-model指令可以实现表单元素和model中数据的双向绑定 -->.
2021-02-01 19:55:15
148
原创 vue事件修饰符
时间修饰符.stop 阻止冒泡.prevent 阻止默认事件.capture 添加事件监听器时使用事件捕获模式.self 只当事件在该元素本身触发时触发回响.once 事件只触发一次.self只会阻止自己身上的冒泡行为的触发,并不会真正阻止冒泡的行为<div id="app"> <!--使用.capture实现捕获触发事件的机制--> <div class="...
2021-02-01 19:16:31
65
原创 VUE跑马灯效果制作
分析:1. 给【开始】按钮绑定一个点击事件2. 在按钮的事件处理函数中,写相关的业务逻辑代码,拿到msg字符串,然后调用字符串的substring来进行字符串的截取,把第一个字符截取出来,放到最后一个之后即可3. 为了实现点击之后自动截取的功能,需要把2中的代码放入定时器中4. 按下【停止】按钮时只需要关闭定时器即可<!DOCTYPE html><html lang="en"><head> <meta charset="UTF.
2021-01-31 19:03:18
168
原创 VUE基本语法
vue基础语法每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例启动的Var vm=new Vue({}){ 基础属性: el:获取执行vue的dom元素-初始化范围 data : 存储数据 methods :执行的方法}1,绑定数据{{}} 或者 v-text=“” 只能绑定文本vue中 v-html专门处理带标签的数据表达式 在{{}}中 ±*/ 直接可用2,事件绑定v-blind:title=" "...
2021-01-31 14:16:36
114
原创 MVC和MVVM的关系
MVC的全名是Model View Controller,是一种使用“模型-视图-控制器”设计创建Web应用程序的模式,同时提供了对HTML、CSS和JavaScript的完全控制,其中M为model层
2021-01-30 15:27:29
322
原创 VS中出现乱码的问题解决方法
在SQL server中,如果是默认设置下,直接插入中文字符,就会出现乱码。解决该问题是可以通过改变数据库的属性--排列规则,来解决的但是因为vs内置的数据库不能直接改变排列规则,所以应该执行一条命令,ALTER DATABASE [数据库名] COLLATE Chinese_PRC_CI_AS如何执行该命令呢选择你的数据库然后新建查询然后执行上述命令就可以解决该问题。之后再...
2019-06-19 17:46:24
2801
原创 租用游艇问题
题目描述长江俱乐部在长江设置了n个游艇出租站1,2,…n,游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j), 1 <= i< j <= n 。,设计一个算法,计算出从出租站1到出租站n所需要的最少租金 输入第 1 行中有 1 个正整数 n(n<=200) ,表示有 n个游艇出租站。...
2018-12-14 11:04:09
965
1
原创 数字三角形
题目描述给定一个由n行数字组成的数字三角形,设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大;三角形的第i行有i个数(i=1...n),对于i,j,位置只能走到i+1,j与i+1,j+1位置; 输入n代表层数,下面是n层;(1<=n<350) (三角形里的数<100); 输出最大和 样例输入29711 88...
2018-12-13 15:24:28
207
原创 最优合并问题
题目描述给定k个排好序的序列s1,s2,…,sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并两个长度分别为m和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需要的总比较次数最少。输入 输入一个正整数n (0 < n < 1000)表示序列的个数 接下来n个正整数表示每个序列元素的个数...
2018-12-13 14:08:48
480
原创 删数问题
题目描述给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n和k,设计一个算法,找出剩下数字组成的新数最小的删数方案。输入输入一个长度为n的数字和一个k(n<=1000,k<1000,保证n>k)输出输出删掉k位之后的数(可能存在前导0 比如 0123)样例输入 178543 4样例输出13...
2018-12-12 10:45:41
281
commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar
2018-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人