![](https://img-blog.csdnimg.cn/20200331193139396.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
文章平均质量分 79
Java是一门面向对象编程语言,Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
汤圆一号
这个作者很懒,什么都没留下…
展开
-
一句话讲解脏读、幻读、不可重复读
| 脏读核心要领:A事物数据读取后,B事物回滚,导致A读取数据有误时间顺序转账事务(A)取款事务(B)1开始事务2开始事务3查询账户余额为2000元4取款1000元,余额被更改为1000元5查询账户余额为1000元(产生脏读)6取款操作发生未知错误,事务回滚,余额变更为2000元7转入2000元,余额被更改为3...原创 2020-01-01 15:59:29 · 1191 阅读 · 0 评论 -
Map四种遍历方式代码示例
import java.util.HashMap;import java.util.Iterator;import java.util.Map;/** * @author yanghao * @version MapTest.java, v 0.1 2019-12-25 09:24 */public class MapTest { public static void m...原创 2019-12-25 09:40:22 · 1100 阅读 · 0 评论 -
BigDecimal.setScale()方法实用技巧
方法使用scale() 方法用于格式化小数点setScale(1,BigDecimal.ROUND_DOWN) 直接删除多余的小数位,如2.35会变成2.3setScale(1,BigDecimal.ROUND_UP) 进位处理(无论小数如何),2.35变成2.4setScale(1,BigDecimal.ROUND_HALF_UP) 四舍五入,2.35变成2.4(目前最常用的金额处理方法...原创 2019-12-24 20:19:33 · 3055 阅读 · 0 评论 -
mybatis-dalgen之paging、optimize用法
一. 普通分页paging增加**multiplicity=“paging” paging=“UserList”**即可,生成代码如下TP_USER.xml<operation name="getAllUser" multiplicity="paging" paging="UserList" remark="查询所有用户"> SELECT * FROM TP_USER&...原创 2019-12-18 20:19:04 · 2011 阅读 · 0 评论 -
mybatis参数类型不匹配错误argument type mismatch
错误日志java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error selecting key or setting result to parameter object....原创 2019-12-16 17:13:45 · 8069 阅读 · 0 评论 -
基于SqlSessionFactory的Mybatis批量更新
实现方式比较多,这里主要说明sqlSessionFactory实现的批量更新1. 首先建一个spring工具类用来自定义获取Mapper类import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframe...原创 2019-09-17 11:01:07 · 2021 阅读 · 1 评论 -
jacoco代码覆盖率浅析
1. jacoco简述一个开源的覆盖率工具很多第三方的工具提供了对JaCoCo的集成,如sonar、Jenkins等目前只支持JDK 1.5及以上官网地址:https://www.eclemma.org/jacoco/github地址:https://github.com/jacoco/jacoco说明:为啥只能使用JDK 1.5及以上,因为jacoco使用的java代理,而j...原创 2019-09-05 16:02:26 · 1316 阅读 · 0 评论 -
java8 lambda使用方法
记录一下,利用java新特性 lambda表达式的使用方法,这里主要列举常用的3个(list转map,分组,过滤)1. list转map//组装list集合List<User> userList = Lists.newArrayList();userList.add(new User("111", "张三"));userList.add(new User("222", "李四...原创 2019-08-22 19:17:52 · 335 阅读 · 1 评论 -
利用Socket实现客服机器人对话
经常有小伙伴可以看到一些大型的网站都会有一些客服机器人协助解决问题,今天在这里用Socket实现了一个简易的对话功能,感兴趣的小伙伴们可以往下看。先来看一下演示结果吧客户端启动后打印如下信息,这个时候可以在控制输入1,2,3来选择机器人小莉的问题解答小莉?你以为是下面这个⬇️不不不,小莉是给机器人起的名字,哈哈哈。。。扯远了。。。下面看下属于指令之后的情况:输入完全服务端...原创 2019-07-11 20:42:01 · 943 阅读 · 0 评论 -
消息中间件——RocketMQ与Kafka特性对比
在互联网公司工作的RD们,对消息中间件最为熟悉不过了,如今随着分布式系统架构的盛行。一个高可用、高并发的消息中间件对我们来说尤为重要。在公司快速增长时期,是没有精力去研发这种基础中间件。所以如何选择就成了一个问题?这个问题也需要我们深入了解各个消息中间件的特性。我们就当前比较热门的消息中间件淘宝开源的R...转载 2019-07-04 15:44:13 · 272 阅读 · 0 评论 -
mybatis-dalgen自动生成异常小记
这几天出现了mybatis:gen 自动生成异常的情况,情况如下:咨询了元老级人物德峰老师,未果!遂又将所有依赖包全部删除,重新从私服下载,启动插件执行,还是报错。。。(顺便推荐一下我南哥的mybatis-dalgen源码)经过和小伙伴们的一番讨论,猜测应该是私服的包有问题,遂将settings.xml还原了最初maven的依赖包,清空所有包后,又重新下载了一次,因为不是私服下载的依赖包...原创 2019-04-09 21:13:51 · 814 阅读 · 0 评论 -
xml转map自制小工具
网上xml转map的例子很多,大多原理都差不多,但是好用的并不多,这里自己写了小工具,效果谁用谁知道代码示例import com.google.common.collect.Maps;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import java.util....原创 2019-04-08 14:31:23 · 417 阅读 · 0 评论 -
java双字段分组统计小技巧
前段时间有人抛出了这样一个问题:这是一个java接口,接受的数据是一个集合List,范型是一个对象,对象有2个重要字段,暂且叫为type1和type2吧,现在需要根据type1和type2分组,并且,当type1为1时,每个50个需要单独一组,最后不足50,单独一个组;type1为2时,每1000个单独一组,最后不足1000一个组咋一看这样的问题,就是一个统计问题,但是如何用高效的代码去统计...原创 2019-04-01 21:50:48 · 1441 阅读 · 0 评论 -
正则表达式校验金额最多保留两位小数
先给出表达式结果:^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$不熟悉正则表达式的同学,咋一看,一脸懵逼,我们来分解说明一下正则表达式校验金额最多保留两位小数,那么必须满足如下条件:正数金额,如5,10等一位小数,如5.1, 5.2等二位小数,如5.12, 5.13等部分正则表达式符号说明:^ 匹配输入字行首[1-9] 只能取1-9之间的正整数.........原创 2019-03-28 11:27:54 · 56433 阅读 · 8 评论 -
jboot学习之路(一)
1. 新建一个maven项目2. 添加依赖配置目前用了jboot最新版本2.0.3<dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>2.0.3</version><...原创 2019-03-27 12:06:10 · 1799 阅读 · 0 评论 -
正则表达式中的^和$
前前一期说了正则表达式校验金额最多保留两位小数(感兴趣的小伙伴可以过去看看 https://blog.csdn.net/weixin_43968234/article/details/88865306 )其中提到了^和$,当时只是简单说明了这个表达式,今天来详细说明一下使用方法先说明一下两个表达式含义:^匹配开始位置$匹配结束位置来看个简单的demoimport java.util.r...原创 2019-03-30 12:08:19 · 8363 阅读 · 0 评论 -
java设计模式-策略模式详解及示例
1. 定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换,策略模式让算法独立于使用它的客户而独立变化。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。2. 意义策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是低耦合的关系。低耦合的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性。3. 逻...原创 2019-03-26 16:01:07 · 144 阅读 · 0 评论 -
java实现钉钉机器人消息推送
先建个钉钉群,并加好机器人此时,机器人已经添加完毕,接下来编写我们连接机器人小哥的代码import com.alibaba.fastjson.JSON;import com.google.common.collect.Lists;import com.google.common.collect.Maps;import java.util.List;import java.u...原创 2019-03-29 18:02:28 · 11645 阅读 · 24 评论