- 博客(36)
- 收藏
- 关注
原创 MySQL的事务
**共享锁(S锁)**|允许多个事务**读**|`SELECT ... LOCK IN SHARE MODE`||**排他锁(X锁)**|只能**单个事务**修改数据|`SELECT ... FOR UPDATE`|**表锁**(Table Lock)|**整张表**|粒度大,适用于 `ALTER TABLE`||**行锁**(Record Lock)|**行级**|细粒度锁,性能高,但死锁风险大||**间隙锁(Gap Lock)**|**范围查询**|防止幻读(可避免并发插入)|
2025-03-31 17:53:32
315
原创 mysql的学习
数据库事务的隔离级别1、Read uncommitted(读未提交)就是一个事务可以读取另一个未提交事务的数据。2、Read committed(读提交)就是一个事务要等另一个事务提交后才能读取数据。3、Repeatable read(重复读)就是在开始读取数据(事务开启)时,不再允许修改操作。4、Serializable(序列化)在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。是最高的事务隔离级别,但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。事务的作用就是
2025-03-25 23:21:27
1052
原创 IDEA中右侧Maven里项目灰色解决办法或idea文件图标有一个j
或解决:file → settings → maven → ignoreed files,把 Maven Projects 里灰色项目对应的 ignore files 取消选中点击apply
2022-02-24 10:15:36
506
原创 解决idea新建module 提示module xxxx does exitst
出现原因:以前新建了同名modle又删除了解决:1、右键项目名2、点击open module settings3、把列表同名的module删除就可以新建了
2022-02-24 09:50:36
1478
1
原创 MySQL 查询当天、本周,本月、上一个月的数据
SELECT * FROM 表名 WHERE to_days(时间字段名) = to_days(now());SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1 AND TO_DAYS(NOW()) - TO_DAYS(时间字段名) > 0;SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名);SELECT *.
2021-08-11 09:52:10
188
原创 对象转map
// 转换对象String securityDeviceString = JSON.toJSONString(hostDTOS);hostDTOS.clear();hostDTOS.addAll(JSON.parseArray(securityDeviceString, HostDTO.class));//对象转mapMap<String, HostDTO> bizMap = hostDTOS.stream().collect(Collectors.toMap(HostDTO::g.
2021-06-21 12:41:05
143
原创 jvm学习
JVM是什么JVM它是Java Virtual Machine 的缩写,主要是通过在实际计算机模仿各种计算机功能来实现的,组成部分包括堆、方法区、栈、本地方法栈、程序计算器等部分组成的,其中方法回收堆和方法区是共享区,也就是谁都可以使用,而栈和程序计算器、本地方法栈区是归JVM的。Java能够被称为“一次编译,到处运行”的原因就是Java屏蔽了很多的操作系统平台相关信息,使得Java只需要生成...
2021-04-20 16:03:26
276
2
原创 判断素数
public static void main(String args[]){ 3 //1既不是质数也不是和数,使用i从2开始。 4 for(int i=2;i<=1000;i++){ 5 boolean flag = true; 6 for(int j = 2;j < i;j++){ 7 if(i % j==0){ 8 flag..
2021-02-17 13:50:12
106
原创 二叉树的先序、中序、后序遍历
输入{1,2,3}输出[[1,2,3],[2,1,3],[2,3,1]]javapublic class Solution { /** * * @param root TreeNode类 the root of binary tree * @return int整型二维数组 */ List<Integer> front = new ArrayList<>(); List<Integer>
2021-02-17 10:51:09
139
原创 解决Nginx+Springboot获得不了真实ip
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $http_x_forwarded_for; location ^~/proxy_path/ { root "/www/html"; index index.html; pr.
2021-01-15 16:08:42
1767
1
原创 Mysql逗号分隔的数据进行分行
selectsubstring_index(substring_index(a.associate_host_ids,',',b.help_topic_id+1),',',-1) as idfromplatform_security_inciden ajoin mysql.help_topic b on b.help_topic_id < (length(a.associate_host_ids) - length(replace(a.associate_host_ids,',',''))..
2020-11-02 10:05:36
814
转载 mysql的事务
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 3、隔离性(Isolation):同一时间,只允许一个事务请求同.
2020-10-26 10:53:55
140
原创 List与Map
List、Set接口是继承collection父接口的,List它是按照对象的进入顺序进行保存的,因此,它可以能对列表中的每个元素进行存入和删除的位置,能够精确地控制。list保存的数据是可以重复的,list的子类有LinkedList、Vrctor和ArrayList集合。总结:List是一种有序(存储顺序)可重复(元素)的集合。Set接口也是和List一样继承Collection接口。Set在数学上的意义就是集合的概念,他和List不一样的是,不允许集合中的元素重复。所以存入的元素都必须定义
2020-10-26 10:13:46
714
原创 时间差计算
SELECT TIMESTAMPDIFF( HOUR, psi.report_date, psi.handle_date ) AS time FROM table_namepsi WHERE psi.status = '3'计算report_date、handle_date这两个字段之间相差多少个小时。复习:SELECT ...
2020-10-19 14:23:22
183
原创 shiro
理论:三个核心组件:Subject, SecurityManager 和 Realms.Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前跟软件交互的东西”。 Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。 SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通...
2020-07-20 10:13:46
200
原创 sql时间对比
SELECT COUNT(pa.ci_name)FROM maintance_baseline_task mbtLEFT JOIN ares_service_platform.platform_assets pa ON mbt.asset_id = pa.ci_idwhere DATEDIFF(NOW(),FROM_UNIXTIME(mbt.last_scantime)) = 0关键函数 DATEDIFF(A,B);判断两个时间是不是在一天。FROM_UNIXT...
2020-06-12 19:17:16
289
原创 表字段属性查询
SELECT COLUMN_COMMENT 描述, COLUMN_NAME 字段, COLUMN_TYPE 类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值 FROM INFORMATION_SCHEMA.COLUMNS wheretable_schema ='库名'ANDtable_name = '...
2020-06-02 15:05:23
236
原创 gradle
学习:https://jingyan.baidu.com/article/dca1fa6f9a792ab0a44052be.html学习:https://blog.youkuaiyun.com/achenyuan/article/details/80682288?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc
2020-05-13 17:04:44
191
原创 idea导入本地包
学习:https://blog.youkuaiyun.com/weixin_41060905/article/details/86911172将需要的jar包放在
2020-05-13 10:55:10
242
原创 webstorm启动vue项目
1、安装node.js2、安装vue.js3、导入项目。注意事项:"webpack": "^3.6.0","webpack-bundle-analyzer": "^2.9.0","webpack-cli": "^3.3.11","webpack-dev-server": "^2.9.1",webpack-dev-server版本需要注意,3以上版本可能出错无法...
2020-05-06 17:03:12
448
原创 redis知识点
redis数据类型1、string2、hash3、list4、set5、zset缓存的流程从Redis中查询数据,没有获取到数据到数据库中查数据,然后加入Redis缓存。redis的集群1、主从复制2、sentinel哨兵3、cluster集群:主Redis槽位分配,缓存穿透:对数据库中为空的数据搜索;解决办法:1、对返回的空数据也加...
2020-05-02 15:24:30
157
2
原创 swagger接口导出excel文件打不开
swagger接口导出excel文件打不开:接口添加produces="application/octet-stream"@ApiOperation(value = "列表导出",produces="application/octet-stream")
2020-04-29 08:53:29
2187
原创 redis的新增、修改
2.RedisTemplate中定义了对5种数据结构操作redisTemplate.opsForValue();//操作字符串redisTemplate.opsForHash();//操作hashredisTemplate.opsForList();//操作listredisTemplate.opsForSet();//操作setredisTemplate.opsForZSet();/...
2020-04-27 16:51:55
939
原创 SSM框架整合
1、技术基础框架SSM(spring+springMVC+Mybatis)数据库Mysql项目的依赖管理meaven分页pagehelper2、功能点分页、数据校验、ajax、rest风格的url一、创建meaven工程...
2020-04-27 16:50:23
133
原创 SQL查询某字段重复数据的条数
表查询一、查询二、SELECT userpass, COUNT( 1 )FROM usersGROUP BY userpass查询三、SELECT userpass, COUNT( 1 )FROM users WHERE username = '2'GROUP BY ...
2020-04-26 21:25:48
9884
原创 线程池
package com.mianshi.test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class NewCachedThreadPoolTest { public static void main(String[] args) { ...
2020-04-13 19:30:36
110
转载 对List集合中的对象进行按某个属性排序
import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * Created by IntelliJ IDEA * 这是一个神奇的Class * * @author zhz * @date 2019/9/25 10:37 */public class DemoTe...
2020-04-03 16:40:32
540
转载 线程池
为什么要用线程池:1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。1. newSingleThreadExecutor创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相...
2020-03-28 18:53:58
198
原创 cannot be opened because it does not exist
报错BeanDefinitionStoreException: IOException parsing XML document from class path resource [spring/beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [spring/beans.xml...
2020-03-27 21:26:29
1422
原创 线程与死锁
Java多线程实现的方式有四种1.继承Thread类,重写run方法2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target3.通过Callable和FutureTask创建线程4.通过线程池创建线程前面两种可以归结为一类:无返回值,原因很简单,通过重写run方法,run方式的返回值是void,所以没有办法返回结果...
2020-03-23 21:47:55
134
转载 java多线程中sleep和wait的区别
sleep和wait的区别是面试中一个非常常见的问题,因为从表象来看,好像sleep和wait都能使线程处于阻塞状态,但是还是有所区别的。1、sleep是线程中的方法,但是wait是Object中的方法。2、sleep方法不会释放lock,但是wait会释放,而且会加入到等待队列中。3、sleep方法不依赖于同步器synchronized,但是wait需要依赖synchroniz...
2020-03-20 19:04:41
296
转载 线程的生命周期及五种基本状态
一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如...
2020-03-20 18:26:04
293
转载 String,StringBuffer与StringBuilder的区别
String在java编程中广泛应用,首先从源码进行分析从这我们可以得知,String底层是一个final类型的字符数组,所以String的值是不可变的,每次对String的操作都会生成新的String对象,造成内存浪...
2020-03-20 16:55:59
409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人