- 博客(13)
- 收藏
- 关注
原创 【无标题】
多线程事务是伪命题为什么是伪命题多线程实现事务 为什么是伪命题 根据事务的特性 Atomicity(原子性):是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 Consistency(一致性):事务前后数据的完整性必须保持一致。 Isolation(隔离性):事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。 Durability(持久性):持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的
2022-02-28 10:20:24 296
原创 EasyExecl导入execl
模板录入 注意:录入时读取的都是字符串,日期要以String接收,然后转换格式。 @Data public class ImportData { @ExcelProperty(index = 0) private String name; @ExcelProperty(index = 1) private String sex; @ExcelProperty(index = 2) private int age; @ExcelProperty(
2021-01-08 17:52:33 199
原创 EasyExecl导出模板
EasyExecl导出并录入选用EasyExecl引入依赖下载模板 选用EasyExecl 最近业务中需要录入execl表格,之前项目用的都是poi,查了下资料看,poi容易引起OOM,而easyExecl中可以设定阈值,防止溢出,所以选用了EasyExecl。 引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</art
2021-01-08 17:34:05 383
原创 干掉if-else
干掉if-else前言一、简化else?二、使用三目运算符三、java 8 Optional类 前言 代码里的判断是必不可少的逻辑处理,常见的if-else语句,会让程序变得冗长和臃肿,接下来我们介绍下如何让代码变得更加优雅。 一、简化else? if(id==null){ //新增 }else{ //修改 } 优化后: if(id==null){ //新增 return; } //修改 二、使用三目运算符 if(user==null){ name="lisa"; }else{ name
2020-12-03 19:32:07 139
原创 SQL批量操作
SQL批量操作一、为什么要批量操作?二、批量操作 业务中要遍历3000条数据并更新两张表,耗时严重,先对其SQL进行批量更新操作,减少数据库消耗 一、为什么要批量操作? 数据库是基于磁盘保存的,每次增删查改都要进行IO,消耗大量资源,在for循环中每次都去insert没有必要,把所有字段放在list里,for循环结束后,批量插入 二、批量操作 batchInsert批量操作 <insert id="batchInsert" useGeneratedKeys="true" keyProperty="i
2020-10-19 19:33:51 468
原创 SQL常用语句
SQL语句学习 文章目录SQL语句学习前言一、模糊查询二、汇总分析二、分组查询三.复杂查询 前言 之前只会写一些简单的增删查改sql语句,今天深入的学习下sql语句。 新建四个数据库。 student表: score表:stuId和courseId为联合主键。 course表: teacher表: 四张表对应的关系: 一、模糊查询 查找姓雨的学生 select * from student where name like '雨%'; 查找名字最后一个字是雨的学生 select * from
2020-10-09 10:38:25 774
原创 【sql】使用临时表,SQL递归
with recursive temp as SQL递归SQL中使用临时表如何求出一级部门下的所有部门id SQL中使用临时表 一个公司有很多一次部门,编号为25,23,01,22,一级部门下又有很多二级部门,二级部门下又有三级部门,现需求出某一一级部门下的所有部门id,就需要用到递归的方法,建立临时表来求出所有id。 如何求出一级部门下的所有部门id with recursive temp as ( SELECT * from org_group where id_='25' //查询出父id
2020-09-27 15:24:54 489 1
原创 巧用n&n-1计算二进制中1的个数
巧用n&n-1计算二进制中1的个数n&(n-1) n&(n-1) 遇到一道题,求二进制中1的个数。发现有大佬用来(n&n-1)。觉得很神奇。有空下来细想。确实是这么个道理。记录一下自己的分析过程 一、n-1发生了什么 ①、二进制数n,n-1后,如果最后一位是0,将向前一位借2,2-1=1。最后一位为1。如果前一位为0,将继续向前一位借2,加上本身少掉的1.则变为1。...
2020-02-01 16:35:53 347
原创 Redis互联网应用场景
Redis的五种数据类型 String 应用场景: 1.计数器: 统计文章访问人数:INCR article:readcount:{文章id} 2.Web集群session共享:spring session+redis实现session共享 3.分布式系统全局序列号:INCRBY orderId 1000(redis批量生产序列号。一次拿一千个id,防止数据不一致) List 应用场景: 1.栈=...
2019-09-02 23:04:04 280
原创 八大排序
1.快速排序 package com.zyh.sort; /** 应用的分治思想,空间复杂度为O(log2n),随机找出一个数,可以随机取,也可以取固定位置, 一般是取第一个或最后一个称为基准,然后就是比基准小的在左边,比基准大的放到右边,如何放做, 就是和基准进行交换,这样交换完左边都是比基准小的,右边都是比较基准大的,这样就将一个数组分成了两个子数组, 然后再按照同样的方法把子数组再分成更小...
2019-09-02 17:25:12 118
原创 求栈的出栈序列情况
求栈的出栈序列情况 一个栈入栈顺序abcd,求出栈序列的情况 原来这是卡特兰数,结论为Cn=(2n)!/(n+1)!n! Cn=8!/5!4!=14
2019-09-01 18:15:21 183
转载 八皇后问题
八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出: 在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上 (斜率为1),问有多少种摆法。高斯认为有76种方案。 1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。 计算机发明后,有多种方法可以解决此...
2019-03-10 13:25:26 159
转载 数组和链表的区别
数组,在内存上给出了连续的空间.链表,内存地址上可以是不连续的,每个链表的节点包括原来的内存和下一个节点的信息(单向的一个,双向链表的话,会有两个). 数组优于链表的: 1.内存空间占用的少,因为链表节点会附加上一块或两块下一个节点的信息.但是数组在建立时就固定了.所以也有可能会因为建立的数组过大或不足引起内存上的问题. 2.数组内的数据可随机访问.但链表不具备随机访问性.这个很容易理解.数组在内...
2019-03-10 09:34:18 364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人