- 博客(36)
- 资源 (2)
- 收藏
- 关注
原创 Idea运行单元测试 Test framework quit unexpectedly
打开setting,找到Maven下的Running Tests,去掉argLine勾选,Idea运行单元测试 Test framework quit unexpectedly。idea运行单元测试时报错如图。
2024-04-09 11:49:14 373 1
原创 MySql数据库事务图解
假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用,但其实是事务B刚插入进来的,让用户感觉很魔幻,感觉出现了幻觉,这就叫幻读。串行化是4种事务隔离级别中隔离效果最好的,解决了脏读、可重复读、幻读的问题,但是效果最差,它将事务的执行变为顺序执行,与其他三个隔离级别相比,它就相当于单线程,后一个事务的执行必须等待前一个事务结束。读到了并一定最终存在的数据,这就是脏读。
2024-01-12 23:43:57 846
原创 Kafka数据推送正常,消费方查不到数据
排查:项目改造后消息不再通过Flink连接kafka进行处理,直接由Java程序对kafka进行消费,由于上周五kafka消息数据量突然增大,程序对数据消费过慢导致Kafka消息堆积,堆积的消息超过24小时触发kafka消息清除策略,导致模块部分数据缺失。根本原因:更换数据库后,同步添加了索引,但是mysql索引与Db2不同,导致查询数据库不走索引,查询缓慢,大量数据并发查询导致消费缓慢,kfaka数据堆积。具体原因:消费方对数据消费能力下降,导致数据堆积,超过24h消息被删除。
2023-12-15 16:49:05 470
原创 mysql不兼容db2的语法
MySQL的date_formate(date,format)'%Y-%m-%d %H:%I:%s'8、MySQL ADDDATE(日期,数值) 不同于DB2的ADD_DAYS(日期,数值)7、MySQL sbustring()函数起始位置从1开始,DB2从0开始。6、mysql 注释 -- 后需要加空格,否则注释不生效,执行异常。5、limit 分页后不能用字符类型,只能用数值类型。1、MySQL不支持子查询的方式删除。3、mysql子查询必须写别名。2、|| 拼接方式不支持,
2023-12-15 16:39:29 396
原创 Java序列化与反序列化
Java序列化与反序列化是什么?Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程:序列化:序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。核心作用是对象状态的保存与重建。我们都知道,Java对象是保存在JVM的堆内存中的,也就是说,如果JVM堆不存在了,那么对象也就跟着消失了。 而序列化提供了一种方案,可以让你在即使JVM停机的情况下也能把对象保存下来的方案。就像我们平时用的U盘一样。把Java对象序列化成可存储.
2022-04-27 17:10:57 97
原创 反射的使用、反射机制的原理以及应用
反射使用的步骤?获取想要操作的类的Class对象,这是反射的核心,通过Class对象我们可以任意调用类的方法。 调用 Class 类中的方法,既就是反射的使用阶段。 使用反射 API 来操作这些信息。具体可以看下面的例子:public class Apple { private int price; public int getPrice() { return price; } public void setPrice(int pric.
2022-04-27 17:09:31 170
原创 反射概念,优缺点,获取反射的对象
什么是反射?反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。反射机制的优缺点有哪些?优点:能够运行时动态获取类的实例,提高灵活性;可与动态编译结合Class.forName('com.mysql.jdbc.Driver.class');,加载MySQL的驱动类。缺点:使用反射性能较低,需要解析字节码,将内存中的对象进行解析。其解决方案是:..
2022-04-27 16:30:22 148
原创 int 和 Integer对比
int 和 Integer 有什么区别?Integer是int的包装类;int是基本数据类型; Integer变量必须实例化后才能使用;int变量不需要; Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值 ; Integer的默认值是null;int的默认值是0。两个new生成的Integer变量的对比由于Integer变量实际上是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其.
2022-04-27 16:21:00 161
原创 String str=“aaa“与 String str=new String(“aaa“)一样吗?new String(“aaa”);创建了几个字符串对象?
String str="aaa"与 String str=new String("aaa")一样吗?new String(“aaa”);创建了几个字符串对象?使用String a = “aaa” ;,程序运行时会在常量池中查找”aaa”字符串,若没有,会将”aaa”字符串放进常量池,再将其地址赋给a;若有,将找到的”aaa”字符串的地址赋给a。 使用String b = new String("aaa");`,程序会在堆内存中开辟一片新空间存放新对象,同时会将”aaa”字符串放入常量池,相当于创建
2022-04-27 15:30:05 1091
原创 String,StringBuffer, StringBuilder 的区别
String,StringBuffer, StringBuilder 的区别是什么?1.可变与不可变。String类中使用字符数组保存字符串,因为有“final”修饰符,所以string对象是不可变的。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.private final char value[];StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使
2022-04-27 14:17:15 44
原创 ArrayList和LinkedList总结
区别:ArrayList 是基于数组实现的,LinkedList 是基于双向链表实现的。“ArrayList 在新增和删除元素时,因为涉及到数组复制,所以效率比 LinkedList 低,而在遍历的时候,ArrayList 的效率要高于 LinkedList。”for 循环遍历的时候,ArrayList 花费的时间远小于 LinkedList;迭代器遍历的时候,两者性能差不多。当两者的起始长度是一样的情况下:如果是从集合的头部新增元素,ArrayList 花费的时间应该比 LinkedL
2022-04-27 10:57:35 247
原创 java基础学习
final、finally、finalize的区别?final用于修饰变量、方法和类final 变量:被修饰的变量不可变,不可变分为引用不可变和对象不可变,final 指的是引用不可变,final 修饰的变量必须初始化,通常称被修饰的变量为常量。 final 方法:被修饰的方法不允许任何子类重写,子类可以使用该方法。 final 类:被修饰的类不能被继承,所有方法不能被重写。finally 作为异常处理的一部分,它只能在 try/catch 语句中,并且附带一个语句块表示这段语句最终一定被
2022-04-27 10:26:02 29
原创 linux文件命令
cat 查看文件,从第一行开始显示tac 也是查看文件,倒序显示nl 查看文件时输出行号more 查看文件,空格翻页,但不能回翻 ;enter 下一行 :f 显示当前行号less 查看文件,可以回翻 键盘上下键head 只看头几行 使用 -n 10 来控制查看前十行q 退出文件查看/str 查找字符串str (向下查询)?Str 查找字符串str (向上下查询 n/N查询下一个)...
2021-08-11 17:39:22 50
原创 datagrid表格添加按钮,默认选中
表格初始化$("#deviceGrid").datagrid({//数据来源,也可以用URL直接链接 data:me.deviceList, fitColumns:true, rownumbers:true, fit: true, columns:[[//显示多选框 {field:'iii',title:'字段代码',width:'10%',checkbox:true}, {field:'id',title:'...
2021-08-11 16:50:22 493
原创 datagrid表格的右键菜单功能
1、页面添加一个div,设置右键菜单显示列表<div id="rightclickdiv" class="easyui-menu" style="width: 115px;"> <div data-options="iconCls:'icon-edit',name:'001'">编辑</div> <div data-options="iconCls:'icon-remove',name:'002'">删除</div> ..
2021-08-11 10:06:20 369
原创 List的分组与去重
首先有一个listList<Map<String, Object>> deviceItem然后是list按“name”进行分组操作:Map<Object, List<Map<String, Object>>> list = deviceItem.stream().collect(Collectors.groupingBy(o -> (o.get("name"))));list按“name”去重操作:List<Map<.
2021-08-03 16:27:10 286
原创 线程简单介绍
程序是静态的程序运行过程,叫进程一个进程可以有若干个线程(真正的线程是多个cpu,大多是模拟出来的线程)线程的三种创建调用,start()方法标题
2021-08-03 16:23:05 36
原创 Java注解
Java中注解的作用在java中如果方法上加@Override的注解的话,表示子类重写了父类的方法。当然也可以不写,写的好处是:可读性提高 编译器会校验写的方法在父类中是否存在@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 @PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。 @Req...
2021-08-03 16:22:18 73
原创 List常用方法
List常用方法1:添加功能boolean add(E e):向集合中添加一个元素void add(int index, E element):在指定位置添加元素boolean addAll(Collection<? extends E> c):向集合中添加一个集合的元素。2:删除功能void clear():删除集合中的所有元素E remove(int index):根据指定索引删除元素,并把删除的元素返回boolean remove(Object o):从集合中删除指定的
2021-08-03 16:21:38 103
原创 element-ui中关于select下拉框无法回显的问题解决方法
<el-form-item label="设备启停状态:" prop="startStatus"> <el-select v-model="ruleForm.startStatus" placeholder="请选择" prop="startStatus"> <el-option label="启动" value="1"></el-option> <el-option label="停止" value="0"&.
2021-06-21 11:00:36 610
原创 Java中为空判断
在java中进行比较,需要根据比较的类型来选择合适的比较方式:对象域,使用equals方法 。 类型安全的枚举,使用equals或== 。 可能为null的对象域 : 使用==null 和 equals 。 数组域 : 使用 Arrays.equals 。 除float和double外的原始数据类型(int,byte等) : 使用 == 对象域,使用equals方法 的问题在使用equals方法是,有时候会出现空指针能问题,问题是出现在调用方法上了。因为null值,并不是一个Str.
2021-05-08 14:56:44 939
原创 MySQL 表单统计数据,行数据合并和列数据分割
MySQL 表单统计数据,行数据合并和列数据分割 1 、行数据合并 不同行的数据在分组条件相同时,行数据的选中列合并展示convert(选中列,char) 是类型转换,本身是字符类型可不用转换 group_concat(distinct convert(选中列,char) SEPARATOR ' , ') AS '超时类型'group_concat(distinct 选中列 SEPARATOR ' , ') AS '超时类型',...
2021-04-21 13:49:02 444
原创 删除网页缓存的无用用户名
删除谷歌网页缓存的无用用户名谷歌页面缓存的用户名,在清理了缓存和个人记录仍存在的时候,可以试试这个方法。1.打开设置2.找到--隐私和安全性--->网站设置,点击进去3.点击 查看网站的权限和存储的数据4. 可以清除所有数据,也可以保留自已想要的数据清理其他数据。5. 也可以在 设置-->隐私和安全性--->Cookie及其他数据设置 中,设置是否保存Cookie数据...
2021-04-13 11:57:19 151
原创 MyBatis中如何设置模糊查询
MyBatis中设置模糊查询在sql语句中,where查询条件需要使用 name like concat('%',#{name},'%') 这种格式。<select id="" resultType="string"> SELECT name FROM student WHERE name like concat('%',#{name},'%') ...
2021-04-12 16:00:47 74
原创 java中请求包体的输入格式
请求包体:字符串---> "scriptId":"821423805044883456",map类型--> "params":{"name":"aa"},实体类型---> "selectManyDeviceVo":{ "selectStatement":{ "tableName":"em_real_data_electricity", "start":"2021-03-18 00:00:00", "en...
2021-03-22 14:58:41 231
原创 为空判断
Java中的为空NULL判断 String status=detail.getid(); if(StringUtils.isBlank(status)){ status="0"; }用StringUtils方法判断,如果数值为空,则赋值为0
2021-03-12 15:12:11 86
原创 sql语句查询,输入类型为列表
SELECT id FROM em_table WHERE id in <foreach collection="list" item="id" open="(" close=")" separator=","> #{id} </foreach>foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别..
2021-03-10 18:44:27 996
原创 Property or method “input“ is not defined on the instance but referenced during render
[Vue warn]: Property or method "input" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2.
2021-02-21 13:31:36 4734 1
原创 vue基础指令
指令是带有 v- 前缀的特殊属性。指令用于在表达式的值改变时,将某些行为应用到 DOM 上。v-model指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。按钮(button)的事件我们可以使用 v-on 监听事件,并对用户的输入进行响应。v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。v-bind 指令被用来响应地更新属性...
2021-02-06 15:36:55 182 1
原创 Spring-Mybatis
1 先写一个接口package com.meng.mapper;import com.meng.pojo.User;import java.util.List;public interface UserMapper { public List<User>selectUser();}2 接口的配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "
2021-01-06 17:43:22 38
原创 Mybatis文件配置,导入maven依赖
Mybatispom.xml需要导入的依赖<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <de.
2021-01-06 14:52:57 939
原创 数据库所有的命令都用封号结尾 ;
1 打开cmd 输入 mysql -u root -p111111 启动MySQL2 所有的命令都用封号结尾 ;3 create database school 创建一个名为school的数据库4 show databases; 查看所有的数据库5 use school; 切换数据库用use6 show tables 查看数据库中所有的表7 describe student 显示student表中所有数据8 exit; 退出连接 ctrl+C ...
2020-12-12 09:18:33 238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人