自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 RocketMq面试题

消费消息时,从NameServer获取到所有的Broker路由信息并选择订阅了的Topic,向Broker发送pull请求获取队列中的消息数据,拉取到消息之后再根据消息中的二级标签tag去选择具体的业务进行处理。严格顺序指消费者获取到的所有消息都是有序的,但在异常情况下也会保证消息的一个有序性,一台Broker机器出现问题,整个集群都将不可用,系统可用性极低。1、在生产者发送消息的时候设置一个消费状态字段,消费者消费成功之后将消费状态修改为已消费,每次消费之前检验消息的消费状态判断是否已经消费过。

2023-11-16 16:03:37 133

原创 logback按天归档日志

【代码】logback按天归档日志。

2023-05-15 09:57:45 398

原创 Spring如何解决循环依赖

Spring循环依赖

2022-11-11 10:52:36 221

原创 数据结构与算法学习笔记

数据结构与算法学习笔记

2022-10-14 15:07:46 622

原创 JVM学习笔记

JVM学习笔记

2022-08-11 16:38:46 257

原创 Mybatis面试题

Mybatis面试题

2022-08-05 19:43:19 94

原创 java 取中位数

mysql 中位数

2022-07-26 11:18:33 1735

原创 RFC3339标准时间格式转换Date、String

RFC3339转Date注意导入正确的包import org.joda.time.DateTime;import java.util.Date;import java.util.Locale;public static Date getDateByRFC3339(String dateStr){ DateTime dateTime = new DateTime(dateStr); long timeInMillis = dateTime.toCalendar(Locale.getDefaul

2021-11-10 18:32:04 4822

原创 MybatisPlus学习笔记

本篇MybatisPlus笔记总结自 MybatisPlus最新入门到精通完整教程,快速上手Mybatis-PlusMybatis-PlusDao层工具,Mybatis的增强工具,只在其基础上增强不做改变特点无侵入:只做增强不做改变,引入它不会对现有工程产生影响损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作, 更有强大的条件构造器,满足各类使用需求支

2021-09-13 22:14:25 228

原创 IDEA实用插件

1、Background Image Plus 背景图片设置2、CodeGlance 代码地图,idea右侧3、Translation 翻译 Settings里面Other Settings 设置4、Rainbow Brackets 用各种颜色成对标记括号5、Grep Console 不同日志不同颜色,设置同36、Statistic 各项代码统计信息,idea下方7、Markdown Navigator MD编辑器8、RestfulToolkit 快速查找接口,可发送请求,idea右下

2021-08-15 16:10:48 132

原创 MySQL事务

一、事务概念事务transaction作为单个逻辑工作单元执行的一系列操作(多个操作),多个操作作为一个整体向系统提交,要么都执行,要么都不执行,事务是一个不可分割的工作逻辑单元。简单来说就像是吃一碗饭,要么一口都不吃,要么全都吃完。二、事务的四大特点(ACID)1、原子性:Atomicity事务是一个完整的操作,事务中各个操作时不可分割的,要 么都执行,否则都不执行2、一致性:Consistency事务操作完毕后,数据必须是一致的状态(数据的总和不变)3、隔离性:Isolution多

2021-04-30 17:49:31 147 1

原创 Redis面试题

1、什么是Redis?Redis 是一个key-value数据结构存储系统,常用作内存数据库可以做缓存、队列,有16个数据库单线程,数据存储在内存中2、Reids数据类型有哪些?String(字符串)、List(列表)、Set(集合)、Hash(哈希)(value为map类型)、Zset(有序集合)Geo(地理位置)(底层是Zset)、Hyperloglog(基数统计算法)、BitMap(位存储)(操作二进制用0和1来记录)3、Redis事务是什么?Redis事务本质是一组命令的集合。事

2021-03-26 23:03:53 153

原创 事务的特性与隔离级别

事务四大特性:ACID原子性:事务中的所有操作要么全部成功提交,要么全部失败回滚一致性:事务对数据的操作只能从一个一致性状态转变为另一个一致性状态,必须保证数据的完整性约束隔离性:多个事务并发操作时,相互之间不能产生影响永久性:事务对数据的操作会永久保留在数据库中 事务可能出现的三种问题:1、脏读:一个事务读取到了另一个事务还未提交的数据2、不可重复读:一个事务在不同时刻读取到的同一组数据不一致,可能在这期间有其它事务对这组数据进行了操作,针对的是Update的操作3、幻读:一个

2021-03-24 13:00:52 124

原创 ThreadPoolTaskScheduler+Redis优化数据处理效率

优化数据查询效率

2021-02-25 11:23:39 336

原创 新集戳功能初代计算规则

// 1、一条鱼一个戳 2、满2、4、8条自动发放A、B、C券 3、满8个戳清零 @Transactional(rollbackFor = Exception.class) public void newPostMark(long memberId, String fishCode, Integer fishNumber , String serialNo, Date beginDate){ int postMarkCount = memberMapper.

2020-12-23 11:12:37 175

原创 POI写excel时空指针异常NullPointerException【已解决】

POI在写excel时,实体类member有字段是null,如member.getUpdateTime()、member.getNickname()、member.getScore()等,发现:如果空值的字段是Date类型时,会报空指针异常,如member.getUpdateTime()字段字段类型不是date的话写入无问题,得到的数据中member.getNickname()、member.getScore()等字段有些是null,写入无问题。for (Member member : memberL

2020-11-26 09:40:44 3303

原创 Redis学习笔记

本篇Git笔记总结自 【狂神说Java】Redis最新超详细版教程通俗易懂NoSQLNoSQL概念NoSQL = Not Only SQL (不仅仅是SQL)关系型数据库:表格 ,行 ,列。NoSQL泛指非关系型数据库NoSQL特点1、方便拓展(数据间没有关系,易拓展!)2、大数据量高性能(Redis 一秒写8万次,读取11万,NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高!)3、数据类型多样型(不需要事先设计数据库,随取随用!)4、传统RDBMS(关系数据库管理系统)和NoSQ

2020-11-24 16:06:27 435 1

原创 MySQL消费两次会员以及两次消费时间间隔

-- 廊坊地区,11月4日到11.15日两次消费间隔的会员,以及两次消费之间的间隔天数select a.* , datediff(a.第二次消费时间, a.第一次消费时间) 间隔 from (select m.card_code , m.realname , m.mobile , substring_index(group_concat(o.begin_date order by o.begin_date), ',' , 1) 第一次消费时间 , substring_index(group_conc

2020-11-16 18:12:37 1077

原创 将本地项目变为Git远程项目并且关联远程仓库

$ git init #初始化仓库。$ git add . #添加所有文件到暂存区。$ git commit -m '初始化' #将暂存区内容添加到本地仓库中。$ git remote add origin https://github.com/2667378040/my-study-project.git #关联远程仓库$ git push -u origin master #将master分支推向远程仓库...

2020-10-28 17:08:45 533

转载 Mybatis动态SQL进行order by

原SQL修改后感谢:https://www.cnblogs.com/sxdcgaq8080/p/9848016.html

2020-10-28 16:50:57 3306

原创 MySQL求百分比带百分号%

方式一:round() + concat()     推荐concat( round( (a.price-b.price)/b.price*100 ,2) ,'%')concat( round( (a.price-b.price)/b.price*100 ,3) ,'%')-> (a.price-b.price)/b.price = 0.234467 --> 23.45%-> (a.price-b.price

2020-09-29 17:48:24 3453 1

原创 Linux学习笔记

Linux学习笔记操作系统操作系统概念操作系统:operating system 简称OS1、管理和控制计算机的硬件和软件资源的计算机程序,最基本的系统软件,其他软件需要在此基础上才能运行。2、用户和计算机交互的桥梁3、计算机硬件和软件交互的桥梁 操作系统类型DOS Windows /WindowsServer Unix Linux(免费:copyLeft)命令行 图形界面 命令行 命令行单用户 单用户(pc)

2020-09-24 15:27:08 926 1

原创 Git学习笔记

本篇Git笔记总结自 菜鸟教程—开发工具之Git 理解Git分区,掌握Git原理,熟悉Git命令,为高效工作推波助澜!!! Git概念什么是Git1、Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。2、Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。3、Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。&nb

2020-09-18 10:36:13 873 1

原创 idea移动一行代码或移动多行代码快捷键

左右移动:【Tab】:选中代码右移动【Shift】+【Tab】:选中代码左移动 上下移动【Alt】+【Shift】+【↑,↓】:选中代码上下移动【Ctrl】+【Shift】+【↑,↓】:1、选中代码中不包含方法名,选中代码在所在方法中上下移动选中的148行代码不包含方法名,选中代码在所在方法内部(147-149行之间)上下移动 2、选中代码中包含方法名,选中代码带着所属的整个方法上下移动选中的146行代码包含方法名,所属的整个方法(145行-150行)代码上下移

2020-09-11 15:07:50 6085 1

原创 MySQL查询分组后每组数据中按照时间排序的倒数第二条数据

最近公司需要拉取一组数据,需求是查出每个会员消费订单中按照消费时间排序倒数第二个订单的消费时间。例如某个顾客在今年5月份、6月份、7月份、8月份分别消费了一笔订单,消费时间分别为2020-5-1、2020-6-1、2020-7-1、2020-8-1,则查找出7月份的那笔订单的消费时间2020-7-1 sql语句如下:select o.member_id ,substring_index(substring_index(group_concat(o.begin_date order by

2020-08-26 17:30:44 5193 3

翻译 excel格式和csv格式的区别(关键差异)

excel格式和csv格式文件的关键差异来源:https://www.guru99.com/excel-vs-csv.html1、CSV 是一种纯文本格式,用于将表格信息保存到具有扩展名 .csv 的分隔文本文件中,而 Excel 是一种电子表格,用于将文件保留到自己的专有格式 .xls 或 .xlsx 中。2、CSV 是一种纯文本格式,具有一系列用逗号分隔的值,而 Excel 是一个二进制文件,它保存有关工作簿中所有工作表的信息。3、CSV 文件无法对数据执行操作,而 Excel 可以对数据执行操

2020-08-24 17:33:29 8423

原创 MySQL行转列与列转行(实现过程)

最近工作用到了好几次列转行,做个小总结。顺道也总结一下行转列 话不多说,现在开始 ~~   行转列: 转换之前的表格,第三、四列分别为特征和数值图1  首先看第一次的执行sql:select id , name , (case 特征 when '年龄' then 数值 else 0 end) as age, (case 特征 when '身高' then 数值 else 0 end) as height,

2020-08-07 16:02:26 3258 3

原创 Linux远程连接MySQL数据库(保姆式教程)

1、首先打开Xsell等连接工具2、接着输入:ssh root@目标主机服务器ip地址,输好之后回车我这里假设目标主机服务器ip地址为 123.123.123.123注意ssh与root之间有一个空格3、显示正在连接远程主机服务器并弹出SSH用户身份验证要求输入访问服务器的密码,输入访问服务器密码之后回车4.显示下图一欢迎登录服务器界面之后输入:mysql -u root -p 访问服务器下的mysql数据库,注意空格,输好之后回车。显示下图二Enter password之后输入数据库密码,这

2020-07-22 12:12:27 901

转载 POJO与Entity/PO、JavaBean、DTO、BO、VO的区别与联系

最近学习接触到了DTO,结合以前学习的entity、pojo与javaBean,不太清楚他们之间的区别与联系。看到一篇总结得很棒的博客转载一下。希望对你的学习也有所帮助。PO /entity:persistent object持久对象1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。2 .在hibernate持久化框架中与insert/delet操作密切相关。3 .PO中不应该包含任何对数据库的操作。VO :value object值对象 /

2020-07-13 15:27:37 751

原创 SpringMVC原理(请求在SpringMVC中的处理流程)

首先我们来了解一下SpringMVC的五大核心组件:1、DispatcherServlet:请求的入口,核心控制器,请求的入口,所有的请求都需要通过此入口(控制器,请求的入口)2、HandlerMapping:记录了请求和处理器得一对一的关系,派发当前请求(控制器,请求派发)3、Controller:请求处理器,处理请求的具体组件(控制器,处理请求)4、ModelAndView:封装了数据信息和视图信息的对象(处理报告)(模型层:封装处理结果数据)5、ViewResolver:视图处理器

2020-06-28 22:56:37 403

原创 Sql优化

1、例如查询连续id的数据,使用between不要使用in例如查询user表中id为1-5的数据别用:select * from user where id in (1,2,3,4,5)用:select * from user where id between 1 and 52、查询需要的数据时只查出自己需要的列,不要查询所有的列例如查询user表的id和name别用:select * from user用:select id,name from user3、需要group by 分组的数据

2020-06-26 17:28:36 286

原创 HashMap底层原理(图文并茂,简单易懂)

大家先看下这张图片:1、HashMap是基于哈希表实现的,而哈希表的底层是数组加上链表的形式。2、哈希表的默认长度是16,编号从0开始。图中编号0-4的长方形代表了一个数组,箭头指向的代表了一个一个的链表。3、数组内存连续查询效率高,链表内存分散增删改效率高,哈希表采用此种存储数据的形式极大的提高操作数据的效率。4、用HashMap存储数据时哈希表会先将HashMap的key通过hashCode计算出该数据在哈希表上的的存储位置。如果该位置没有数据,则直接存储,如果该位置有数据,则与该位置的其它数

2020-06-18 19:53:23 5252 2

数据结构与算法.zip

对于大部分业务开发来说,我们平时可能更多的是利用已经封装好的现成的接口、类库来堆砌、翻译业务逻辑,很少需要自己实现数据结构和算法。但是,不需要自己实现,并不代表什么都不需要了解。 如果不知道这些类库背后的原理,不懂得时间、空间复杂度分析,你如何能用好、用对它们?存储某个业务数据的时候,你如何知道应该用ArrayList,还是Linked List呢?调用了某个函数之后,你又该如何评估代码的性能和资源的消耗呢? 作为业务开发,我们会用到各种框架、中间件和底层系统,比如Spring、RPC框架、消息中间件、Redis等等。在这些基础框架中,一般都揉和了很多基础数据结构和算法的设计思想。 比如,我们常用的Key-Value数据库Redis中,里面的有序集合是用什么数据结构来实现的呢?为什么要用跳表来实现呢?为什么不用二叉树呢? 如果你能弄明白这些底层原理,你就能更好地使用它们。即便出现问题,也很容易就能定位。因此,掌握数据结构和算法,不管对于阅读框架源码,还是理解其背后的设计思想,都是非常有用的。

2021-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除