Springboot 跟着我了解下 事务 @Transactional 默认方式 Propagation.REQUIRED

在平常的项目里面,最常看到的就是使用注解@Transactional 去操作事务。如果稍微对spring事物有过了解的,会知道关于事物传播机制,存在6种,也就是:同样可以在注解@Transactional里面看到, 默认配置了的是Propagation.REQUIRED (文章的主角)而在这里也是其实告诉咱们,就算使用注解也是可以指定不同的事物机制:为什么该篇文章,6种,我只介绍一种呢?而且是介绍的是PROPAGATION_REQUIRED 呢?...
分类: 其他 发布时间: 09-14 23:23 阅读次数: 0

springboot 上传文件设置文件大小限制

报错内容:org.springframework.web.multipart.MaxUploadSizeExceededException:Maximumuploadsizeexceeded;nestedexceptionisjava.lang.IllegalStateException:org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException:therequestwasrejectedbe...
分类: 其他 发布时间: 09-14 23:23 阅读次数: 0

(Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九

前言如题,该篇实践教程就是简单的抛砖引玉,通过实现一个简单的排队场景,带着大家熟悉下 redis里list数据结构的相关操作。正文在开始编码前,我们先简单了解下该篇实践教程实现 排队场景,包括哪些功能:1. 正常排队2.排完队离开队伍3.直接离开队伍4.队伍总人数5.在队伍的所在位置6.插队 (道德不允许,咱们只是做个例子)...
分类: 其他 发布时间: 09-14 23:22 阅读次数: 0

Java 将Map的toString格式字符串转为 Map

//{a=1, b=2, c=3} 格式转换成map private static Map<String, String> mapStringToMap(String str) { str = str.substring(1, str.length() - 1); String[] strs = str.split(","); Map<String, String> map = new HashMap<Stri...
分类: 其他 发布时间: 09-14 23:22 阅读次数: 0

Java 细品 重写equals方法 和 hashcode 方法

前言在我们需要比较对象是否相等时,我们往往需要采取重写equals方法和hashcode方法。该篇,就是从比较对象的场景结合通过代码实例以及部分源码解读,去跟大家品一品这个重写equals方法和hashcode方法。正文场景:我们现在需要比较两个对象 Pig 是否相等 。而Pig 对象里面包含 三个字段, name,age,nickName ,我们现在只需要认为如果两个pig对象的name名字和age年龄一样,那么这两个pig对象就是一样的,nic...
分类: 其他 发布时间: 09-14 23:22 阅读次数: 0

Java 对象的克隆Clone和必须了解的浅拷贝与深拷贝

前言为什么要写这篇文章?因为我最近无意间看到了一些项目的代码,不管是曾经编码的人还是新接手的人, 在想完全克隆复制一个已经存在的对象,做为后续的使用,竟然都是采取了重写new一个,然后一个个属性字段值get出来再set回去,这种代码段让我不禁陷入了沉思。简单描述下场景:已经存在一个对象 sheep,里面已经有了一些字段属性值;因为业务处理需要,想整一个跟这个sheep 对象一模一样的 sheep2 出来;然后在不管是使用sheep 或者 sheep2 的时候,都互不干扰。..
分类: 其他 发布时间: 09-14 23:22 阅读次数: 0

Java i++ 与 ++i

前言为什么发一篇这么常见的,看上去没有营养的文章?原因是: 在某个交流群,发现很多人竟然都不清楚,张口就胡说。所以该篇发出来,让刚好点进来看到这篇文章的初学者,加深一下印象。正文本质:i++ 先赋值再运算++i 先运算再赋值但是 既然是说到赋值,对于赋值来说,那上面的描述改成:a=i++; 先i赋值给a,i再运算a=++i; 先i运算,再赋值给a实例测试1: public static void main(String[] args) { .
分类: 其他 发布时间: 09-14 23:21 阅读次数: 0

Java try 与 finally 对于返回值的影响

前言话说在前头, 不建议在finally里操作返回值 ,当然这也仅仅是建议,有些场景你不得不在finally里去操作返回值,那也无妨。而无妨的前提则是,你对finally操作返回值有所有了解。正文先来个开胃菜,如果try里存在 return ,finally 也存在 return ,那么执行的是 finally 里的 return:那么 try里面的retrun是否有执行? 答案是有的,只是执行后,会因为存在finally块而停止,先去执行finally,而在...
分类: 其他 发布时间: 09-14 23:21 阅读次数: 0

手撕一道算法题 在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯();当N=9时呢?

前言今天偶然看到群里有小伙伴在讨论这道算法题,说实话算法题写的确实有些少了近期,都在忙着搬砖,所以简单做个记录。题:在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯();当N=9时呢?核心思路,拆解:到达台阶 11时,有可能是通过走 1阶上来的 ;也可能是走2阶上来的;所以统计出到达 台阶11,也就是统计出 到达10阶 + 到达9阶 的 方法总数。那么到达10阶,同样有可能是通过走 1阶上来的...
分类: 其他 发布时间: 09-14 23:21 阅读次数: 0

Springboot 整合tk-mybatis , 妈妈,我再也不想敲CRUD的代码了!

前言码农这一生,做的最多的四件事,不是吃喝玩乐,而是增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete) 。泪目。为何我要写这篇文章,是有感而发,请看图:哈哈,虽然看着图一乐,但是大部分码农的工作生活确实现状如此。也许会有人说了,其实很多crud的代码也只是复制粘贴而已,稍微改改就好。这确实没错,但是人天性嗜懒,日复一日,不免对复制粘贴也产生了些许倦意。那么为了我们每天都能元气满满,我们尽可能减少大部分我们‘...
分类: 其他 发布时间: 09-14 23:21 阅读次数: 0

【硬着头皮】你还在用size来判断集合是否为空?

前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:从数据库查询出来的list 或者 map ,确保里面包含元素再执行相关业务逻辑。作案手法:盘问:来自我的友好试探:你段代码没报错么?如果数据库返回null?这不炸了?作案者猛然一惊:谢谢提醒(还挺有礼貌)。作案者重新进入案发现场,进行犯罪痕迹销毁(自信):我:这么一看确实ok,但是有没有觉得代码写的很蠢? 每次一个查询都写两个小if?作案者(似懂非懂),...
分类: 其他 发布时间: 09-14 23:20 阅读次数: 0

【硬着头皮】PageHelper 必须用来分页?

前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:项目查询数据需要分页查询,因此引入了PageHelper。然后出现需求,一个接口需要分页查询,一个接口是查询全部。作案手法:作案者机智地写了两个查询接口,一个使用PageHelper做为分页,一个不使用。盘问:来自我的友好试探:这么写着不累么?作案者平淡无奇:那有啥办法,这边分页查询,那边说不用分。我:你不是用来PageHelper么,为啥还要写两套...
分类: 其他 发布时间: 09-14 23:20 阅读次数: 0

Java 使用LRUMmap设计一个简单的缓存场景

前言LRUmap的作用是啥,就是能帮我们淘汰最近未使用的数据。那么该篇内容即是给初学者介绍一下LRUmap的使用。正文在该篇文章里,我们使用的LRUmap 来自:import org.apache.commons.collections4.map.LRUMap;maven依赖: <dependency> <groupId>org.apache.commons</groupId>...
分类: 其他 发布时间: 09-14 23:20 阅读次数: 0

MYSQL 查找单个字段或者多个字段重复数据,清除重复数据

前文重复数据的情况分为两种:单个字段 数据重复多个字段 数据重复所以该篇的内容就是包括单个字段的重复数据查找 与 去重多个字段的重复数据查找 与 去重正文示例 accountinfo 表数据如下:场景一 单个字段重复数据查找 & 去重我们要把上面这个表中 单个字段 account字段相同的数据找出来。思路 分三步 简述:第一步要找出重复数据,我们首先想到的就是,既然是重复,那么数量就是大于 1...
分类: 其他 发布时间: 09-14 23:20 阅读次数: 0

先了解清楚 脏读、不可重复读、幻读,再谈事务隔离机制

前言在大谈事务隔离机制前,我们务必要了解脏读、不可重复读、幻读 。因为事务隔离机制,就是为了给我们选择权利去规避脏读、不可重复读、幻读。如果我们连问题是什么东西都不清楚,那去了解解决各问题的方案,是不是草率了。所以,该篇内容主要是想用些通俗易懂的话语结合实例去 描述下,什么是脏读?什么是不可重复读?什么是幻读?正文一.什么是脏读?举个例子我和你的操作分别代表两个不同的事务操作(提交事务才算完成一个事务所做的事情)...
分类: 其他 发布时间: 09-14 23:19 阅读次数: 0

ActiveMQ 启动报错 Address already in use: JVM_Bind 5672

解决方案:出现这个错误,据表达就是 端口地址已经被使用了。那么你只需要关掉使用的端口服务即可。那么 我们需要知道ActiveMQ 在启动的时候涉及到的几个端口,在conf文件夹里的activemq.xml 文件里,这几个都是涉及到的端口:比如我在一台机器上,启动ActiveMQ 启动报错 Address already in use: JVM_Bind xxxxx 5672原因是这台机器上的amqp 5672端口 已经被另一个服务使用到了,就是rabbitmq...
分类: 其他 发布时间: 09-14 23:19 阅读次数: 0

ActiveMQ 无法注入 jmsMessagingTemplate

报错,显示无法注入使用 JmsMessagingTemplatejmsMessagingTemplate :解决方案:替换的依赖如 : <dependency> <groupId>org.messaginghub</groupId> <artifactId>pooled-jms</artifactId> <...
分类: 其他 发布时间: 09-14 23:19 阅读次数: 0

ActiveMQ 报错 Could not connect to xxxxxxx , hostname can‘t be null

报错信息:原因: 根据这个url链接不上ActiveMQ 服务。解决方案:1. 确认ActiveMQ 服务已经开启,可以查看服务进程,也可以通过登录服务器管理页面确认。2. 把127.0.0.1 改成自己的ip地址, 本机就改成内网地址,例如我:...
分类: 其他 发布时间: 09-14 23:19 阅读次数: 0

LeetCode102.二叉树的层序遍历(Java实现)

LeetCode102.二叉树的层序遍历(Java实现)二叉树简介百度百科:二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分 。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该
分类: 其他 发布时间: 09-14 23:18 阅读次数: 0

leetCode104二叉树的最大深度(java实现)

leetCode104:二叉树的最大深度(java实现)题目概述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。题目解析:如果二叉树为空返回0最好用递归做,因为遍历长度不确定除了叶子节点,每个节点都有孩子如果只有根节点,
分类: 其他 发布时间: 09-14 23:18 阅读次数: 0