- 博客(42)
- 资源 (3)
- 收藏
- 关注
原创 Navicat表对象属性显示的行数和表实际行数不一致
为什么Navicat行数和表实际行数不一致?Navicat 只是显示 MySQL 的表信息。MySQL 将所有表的信息存放在 information_schema.TABLES 表中,查询了一下该表中的记录信息,发现确实是这个表里统计记录的信息有误。MySQL 的官方解释行的数量。一些存储引擎,比如 MyISAM,存储的是精确的计数。对于其他的存储引擎,比如 InnoDB,这个值是一个近似值,可能与实际值相差 40%-50%。 在这种情况下,使用 SELECT COUNT(*) 来获得一个准确的计
2022-01-26 17:31:16 3813
原创 mysql表查询修改删除等操作出现卡死,问题:Waiting for table metadata lock
show full processlist; // 列出进程,找出处于Waiting for table metadata lock的process,要杀死这些processkill ID; // ID号就是指的列出的第一列“Id”如果kill后还是出现卡死的问题,建议将数据库相关的process列表都杀死(即db列为自己数据库名称的数据),我是这样解决这个问题的。...
2022-01-26 17:06:03 1663
原创 mysql处理json字符串
sql中处理json主要使用JSON_EXTRACT方法json数组案例:更改字段值为另一个字段的json数组中元素json对象的某个属性值,先获取并处理值,得到结果查看是否正确,再更新字段。SELECT SUBSTRING(REPLACE(JSON_EXTRACT(scene_his_result, CONCAT('$[',JSON_LENGTH(scene_his_result)-2,'].sceneImg')),'\\',''),1,LENGTH(REPLACE(JSON_EXTRAC
2022-01-17 14:10:21 1709
原创 linux shell脚本
简述服务器最近经常出现jar运行一段时间后自动停止,可能原因是服务器资源不足,例如内存不够用;shell脚本制作文件名称:monitor.sh完整版:#!/bin/bash# “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行# 变量jarName=test.jarjarUrl=/data/solitasuwebUrl=https://www.baidu.com/# grep -v grep: 在文档中过滤掉包含有grep字符的行# awk '{print $
2021-12-31 10:58:39 448
原创 2021-09-30 JWT与JJWT - yahya
jwt 是什么jwt(Json web token)是json对象的编码表示,json对象由零个或多个名称/值对组成,其中名称是string,值为任意json值。JWT有助于(例如在URL中)发送这样的信息,可以被信任为不可读(即加密的)、不可修改的(即签名)和URL - safe(即Base64编码的)。jwt 的组成Header: 标题包含了令牌的元数据,包含签名、加密算法的类型Claims: Claims包含您想要签署的任何信息JSON Web Signature (JWS): 在head
2021-10-01 11:53:33 286
原创 2021-09-30 Java集合框架之ArrayList - yahya
概述ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。ArrayList 方法indexOf() :返回 arraylist 中元素的索引值;retainAll() :保留 arraylist 中在指定集合中也存在的那些元素,即求交集;trimToSize() :将 arraylist 中的容量调整为数组中的元素个数removeIf() :删除
2021-09-30 15:25:50 88
原创 2021-09-25 Mybatis-Plus代码生成器(3.5.1+版本) - yahya
引入相关依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version></dependency><!-- 模板引擎 --><dependency> <groupId>
2021-09-25 14:15:10 699
原创 2021-09-15 Java中的排序 - yahya
HashMap按key和按value排序按key或value排序,都可以使用如下方式按key或value排序区别在于重写Comparator方法;下面的例子是按value进行排序:将entrySet转换为List,然后重写比较器比较即可需要排序的map:Map<String, SensorWarningLog> collect2,排好序后重新put到LinkedHashMap,这样就是排好序的map了ArrayList<Map.Entry<String, Se
2021-09-15 14:51:01 108
原创 2021-09-14 Springboot中使用@Async实现异步调用
同步调用:程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用:程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。同步调用编写任务类,创建三个处理函数分别模拟三个执行任务的操作,操作消耗时间随机取(10秒内)@Slf4j@Componentpublic class AsyncTasks { public static Random random = new Random(); public void doTaskOne() t
2021-09-14 12:53:21 190
原创 2021-09-14 Springboot中使用日志框架(slf4j) - yahya
slf4jslf4j使用方法引入spring-boot-starter-test依赖,里面已经包含slf4j-api包<!--使用junit5,排除兼容4及以下的版本--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope
2021-09-14 10:59:02 175
原创 2021-09-12 操作Springboot配置文件 - yahya
读取配置文件信息方式1:获取单个属性,在属性上使用@Value;@Value("${yahya.info}")方式2:获取对象主要使用@Component和@ConfigurationProperties(prefix = “xxx”)。@ConfigurationProperties注解中没有@Component注解的作用,所以需要两个注解一起使用。或者可以使用@Configuration替换@Component注解@Component@ConfigurationProperties(pref
2021-09-12 23:43:37 86
原创 2020-09-11 SpringBoot配置文件敏感信息加密 - yahya
说明SpringBoot配置文件中的内容通常情况下是明文显示,安全性就比较低一些。打开application.properties或application.yml,比如 MySql登陆密码,Redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。jasypt由一个国外大神写的一个springboot下的工具包,用来加密配置文件中的信息。以数据库用户名和数据库密码加密为例引入包查看最新版本可以到(或者maven仓库中查看):https://gith
2021-09-11 01:41:06 168
原创 2021-08-31 在Mac中使用VMware (VMware Fusion 12 Pro的使用) - yahya
VMware Fusion 12 Pro在mac上使用vmwaremac版虚拟机软件叫 VMware Fusion可在官网直接下载 Fusion 12 Pro 专业版在vmware中安装centos系统需要准备一个iso文件,在centos官网下载,这里下载centos8,有几个版本,boot(网络安装)和dvdboot.iso看文件大小只有600多M,这个镜像只有基本启动引导等内容,安装期间的大部分内容需要从网上下载,因此不合适在安装期间没有网络环境的情形。DVD.iso这个文件有8G多,是
2021-08-31 13:55:37 1709
原创 2021-08-28 设计模式 - yahya
一、概述1 设计模式七大原则低耦合、高内聚、可维护性、可扩展性、重用灵活单一职责原则一个类只负责一项职责,如果类A负责两个不同的职责:职责A和职责B,当职责1需求改变时,可能会造成职责B运行错误,需要将类A分成类A和类B降低类的复杂度、提高类的可读性、可维护性、降低变更带来的风险接口隔离原则客户端不应该依赖不需要的接口,一个类对另一个类的依赖应建立在最小的接口上,即类中不需要实现接口所有方法,需要将接口拆分依赖倒转(倒置)原则实际就是面向接口编程1、高层模块不应该依
2021-08-28 09:08:32 112
原创 2021-08-27 Hutool工具类库的应用 - yahya
克隆 - 支持泛型的克隆接口和克隆类泛型克隆接口泛型克隆接口:cn.hutool.core.clone,定义了一个返回泛型的成员方法,这样,实现此接口后会提示必须实现一个public的clone方法,调用父类clone方法即可;private static class Cat implements Cloneable<Cat>{ private String name = "miaomiao"; private int age = 2; @Override
2021-08-27 23:35:12 835
原创 2021-08-27 Java 9 新特性 - yahya
Java 9 新特性Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。
2021-08-27 15:21:30 177
原创 2021-08-26 Java格式化输出与输入 - yahya
Java格式化输出Java中可以使用System.out.print()将数值x输出到控制台上,在早期的java版本中,格式化输出数值曾经引发过争议,不过在javaSE5以后,引入了c语言中的格式化输出。输出结果:3,333.33使用System.out.printf()静态方法来执行了格式化输出,其中“,”代表分组输出,而我们的”.2f”与c语言中的一样,代表输出结果保留两位小数。在这里我将printf的转换符进行举例,大部分与c语言相同:转换符类型举例d十进制整数2
2021-08-26 15:57:23 293
原创 2021-08-23 Java序列化 - yahya
序列化与反序列化对象专属流(序列化):ObjectInputStream(反序列化)/ObjectOutputStream(序列化)序列化(Serialize):将java对象分成一块一块编号放到硬盘文件中objectOutputStream.writeObject(对象)反序列化(DeSerialize):从硬盘恢复成对象objectInputStream.readObject()序列化多个对象,可将对象放到集合中,对集合对象进行序列化。只能存一个对象,存第二个对象会报错transient
2021-08-23 15:05:10 102
原创 2021-08-23 Java反射 - yahya
反射机制通过反射机制可以操作class字节码文件,可以读和修改,操作代码片段,位于java.lang.reflect.* 包下主要类:java.lang.Class 字节码文件,表示类型java.lang.reflect.Method 字节码中的方法字节码java.lang.reflect.Constructor 字节码中的构造方法字节码java.lang.reflect.Field 字节码中的属性字节码获取 class 的三种方式1、Class c1 = Class.forN
2021-08-23 14:04:09 96
原创 2021-08-23 Java IO流 - yahya
IO流输入,硬盘文件到内存文件读(Read)、输入(Input)、输入流(InputStream)输出,内存文件到硬盘文件写(Write)、输出(Output)、输入流(OutputStream)IO Input和Output首字母,通过IO可完成文件的读和写IO分类按照流的方向分输入输出按照读取方式不同,分一次读一个字节byte(所有文件都能读);一次读一个字符(只能读普通文本txt,不能读图片、声音、视频、word)综合分类:输入流、输出流、字节流、字符流(转为读普
2021-08-23 13:55:25 81
原创 2021-08-23 Java字符串String、StringBuffer、StringBuilder - yahya
String、StringBuffer、StringBuilderString字符串"abc"、"123"等直接存储在方法区的字符串常量池中,且不可变,字符串常量池中也是存储的对象。String str = "abc"先在字符串常量池中创建"abc"字符串,在栈中开辟str空间,指向常量池地址;String str = new String(“abc”) 凡是双引号字符串都在常量池中存储,先在堆中开辟对象空间,存储指向常量池地址StringBuffer、StringBuilder字符串
2021-08-23 11:34:36 79
原创 2021-08-19 java8新特性 - yahya
java8新特性Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。主要特性包含:Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就
2021-08-19 16:21:05 211
原创 Mac系统生成SSH公钥 - yahya
使用SSH方式建立Git远程连接可以免除每次提交时的用户名和密码验证;同样,该方式可用于堡垒机连接等其他用途如果已经生成公钥,使用命令查看公钥:cat ~/.ssh/id_rsa.pub生成公钥步骤打开终端输入指令:cd ~/.ssh和ls查看文件列表我们需要一对id_dsa 或 id_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件就是需要上传到Git服务器的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),如果没有找到,则通过ssh-keyg
2021-08-18 17:31:38 1432
原创 Java系列---正则表达式
一、正则表达式验证手机号码格式运营商号段信息: 中国联通号码:130、131、132、145(无线上网卡)、155、156、185(iPhone5上市后开放)、186、176(4G号段)、175(2015年9月10日正式启用,暂只对北京、上海和广东投放办理) 中国移动号码:134、135、136、137、138、139、147(无线上网卡)、150、151、152、157、158、159、182、183、187、188、178 中国电信号码:133、153、180、181、18
2021-04-26 13:46:42 129
原创 mybatis-plus数据库表字段内容自动填充 - yahya
可填充字段有创建时间、更新时间、用户信息、多租户信息等、业务uuid(主键自增);1、创建类BaseEntityMetaObjectHandler继承MetaObjectHandler@Componentpublic class BaseEntityMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { D
2021-04-22 14:43:49 440
原创 Mysql系列 --- 关于null值注意事项
一、关于in、not in 中使用null1. 使用in的时候,忽略为null的,不会查询出comm为null的数据SELECT * from poi_permission WHERE user_id IN (NULL,'12') 2. 使用not in的时候,如果 not in后面的选项中没有null,只会查询comm列不为空的数据,会过滤掉comm为null的数据SELECT * from poi_permission WHERE user_id IN ('12','2') 3.
2021-04-14 22:38:36 243
TD∕T1028-2010乡(镇)土地利用总体规划数据库标准.pdf
2020-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人