- 博客(14)
- 资源 (7)
- 问答 (10)
- 收藏
- 关注
原创 别在 Java 代码里乱打日志了,slf4j才是正确的日志打印
使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一 实现方式统一使用: Logback框架 打日志的正确方式什么时候应该打日志 当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定为的。 当你碰到if…else 或者 switch这样的分支时,要在分支的首行打印日志,用来确定进入了哪个分支 经常以功能为核心进行开发,你应该在提交代码前,可以确定通过日志可以看到整个流程...
2020-05-31 20:26:03 534
原创 count(1)和count(id)和count(*)和count(索引列)性能对比
千万级数据测试对比:SELECT COUNT(1) FROM table> OK> 时间: 53.573sSELECT COUNT(id) FROM table> OK> 时间: 46.872sSELECT COUNT(*) FROM table> OK> 时间: 38.113sSELECT COUNT(invite_code) FROM table> OK> 时间: 25.752s...
2020-05-30 18:50:26 287
原创 关于sql中in 和 exists 的效率问题,in真的效率低吗
对于in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了 ,另外IN时不对NULL进行处理。...
2020-05-30 07:57:44 569
原创 SpringBoot 2.3 新特性之优雅停机
111111111111111111111111111111111111111111111111111111
2020-05-26 20:13:16 318
原创 Nginx限流配置知识
1Nginx 限流配置限流算法:令牌桶算法算法思想是: 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 漏桶算法算法思想是: 水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; 水桶满后水溢出(丢弃)。 这个算法的核心是:缓存请求、匀速处理、多余的请求直接丢弃。 相比漏.
2020-05-25 10:28:52 152
原创 mysql使用json类型字段存取的处理
背景:1、mysql5.7开始支持json类型字段;2、mybatis暂不支持json类型字段的处理,需要自己做处理第一步:建表CREATE TABLE rules_json( id INT PRIMARY KEY AUTO_INCREMENT, sys_name VARCHAR(16) NOT NULL unique, rules JSON, create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP);第二步:创建
2020-05-23 20:06:53 1380 1
原创 使用idea和gradle编译spring5.2.x源码
最近在研究spring源码的时候,突然想起编译一下spring源码,网上应该也有很多大神编译过spring源码,在这里我把我再编译过程的遇到的坑,来跟大家分享下。1、下载gradle,可以去官网下载,gradle版本需要4.2以上,小编这里选择的是gradle5.6.4版本,下面我会说明为什么选择5.6.4版本。gradle下载地址:https://services.gradle.org/distributions/gradle-5.6.4-src.zip 源码gradle-5.6.4-b.
2020-05-19 11:17:40 1166
原创 SSM框架集成步骤
1、创建maven项目,导入jar包 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.8</version> </dependency> <depende
2020-05-17 20:46:50 226
原创 Jta+Atomikos解决分布式事务
1.基本概念1.1 Jta+Atomikos 简介传统项目中,比如项目中使用到多数据源的时候大多数采用jta+Atomikos解决分布式事务问题,jta+Atomikos底层是基于XA协议的两阶段提交方案。1.2 XA协议XA 事务的基础是两阶段提交协议。分为以下两阶段需要有一个事务协调者来保证所有的事务参与者都完成了准备工作。如果协调者收到所有参与者都准备好的消息,就会通知所有的事务都可以提交了。Mysql 在这个XA事务中扮演的是参与者的角色,而不是协调者(事务管理器)。
2020-05-09 14:22:19 634
原创 redis的RDB和AOF
一、redisRDB和AOF1、开启aof修改 appendonly no--->appendonly yesaof文件名称:appendfilename "appendonly.aof" appendfsync always fsync每次只添加日志写。缓慢的,安全的。appendfsync everysec 默认每秒,fsync每秒钟一次日志写。居于alway...
2020-05-05 11:26:06 194
微信公众平台实例
2016-08-04
检查内存溢出,有什么办法解决
2017-01-20
bootstrap input name属性一样 验证问题解决办法是什么?
2016-11-30
jqeury validate 相同name值的解决办法是什么
2016-11-23
javaweb oauth2 集成 实现例子
2016-10-14
手机微信页面怎么实现点击按钮将内容复制到剪贴板?
2016-07-25
微信订阅号没有高级接口怎么获取openid
2016-07-08
微信订阅号没有高级接口怎么获取openid
2016-07-07
java 微信接入第三方html5程序实现 例子
2016-07-05
java如何集成oauth2,都需要做什么。
2016-06-22
mysql定时任务 插入数据,记录插入条数,成功条数,插入时间,等操作。
2015-11-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人