自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Kubernetes 云原生实战 全过程

本文从k8s的安装到使用, 讲解了全链路云原生应用的知识

2023-06-13 21:33:49 487

原创 stable-diffusion AI 绘画

【代码】stable-diffusion AI 绘画。

2023-06-13 20:27:57 188

原创 SpringBoot加载外部配置文件的几种方式

二与第一种方法不同的是, 前者是加载了之后再加载的, 而此种方法是在加载配置文件之前进行属性源配置需要在定义三与第二种添加一个属性源的方法类似, SpringBoot会将System.getProperty系统属性当作一种属性源, 同样需要在ConfigFileApplicationListener之前加载...

2022-06-27 21:19:05 3098

原创 Java Stream flatMap解析

运行如下代码输出以下代码, 等效于上面的输出接口的文档可以看到demo中方法接受的实例对象以此对应的简写, 为参数, 为返回值对应demo中的代码使用String数组构建stream, 此时流类型为 用处理流内元素, 返回为, 此时流类型为 再用flatMap处理, 就是上一层流的元素类型, 扁平化后流内变为flatMap与map最直观的区别就是 flatMap返回的是, 而map是最终flatMap返回的多个流的内容被添加到一个流中...

2022-06-27 21:17:54 5995

原创 常见的大表查询优化

测试表user, user_detail各100w数据下面是一个常见的连表查询分页sql执行时间优化下可以写成这样执行时间这是因为SQL语句里第一个被执行的总是FROM子句, 所以在两个表连接之前先查询主表的数据, 再去连接其他表1000000 : 10 的效率区别还能再优化执行时间当limit 800000 时, 代表mysql要先依次过滤掉80w行数据, 再取10条而用where id 时, 就走主键索引, 直接取10条符合条件的数据...

2022-06-27 21:15:04 671

原创 Cron 表达式 星期建议使用 MON 等单词缩写

在spring提供的定时任务框架中指周一但, 其他cron工具中, 指周日区别就在于, spring的一周从开始, 而其他工具从开始判断可能是spring对时区做了判断, 动态切换但暂未验证而使用 MON 表示 周一, 语义就很明确了...

2022-06-27 21:14:17 392

原创 RabbitMQ架构及特性

架构Producer 生产者Exchange 交换器FanoutDirect 把消息路由到BingingKey 和RoutingKey 完全匹配的队列中TopicHeadersBindings 绑定(匹配)器 把exchange和queue按照路由规则绑定(匹配)起来Queues 队列Consumer 消费者自动确认手动确认可以和TTL配合实现延时队列 将消息设置ttl, 发送到死信队列中 (不设置消费者处理), 等待过期被转发到延时队列但该延时队列有缺陷, 若发送两条延时消息, 第一条延时10s,

2022-06-27 21:13:17 1070

原创 weixin-java-pay对接微信V3支付记录

这个demo里, 没有v3版本的配置, 这里记录一下v3支付, 相对之前的版本来说, 更为安全, 也相对繁琐一些, 而且请求和响应都使用了json格式的数据发起支付所需的配置有三个证书文件, 在商户后台申请apiclient_cert.p12apiclient_key.pemapiclient_cert.pem完整配置2. 发起支付3. 回调处理SignatureHeader内的属性都可以在文档内找到获取方法注意这个是官方文档原文, 如果应答报文为, 但http状态码为, 微信也认为你是正常处

2022-06-27 21:12:43 3486

原创 RocketMQ架构及特性

RocketMQ包含四个组件NameServer, Broker, Consumer, ProducerNameServer类似注册中心, Broker接收存储消息, Consumer和Producer在项目内定义Broker向所有NameServer注册自己, 持续发送心跳包Consumer和Producer向NameServer保持长连接, 每隔30s向NameServer获取所有Topic的队列情况Consumer和Producer向NameServer获取Broker的地址, 进行消息收发, 也会

2022-06-27 21:11:37 81

原创 解决消息发送与业务落库的一致性

在实际业务中, 经常有如下场景更新一条数据后, 需要发送一条消息异步通知其他服务进行后续处理比如用户完成激活, 发送一条消息通知第三方服务同步用户状态那么会有如下代码这样写可能出现这样的问题事务提交失败, 消息发送成功那换种方式写将放在事务外面, 等事务提交成功之后才发送消息这样也会有问题, 事务提交成功, 但消息发送失败这两种情况都会导致业务数据出现异常使用RocketMQ的事务消息就可以解决这个问题.首先我们在中发送一个, 这个半消息此时是不能被消费的.然后数据库事务结束之后, 再确认数据库事务状态,

2022-06-27 21:11:09 302

原创 Redis特性

redis特性

2022-06-27 21:10:10 114

原创 Dubbo连接不到对应服务

尝试删除该目录, 然后重启项目 原因

2022-06-27 21:08:54 689

原创 MyBatis是如何让我们通过接口就能调用到SQL的

mybatis有自带的sql打印, 但只会出现在抛异常的时候, 或者配置日志输出, 但是输出的日志较为冗长像这样翻了下源码, 找到了这个方法, 贴一下其中顾名思义, 对异常进行包装点进方法关键在于的该方法的部分代码且通过这个方法也能知道, 该类维护了一个ThreadLocal, 保证sql是线程安全的于是就有了如下拦截器代码执行查询, sql打印, 完成如果想将参数也填充进去可以这么写...

2022-06-24 19:39:57 776

原创 MyBatis拦截器实现SQL打印

mybatis有自带的sql打印, 但只会出现在抛异常的时候, 或者配置日志输出, 但是输出的日志较为冗长像这样翻了下源码, 找到了这个方法, 贴一下其中顾名思义, 对异常进行包装点进方法关键在于的该方法的部分代码且通过这个方法也能知道, 该类维护了一个ThreadLocal, 保证sql是线程安全的于是就有了如下拦截器代码执行查询, sql打印, 完成如果想将参数也填充进去可以这么写...

2022-06-24 19:39:07 1512

原创 MyBatis拦截器执行顺序

最近项目用上了mybatis, 但是想像hibernate那样能打印sql, 于是写了个基于mybatis拦截器的sql打印, 参考这个https://blog.22xcode.com/post/78然后, 碰到了问题, 拦截器会重复输出一句sql排查下, 项目里跟mybatis有关的就只有pagehelper了, 猜测可能是pagehelper 为了分页再发了一条算总数count的sql, 而打印sql的拦截器没有获取到count查询的完整sql, 所以看上去发了两遍一样的sql网上找了下拦截器的资料,

2022-06-24 19:37:33 2034

原创 SpringBoot RedisTemplate 操作不同的库

SpringBoot RedisTemplate 操作不同的库

2022-06-24 19:36:12 199

原创 java解析日期字符串中毫秒值的坑

java解析日期字符串中毫秒值的坑

2022-06-24 19:34:52 272

原创 java中方法的参数传递机制

来看一段代码运行结果是下面就说说 java的参数传递机制先说结论:java参数传递并不是引用传递,而是值传递看下图swap方法中,a b 向 x y 传递的是值,是 a b 在栈中的值,此处的 传递=拷贝也就是说,a b 与 x y 除了类型一致外、值相等(指向了堆的同一地址),没有任何相同处a b与x y完完全全不相干都不相干了,x y 不管这么改变自身的值 ,与 a b 有什么关系呢所以, 方法退出,a b 的引用并没有发生变化再看下一个改写swap方法,调用运行传递的是值传递的是值传递的

2022-06-24 19:33:10 151

转载 SpringDataRedis 常用操作

SpringDataRedis 常用操作

2022-06-24 19:31:03 138

翻译 如何快速上手一个项目

不知道你有没有经历过一个五年或者更长工作年限的开发人员半路加入团队的情况,可能第一两个星期他会问一些业务或者技术问题,不过一两个月他就可能在指导那些初级开发人员了。什么原因呢?因为他已经从过往经验里面总结出来一些套路了。那么套路是什么呢?绝大部分业务系统,不管他后端是oracle、mysql、nosql还是内存数据库,也不管他前端是web、h5、winform、android还是ios,它的核心功能都是由增删改查组成然后通过通信、运算和人机交互串起来的,系统的复杂度主要体现在系统规模、性能、稳定性、业务流程

2022-06-24 19:30:03 451

原创 解决VM虚拟机启动后假死

一、开机后黑屏假死 管理员cmd 输入netsh winsock reset,回车,重启系统二、启动后假死 关闭本机防火墙

2022-06-24 19:27:06 1624

原创 freemarker 时间显示不正常 设置时区

项目在本地开发的时候显示正常,部署上服务器就一直差8个小时,最后发现freemarker官方文档有这样的说明配置如下文档链接

2022-06-24 19:24:58 603

空空如也

空空如也

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

TA关注的人

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