- 博客(75)
- 资源 (18)
- 收藏
- 关注
转载 左右值树形结构移动节点方法(modified preorder tree traversal move node)
在之前的文章:使用左右值树形数据结构实现树形菜单中记录了如何使用左右值增删改查节点,本次将记录一下如何移动节点,语言使用JAVA + MYSQL实现。正文地址:https://reiner.host/posts/cfc5b0c5.html...
2021-06-23 14:10:03
581
转载 SpringBoot中使用redis实现相对可靠的分布式定时任务,适用于订单场景
https://reiner.host/posts/569a11d6.html
2021-05-25 15:29:01
353
原创 spring cloud微服务架构中使用自定义注解实现简单的权限控制与权限开关
前言在微服务架构下开发权限控制一般的做法是,独立开发一个专门用于鉴权的服务,其它服务每次请求接口时都调用鉴权服务鉴权,这样做的好处是,代码耦合低,权限控制功能好扩展,其坏处是每次鉴权都要请求鉴权服务,增加服务器资源消耗,因此我弄了一个简单的权限验证,能满足接口级别的验证,不通过专门的鉴权服务,而是每个服务自己去验证权限。权限验证开关注解 并非每个服务都需要验证权限,因此我们可以定义一个类似@EnableDiscoery这样的注解开关来控制:@Retention(Retention...
2020-09-15 19:13:59
1178
原创 分享一些学习安卓时的陈年老代码,以及其它一些java练习代码
我也不管有没有人能用得上了,总之放出来,用需要的自取首先是安卓的一个播放器和小游戏链接: https://pan.baidu.com/s/18xJmyKs3sRZT03maNCys5Q 提取码: 4twr安卓新闻app源码和java服务器源码:貌似新闻APP源码是用flutter做的,我忘记了。下载地址:链接: https://pan.baidu.com/s/1VAwJKYOEgOFE1yJTe81FWg 提取码: k7wtcocos2dx做的坦克大战嘿嘿...
2020-05-17 10:13:58
309
原创 实现树形菜单或分类的方法之一,使用左右值树形数据结构(modified preorder tree traversal)实现树形菜单
突然发现自己以前常用的parent_id ,node_id这种简单直观的树形结构设计效率很低,数据量一大,就需要不停迭代寻找节点,于是这几天学习了新的数据结构,在此做下笔记。左右值数据结构网上教程很多,不再赘述,总结一下就是:要保持父节点右值比所有子节点的右值大,左节点左值比所有子结点左值小直接上代码,上面有注释CREATE OR REPLACE FUNCTION "pu...
2020-04-21 17:08:39
1117
1
原创 Seata 多路服务调用时事务不回滚解决办法
最近使用了Seata作为分布式事务管理工具,在一般情况如: A服务调用B服务且A服务调用C服务,即A-B & A-C这种服务调用链路,当其中任意一个服务报错,事务是可以回滚的。然而,稍微复杂一点的情况我发现seata事务居然不会回滚了!即A-B &B-C & B-D,这种调用链路,seata就不会回滚了,我想说框架都快1.0版本了居然连这种情况都不支持吗?于是我查了...
2020-01-10 17:05:08
12042
9
原创 使用乐观锁解决电商中商品超卖的问题
电商项目中下单是要减库存的,但是当多个用户同时请求时会产生并发,导致多个线程同时减库存,库存可能变为负数,在这里我记一下一个简单的防止超卖的方法。JAVA代码:private ResultDTO<Object> checkAndUpdateInventory(SampleInventoryDTO dto, int index) throws InterruptedE...
2020-01-07 15:20:02
1074
原创 使用Jenkins + docker 自动化部署Spring boot 微服务 详尽操作流程
前言 之前写过一遍比较粗略的jenkins + docker部署文章,这次有时间,认真的写一遍比较详细完整的jenkins +docker部署文章,由于有时间所以这次就多写一点吧,记录下我自己对docker的看法,以及它的作用,若有不对之处还请指出。Docker的作用 其实一般的小型项目是用不上也没有必要使用docker的,docker的作用是资源隔离以及快速部署,在项目比较小的时...
2019-09-26 15:47:50
732
原创 解决mybatis plus 3.x 和pagehelper无法共用、包冲突问题
pagehelper-sprng-boot-starter和mybatis-plus-spring-boot-starter同时引入启动时会报错,即使按网上的排出pagehelper-starter的mybatis包依旧报错,具体解决办法如下:<dependency> <groupId>com.github.pagehelper</groupId...
2019-08-16 14:53:52
8138
2
原创 总结一下微信扫码支付、小程序支付的几个坑
在调用微信支付接口中遇到各种问题,真不知道是哪个人才写的接口文档,几个简单的接口调了好几天。1、小程序获取code2Session时errcode出错时是会返回错误码,但正常时居然连这个字段都不返回了,说好的正常返回0呢?2、小程序支付的时间戳参数,在调用小程序支付接口时需要后台生成签名,有个timeStamp参数,文档上写的是当前时间,注意这里有个坑,它要的是到秒级别的,如果...
2019-07-31 16:29:38
2450
原创 在spring boot中使用@EnableWebMvc 一定要注意的问题!
有时我们需要自定义一个spring mvc拦截器或者跨域之类的配置,然后在配置拦截器时会在config类上加上@EnableWebMvc,然而这个注解会带来一个问题,按官方的说法,@EnableWebMvc表示完全自己控制mvc配置,也就是说所有配置自己重写,所有默认配置都没了!有时会导致很多请求进不来,或者参数转换出错之类的,因为spring mvc默认的转换器已经不生效了,所以在大多数情况...
2019-07-11 15:14:05
3462
原创 pagehelper分页查询的一个坑,明明下一页没有数据了却还是返回了数据
解决:关闭这该死的合理化,如下配置:pagehelper:# helperDialect: mysql reasonable: false # 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据reasonable:false ...
2019-05-27 14:56:02
8308
6
原创 Spring Mvc报异常:java.lang.reflect.UndeclaredThrowableException
原因:spring mvc反射找不到对应的方法解决:检查代码,是不是方法的修饰符写成了private或者protected
2019-05-22 18:24:03
1057
原创 使用Jenkins + Gitlab自动构建Spring Boot项目,并部署到远程服务器上
前言最近又重新弄了一下jenkins,虽然之前也有弄过但是都是在本地服务器部署,而且记录的不够详细,因此这次将写下详细部署过程。一、下载并启动Jenkins下载地址:https://jenkins.io/download/ ,选择下载war包下载完成后用FTP上传到服务器上输入启动命令:nohup java -jar jenkins.war --httpPort=70...
2019-05-15 18:48:44
4276
1
原创 Spring Cloud Feign 报:Method not annotated with HTTP method type (ex. GET, POST)
原因1:继承了BaseFeign 也就是说父类可能已经有相同的方法了,而你在子类又写了一个一样的方法解决:检查是否有相同请求URL或者方法名一样的FEIGN请求小记: 如果被调用端,也就是controoler用了基础类型参数,如:public ResultDTO<T> getAllList(Integer page,Integer pageSize);那么fe...
2019-05-11 13:53:15
10492
1
原创 使用tx-lcn分布式事务框架无法连接远程TM管理服务
提示Connect socket(/xxxx:8070) fail. 6000ms latter try again本机运行就没问题,部署在远程就一直这样,后来把默认的127.0.0.1改成远程机器的具体IP就可以了,如下配置:tx-lcn.manager.host=192.168.1.242...
2019-05-07 16:11:49
4229
6
原创 记一次mybatis返回自增主键的低级错误!
<insert id="insert" useGeneratedKeys="true" keyColumn="USER_ID" keyProperty="userId" parameterType="xxx.User">代码如上一切配置都没问题,然后我通过如下代码获取IDint userId = baseDao.insert(user);结果返回的是1 ,这里就犯了低级...
2019-04-23 14:15:34
359
原创 java面试总结之微服务与redis【四】
前言如有错误的地方还请指出,免得误人子弟。。。正文微服务微服务概念理解1.将业务服务拆分成多个细小独立的服务2.每个微服务都是独立可运行的3.微服务本质是soa(面向服务架构)其是一种架构设计理念4.(更多请自行搜索)微服务的好处1.每个服务独立运行不受技术,数据库,等影响2.由于其划分精细,小部分功能升级不影响其他功能使用3.松耦合4.接口通用s...
2019-04-09 11:21:35
396
原创 java面试总结之杂项【三】
前言由于记的时候比较杂,因此全放杂项里面了,可能包括各种乱七八糟的东西。。。如有错误的地方还请指出,免得误人子弟。。。正文Http Tcp为什么需要四次挥手tcp之所以三次握手四次挥手是因为发送端的数据发送完了请求关闭连接,但接收端不一定接收完毕,因此需要来回重复确认。为什么需要三次握手如果只有两次握手,tcp/udp属于传输层 基于 ip网络层 socket和http...
2019-04-09 11:12:10
235
原创 java面试总结之集合【二】
Java所有集合类型1.ArrayList2.LinkedList3.Set 只允许一个null,且是无序的4.TreeSet 有序的,访问遍历比较快,底层基于TreeMap,TreeSet根据其 compare() 和 compareTo() 的定义进行排序的有序容器。5.TreeMap 红黑树数据结构,有序的,非同步6.HashSet 散列法,底层基于Hashmap,无...
2019-04-09 11:01:07
104
原创 JAVA面试总结之多线程与线程池【一】
前言今年行情是真的不好,总结一句话就是狼多肉少,在经过了一段时间的磨练(打击)后将想到的与碰到的面试题分享出来,希望可以帮到大家,需要注意的是本章只写总结不写细节,要了解细节的朋友请自行搜索,最后说一句,不要放弃!尤其是某位开玩笑说要转行的朋友,多背背题肯定能找到的。java线程锁1.Synchronized,它就是一个:非公平,悲观,独享,互斥,可重入的重量级锁2.Reen...
2019-04-09 10:52:47
263
原创 java使用redis模拟高并发秒杀活动
首先配置jedis包 <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>j...
2019-03-23 21:06:45
2798
1
原创 使用Jenkins + docker 自动化部署Spring Cloud微服务的采坑之路 其三【使用maven插件dockerfile-maven-plugin自动构建镜像】
一、配置pom.xml上一章里我们已经配置好了jenkins,接下来配置maven项目插件,pom.xml如下:<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <vers...
2019-01-17 11:18:01
2661
1
原创 [gitignore] git提交时忽略提交.classpath .project log和class等文件的提交
使用eclipse提交时总是会出现一些不需要提交 的东西在提交列表,因此只需要在项目目录建一个 .gitignore 文件就行了,然后加入如下配置:/target/*.class*.jar*.log/logs/*/target/*.gitignore.classpath.settings*.project/.idea/*PS:如果在windows下无法建" ."...
2019-01-08 13:47:52
9787
转载 使用jdbcTemplate BatchUpdate批量插入效率慢的问题
原因是没加jdbc连接参数导致多条插入被识别成一条一条执行,在jdbc连接URL后加上如下参数: rewriteBatchedStatements=true examp:url: jdbc:mysql://xxxx:3306/syncdata_test?useUnicode=true&characterEncoding=utf8&rewriteBatchedSt...
2019-01-03 11:24:25
10014
原创 使用Jenkins + docker 自动化部署Spring Cloud微服务的采坑之路 其二【不使用docker自动化部署微服务】
2019-5-17更新,此文章过于简陋不再具有参考性,请移步:https://blog.youkuaiyun.com/u012280292/article/details/90241596================================================================================================在生产或者...
2018-12-25 16:32:03
1068
原创 使用Jenkins + docker 自动化部署Spring Cloud微服务的采坑之路 其一【安装Jenkins】
最近在研究jenkins + docker 自动化部署,一路是采坑无数,今日记下我的采坑记录,希望能帮到有同样问题的程序猿们。首先是安装Jenkins,安装Jenkins很简单,去管网下载其War包直接用Java -jar命令运行就行了,而且Jenkins网上安装教程无数我在这里也就不再赘述了,重点说下采坑路程。 一、一开始我是直接下载的War包,然后启动了,然后关闭了,然后再打开em...
2018-12-20 16:54:04
1292
1
原创 记一次不可能的运行结果!我电脑出问题了???
调试oauth2源码找Bug结果发现这么一段代码:if (!this.grantType.equals(grantType)) { return null;} 那么问题来了,this.grantType和grantType值是一模一样!连ID也是同一个,但是运行结果居然是return null!上图为证 在下才疏学浅有没有大牛解释一下?...
2018-11-01 17:02:07
215
原创 【Spring Boot 2.0升级】Spring Cloud Finchley 整合ZIPKIN快速配置
spring boot 2.0 变化真的很大,以前配置好的zipkin服务全都不能用了,今天弄了一整天终于搞定了zipkin的“新配方” 先上pom配置:<!-- ZIPKIN服务追踪 --> <dependency> <groupId>org.springframework.cloud</groupI...
2018-10-24 17:20:35
2755
2
原创 【spring boot 2.0升级】Spring Boot 2.0 Spring Cloud 报Project build error: Non-parseable POM问题
搭建spring cloud项目时一直报什么Project build error: Non-parseable POM ... ,经过2天苦战发现是由于之前导入了老项目,用的是spring boot 1.x 我改成了2.x后就报这个错,即使删除了所有的maven respository 依赖报这个错,不知为何,不管怎么弄 它总是会自动依赖spring cloud 1.34的包,然后就导致包冲...
2018-10-22 10:07:54
4789
原创 [dart入门]在中dart使用带参数的匿名函数作为参数
最近在折腾DART,记一下匿名函数的使用方法:不带参匿名函数作为参数这样使用:doSome(VoidCallback voidCallback){ voidCallback();}带参数的匿名函数作为参数:doSome(voidCallback(var result)){ voidCallback(result);}最后附带填写函数参数时使用匿名函数的语法...
2018-09-23 19:40:30
6096
2
原创 【flutter 溢出BUG】 bottom overflowed by 104 PIXELS
一开始直接使用Scaffold布局,body:new Column 然后结果调出键盘的时候就报这个错了解决办法是使用SingleChildScrollView包装一下,原来的是这样:return new Scaffold( appBar: new AppBar( title: new Text("搜索"), ), //使用Scro...
2018-08-23 22:05:29
15935
2
原创 在Spring Boot YML配置文件中使用MAVEN变量@var@
在application.properties后缀的配置文件中我们如下使用MAVEN变量:eureka.client.serviceUrl.defaultZone=@defaultZone@@运行时符号会自替换成MAVEN变量配置好的值,但是换成YML配置文件不行了,会报错,如下配置即可解决:eureka: client: service-url: de...
2018-07-09 15:00:44
14130
18
原创 记一次使用Spring JdbcTemplate的错误:java.io.NotSerializableException: org.springframework.jdbc.core.SqlParam
当时代码如下:template.queryForList(sql,sqlValues) 然后就报:java.io.NotSerializableException: org.springframework.jdbc.core.SqlParam 错误了。断点查看才发现它把sqlVlues解析成单个Object了,实际上它是个数组List<SqlParameterValue> sqlVal...
2018-06-27 13:41:06
3059
原创 spring boot中JdbcTemplate配合cglib实现无须建实体的通用查询
JdbcTemplate已经简单的封装了JDBC的操作,我们可以通过注解的方式直接拿到:@Autowired private JdbcTemplate template; 然后通过表名获取所有字段(代码仅为片段):DatabaseMetaData dbmd = conn.getMetaData(); ResultSet rs = dbmd.getColumns(conn.getCatalo...
2018-06-22 17:04:56
768
原创 分享一个自己搭建的spring cloud微服务框架,可在此基础上修改
一年前自己搭建的spring cloud微服务框架,包括高可用注册中心 断路由 Spring Cloud Config远程配置 Zuul路由 Zipkin请求追踪 feign等。启动顺序为Discover config db server gateway 其中远程配置和zipkin需要取消注释来启用需要搭建微服务框架的朋友可以在此基础上修改以节省时间。github地址:https://github...
2018-05-23 15:15:44
1846
原创 spring通过注解方式依赖注入原理 (私有成员属性如何注入)
一、spring如何创建依赖的对象 用过spring的都知道我们在dao、service层加上@repository、@Service就能将这两个对象交给spring管理,在下次使用的时候使用@resource 或者@Autowired 就可以拿到而不需要自己再去new了,那么它是如何创建那些加上注解的对象的呢?通过JAVA反射拿到无参构造函数 以下只是举例:Constructor<...
2018-05-23 14:33:08
8762
1
原创 记使用Junit单元测试事务无法回滚的问题(spring事务和断路器-Hystrix冲突)
在使用Junit的时间发现事务无法回滚,后来把Hystrix断路由删掉发现可以的,源码调式发现Hystrix和sqlsessionFactory使用的不是同一个contection,最后是将断路由的策略改成信号量(SEMAPHORE)解决的,目前没找到断路由线程池(THREAD)策略和Junit事务共存的办法。综合上述,配置改为如下即可解决:hystrix.command.default.exec...
2018-04-24 15:06:07
3505
原创 记Hystrix所有异常都会进“fallback”熔断方法的问题
在注解上加上你要忽略的异常类型,如: ignoreExceptions = {IllegalStateException.class}参考资料:https://www.cnblogs.com/zhaojinxin/p/7843305.html配置参考:http://hwood.lofter.com/post/1cc7fbdc_e8c5c96...
2018-04-09 17:22:02
2676
activiti练习项目-整合spring,mybatis
2017-02-21
EASYUI 1.36中文使用手册帮助文档
2014-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人