坑
文章平均质量分 57
HD243608836
这个作者很懒,什么都没留下…
展开
-
关于java8的List的stream流的foreach()方法问题探究(坑)与替代方案
今天发现线上系统出现了一个bug,① 定时调用的系统暴漏的接口,来定时获取List数据。② 然后我会筛选出该List中符合条件的Object,对筛选出来的Object的某个属性进行。③ 最后将该List全部保存到数据库(包括修改和未修改的都保存下来)。原创 2023-02-22 20:42:24 · 3940 阅读 · 1 评论 -
【jpa的坑】解决SpringBoot JPA查询时使用set方法时自动更新数据库问题
困扰了我将近一周的诡异bug!现象:整个项目没有插入数据库该表的数据的代码,诡异的增加数据。后来和使用该项目的同事一起分析总结规律,好像都是页面查询显示时会触发数据库update,于是Mysql中加入了binlog和general_log。一番苦等,两天之后,终于同事发现不断使用页面查询后,过几分钟,诡异重现!!!数据不断变化,于是查看bin-log(或general_log)发现居然有update语句出现,而且最初发生update的开始时间与同事执行的查询时间中某一条数据的时间一致,秒都没差转载 2021-12-01 16:20:56 · 2737 阅读 · 0 评论 -
Mysql tinyint长度为1时在java中被转化成boolean型——踩坑(好文章!)
在项目中遇到一个巨坑,程序没问题,从mysql查询到的tinyint数据中莫名其妙的变成了布尔类型,导致后续出错。这种细节性的问题,只有遇到时才会关注到,记录备忘。下面是详细解释:在项目中有一个字段为user_type,长度设置为1,表示注册用户和非注册用户,是注册用户为 1,否则为 2。因为查询语句是使用的Jfinal相关函数,查找到其中的获取数据类型字段程序,如下所示:在图中光标处断点发现,通过getObeject后,类型变为boolean。而其中tinyint长度为4的,经过转化后没有问转载 2021-06-24 22:44:10 · 1184 阅读 · 0 评论 -
一个可以提高开发效率的git命令:cherry-pick(发布过程旧版本)(好文章!)
各位码农朋友们一定有碰到过这样的情况:在develop分支上辛辛苦苦撸了一通代码后开发出功能模块A,B,C,这时老板过来说,年青人,我们现在先上线功能模块A,B。你一定心里一万只草泥马奔腾而过,但为了混口饭吃必须得按老板的意思办事啊。怎么办?一个办法就是,重新建一个分支,然后再把功能模块C回退,留下功能模块A,B。这种做法不是不行,但是有更好的办法,那就是git所提供的cherry-pick功能。cherry-pick类似于一个定制化的merge,它可以把其它分支上的commit一个个摘下来,合并到转载 2021-06-10 17:39:25 · 332 阅读 · 0 评论 -
【项目实例】git合并分支——关于git rebase使用的项目实例
前几天开发代码,遇到了个问题:分支结构:master-------dev1 --------dev2原创 2021-06-10 15:39:18 · 308 阅读 · 0 评论 -
Git rebase和stash的区别(好文章!)
这篇文章主要是想讲一讲在git 工作流过程中,如何将你的工作树,变成一条线,而不是线条错乱分开的。一个优秀的Git 管理流程应该是职责清晰,条例清晰,网上也有很多的的介绍:https://www.jianshu.com/p/bb980de96be6https://www.oschina.net/translate/a-successful-git-branching-model一、rebase、stash的基本用法stash它的意思就是,把当前你已经修改了的文件暂存到本地,把你的分支恢复到未转载 2021-06-07 21:10:56 · 941 阅读 · 0 评论 -
git merge 合并时 --no-ff 的作用——主要影响版本回退(好文章!)
在许多介绍 Git 工作流的文章里,都会推荐在合并分支时,加上--no-ff参数: $ git checkout develop $ git merge --no-ff feature --no-ff在这的作用是禁止快进式合并。Git 合并两个分支时,如果顺着一个分支走下去可以到达另一个分支的话,那么 Git 在合并两者时,只会简单地把指针右移,叫做“快进”(fast-forward),比如下图: A---B---C feature / D-...转载 2021-06-04 17:23:22 · 1511 阅读 · 0 评论 -
mysql中count带条件查询——count( 条件 or null )(好文章!)
方法一:SELECT count( t.command_name = 'UNLOCK' OR NULL ) unlockFrequencyFROM表 t1234567方法二:select count(t.command_name) from t where t.command_name = 'UNLOCK'1方法三:select count(if( t.command_name = 'UNLOCK' ,1,null)) fr...转载 2021-06-04 14:20:21 · 10776 阅读 · 6 评论 -
git reset --hard HEAD与git revert HEAD区别(简单明了!)
git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交 * git revert HEAD 撤销前一次 commit * git revert HEAD^ 撤销前前一次 commit * git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交...转载 2021-05-31 18:35:47 · 2093 阅读 · 0 评论 -
git的rebase与merge的区别(简单明了!!)
现在我们有这样的两个分支,test和master,提交如下:在master执行git merge test,然后会得到如下结果:在master执行git rebase test,然后得到如下结果:可以看到,merge操作会生成一个新的节点,之前的提交分开显示。而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase如果你想保留完整的历史记录,并且想...转载 2021-05-31 18:12:36 · 1395 阅读 · 0 评论 -
Java中Long型数据类型对应MySQL数据库中哪种类型对应关系?
Long型id数据对应MySQL数据库中 bigint 数据类型; System.out.println(1==1L); //ture System.out.println(1L); //1 System.out.println(1L+"2"); //12java类 mysql数据库java.lang.Byte byte TINYINTjava.lang.Short short...转载 2021-05-28 17:51:50 · 4709 阅读 · 0 评论 -
MySQL bigint(20),int(11),建表zerofill是什么意思(好文章!!简单明了!)
MySQL中我们建表的时候,类型可以用bigint(20), 这是什么意思呢?首先我们看bigint, MySQL的整型类型有这样几种:类型 占用字节 tinyint 1 smallint 2 mediumint 3 int 4 bigint 8 这是决定存储需要占用多少字节,那么后边的数字(M)代表什么意思呢tinyint(M),M默认为4;SMALLINT(M),M默认为6...转载 2021-05-28 16:55:22 · 1384 阅读 · 0 评论 -
nginx无法跳转后端返回404 not found (前后端分离开发)
查看nginx error日志:open() "/usr/local/oag/oag_web/user/login" failed (2: No such file or directory)又很多种原因,但是经过一步步排查,我这是因为:location 过滤的拦截路径在前端和后端都没配置,导致nginx的拦截前端请求跳转后端失败所以把前后端的访问路径都添加上路径/abcApi即可...原创 2021-05-27 11:19:35 · 671 阅读 · 0 评论 -
java中int(M) 在 integer 数据类型中始终占用4字节,占用与M无关,M 表示最大显示宽度,长度不够用0补齐(简单明了!)
java中int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。如果int的值为10int(10)显示结果为0000000010int(3)显示结果为010就是显示的长度不一样而已(长度不够,用0补齐)都是占用四个字节的空间转载 2021-05-17 11:10:01 · 934 阅读 · 0 评论 -
Arrays.asList得到的list不能add和remove,会触发UnsupportedOperationException异常(坑!看源码!好文章!)
我们先来重温一下题目,有什么疑问的可以移步传送门。String[]和List< String >的区别及相互转换public class test { public static void main(String[] args) { //定义一个字符长度为5的字符串 String[] strings = new String[5]; strings[0] = "a"; strings[1] = "b"; strings[2] = "c";转载 2021-05-13 18:15:28 · 309 阅读 · 0 评论 -
shiro中部分SpringCache失效问题探究及解决(坑——好文章!)
1、问题抛出今天在做Springboot和shiro集成时,发现一个严重的问题。部分service的缓存和事务失效,debug代码时,发现这些有问题的service实例都不是代理生成的,所以事务和缓存就失效了(事务和缓存依赖代理类实现)。继续查问题,发现这些有问题的service全部被shiro的realm所依赖,所以怀疑是shiro影响了所以做一下测试:shiro中用到的ResourceServicepublic class LocalRealmService extends Realm转载 2021-05-08 14:39:55 · 385 阅读 · 0 评论