- 博客(81)
- 资源 (4)
- 收藏
- 关注
原创 MOMO CODE SEC INSPECTOR-Java项目静态代码安全审计idea插件工具
MOMO CODE SEC INSPECTOR-Java项目静态代码安全审计idea插件工具
2022-12-19 14:12:49
2462
转载 B-tree/b+tree 原理以及聚簇索引和非聚簇索引
B-Tree介绍B-Tree是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字) 5.非叶子结点的关键字个数=指向儿子的指针个数-1; 6.非叶子结点的关键字:K[1], K[2], …, K[M-1];且K...
2021-10-29 17:27:09
1930
原创 最全 MySQL 优化方法
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。
2021-10-29 16:03:34
345
原创 阿里操作excel工具类
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.6</version></dependency>public class ExcelUtils { static class ExcelListener<T> exte..
2021-04-12 18:16:02
870
转载 Springboot 整合RabbitMq
https://blog.youkuaiyun.com/qq_35387940/article/details/100514134
2021-03-04 17:42:24
223
1
原创 微信获取用户信息的两个接口和两个ACCESS_TOKEN
必须关注公众号才能获取用户信息:1、基础接口的token 获取接口是https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET2、获取用户基本信息的接口 但是 这个接口需要你关注了公众号https://api.weixin.q...
2020-04-23 14:52:48
3033
转载 java四种字符串拼接方式性能分析
常见的四种字符串拼接方法分别是1.直接用“+”号2.使用String的方法concat3.使用StringBuilder的append4.使用StringBuffer的append字符串拼接我分为了两种拼接方式,一种是同一个字符串大量循环拼接,第二种是大量不同的字符串每次都拼接固定数量的字符串。第二种更接近与服务器上的使用场景,因为工程上是很少有一个字符串不断拼接的,基本都是大...
2019-05-14 13:26:36
6311
转载 Spring Boot中使用Feign调用时Hystrix提示异常
Spring Boot中使用Feign调用时Hystrix提示异常:"could not be queued for execution and no fallback available."以及"Rejected command because thread-pool queueSize is at rejection threshold"说明:1、我还没有真正理解Spring Clou...
2019-04-16 15:57:06
2072
原创 服务器端负载均衡和客户端负载均衡的区别?
服务器端负载均衡:例如Nginx,通过Nginx进行负载均衡,先发送请求,然后通过负载均衡算法,在多个服务器之间选择一个进行访问;即在服务器端再进行负载均衡算法分配。负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,但是一般情况下我们所说的负载均衡通常都是指服务端负载均衡,服务端负载均衡又分为两种,一种是硬件负载均衡,还有一种是软件负载均衡。硬件负载均衡主要通过在服务器...
2019-03-21 17:44:54
7993
3
转载 MongoDB数据update(upsert)的坑
统计mongodb慢查询的时候,发现有的集合慢查询很多,然后通知开发看一下字段加索引,和开发讨论之后加唯一索引,加的时候发现有重复数据,然后用聚合命令统计了一下24w的数据有10w+的重复数据,开发说update操作的时候加了{upsert:true},应该是查询不到新增一条,不会有重复数据,然后查看mongodb的官方文档查看db.collection.update,其中有以下解释...
2019-03-20 16:41:49
11125
原创 Linux里如何直接修改jar包里的配置文件
准备步骤:1、安装unzip命令:yuminstall-yunzipzip2、直接vim jar包名3、/要找的文件名定位修改的文件4、在定位到后,该配置文件会标黄,直接回车进入编辑模式,即可编辑了,在编辑后一定别忘了wq保存成果啊!ps:如果修改class文件只能把jar包下载下来利用反编译工具来修改了...
2019-03-06 15:18:38
8686
1
转载 git修改提交作者和邮箱
下面介绍几种常用的解决方式,当然最终还是需要养成切换代码库检查author信息的习惯,主动配置// 设置全局git config --global user.name "Author Name"git config --global user.email "Author Email"// 或者设置本地项目库配置git config user.name "Author Name...
2019-02-26 11:31:44
2578
原创 【mysql】count(*),count(1)与count(column)区别
count(*)对行的数目进行计算,包含NULLcount(column)对特定的列的值具有的行数进行计算,不包含NULL值。count(1)这个用法和count(*)的结果是一样的。 count(1) 与 count(*) 比较 :1> 如果数据表没有主键,那么 count(1) 比 count(*) 快2> 如果有主键的话,那主键 (联合主键) 作为 count...
2018-12-05 13:23:12
225
原创 MySQL中的IFNULL和IF和ISNULL函数
IFNULL(expr1,expr2):如果第一个参数不为空,则返回第一个参数,否则返回第二个参数。ISNULL(expr):判断是否是空,是空则返回1,否则返回0。IF(expr1,expr2,expr3):如果第一个表达式的值为TRUE(不为0或null),则返回第二个参数的值,否则返回第三个参数的值。 ...
2018-12-05 11:42:41
1450
原创 从Linux服务器下载文件夹到本地
1、使用scp命令scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下scp work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10机器上的sour...
2018-11-30 11:51:17
4505
原创 linux查看服务器连接数
直接执行命令:netstat -na|wc -l有效的连接数:netstat -nat|grep ESTABLISHED|wc -l中间的参数 ESTABLISHED表示有效的连接数!对服务器各种状态下的连接数分组并查询得到结果: 查看不同状态的连接数:netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c或者 n...
2018-11-28 11:27:17
21079
原创 zoc7 使用指南
I. 下载安装完成之后,点击“Host Directory“, 在”My Connections”中 “New“一个新的connect: 在“Host“中输入如下你的连接信息: II. 在”Login”页面输入你用户信息和秘钥文件(或者输入用户信息和password): 然后点击“OK“就进入了远程主机命令窗口,这样每次都不用输入用户名和密码了,下次直接点击连接信息connect就OK了...
2018-11-26 10:40:20
9828
原创 利用shell脚本执行mongdb命令
用shell脚本执行mongdb的renameCollection命令:1、创建一个*.sh文件2、增加如下命令:#!/bin/bashmycol="test"mongo 127.0.0.1:27017/pica -u pica_user -p "1qaz@wsx" --eval "db."$mycol".renameCollection('"$mycol"_bak');"#...
2018-11-22 18:24:15
1564
原创 Spring Boot 整合 MyBatis 并启用二级缓存
首先,MyBatis 默认是开启一级缓存的,即同一个 sqlSession 每次查询都会先去缓存中查询,没有数据的话,再去数据库获取数据。但是,整合到 Spring 中后,一级缓存就会被关闭。 这时候我们还有二级缓存,它的范围是整个 mapper 的,以命名空间进行区分。 Spring Boot 是号称要消灭配置的框架,底层依然还是 Spring...
2018-11-19 14:30:25
1978
原创 Idea-Java代码注释规范
IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家(如果嫌配置繁琐,可以在本页面最下方下载jar包,导入idea,就可以了)。一、首先我们来设置IDEA中类的模板:(IDEA中在创建类时会自动给添加注释)1、File > settings > Editor > File and Code Template...
2018-11-16 15:14:10
7987
1
转载 git命令log与reflog的比较
用git命令,想看到自己的操作记录,则可以使用log与reflog,它两个的区别如下:1.git log 命令可以显示所有提交过的版本信息例如 如果感觉太繁琐,可以加上参数 --pretty=oneline,只会显示版本号和提交时的备注信息2.git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)例如执行 g...
2018-11-07 20:32:22
234
转载 数据库排名 Relational DBMS | Graph DBMS | RDF stores Ranking
参照DB-Engines Ranking排名,下面是All DB Ranking:关于Relational DBMS Ranking:关于RDF stores数据库排名:关于Graph DBMS Ranking:参照:https://db-engines.com/en/ranking--------------------- 作者:Java-Basketball ...
2018-10-16 10:17:16
683
原创 Integer和int的比较大小
1.Int和Integer比较大小public static void main(String[] args) { int i = 10; Integer i1 = new Integer(10); System.out.println(i == i1);}trueInteger和int比较会进行自动拆箱,比较的是大小 ...
2018-08-27 13:47:55
16156
1
原创 mysql中exists注意点
执行sql:select 1 from dual where exists (select 0);select 1 from dual where exists (select null);执行结果都是1;mysql> create table t3(id int,t datetime);Query OK, 0 rows affected (0.44 sec)mysql> ...
2018-07-10 21:31:58
1463
转载 Spring Cloud Zuul addZuulRequestHeader 中文乱码解决方案
在Spring Cloud Zuul中添加filter的时候,要在header中加入含有中文属性的对象,在另外一个微服务中接受的时候,发现中文乱码,具体解决方案,是先用URLEncoder编码,然后微服务的接受的时候再解码 Spring Cloud Zuul:RequestContext.getCurrentContext().addZuulRequestHeader("user", UR...
2018-07-04 17:33:09
3123
1
转载 Mysql插入语句之value与values区别
value与values区别http://dev.mysql.com/doc/refman/5.7/en/insert.html看了一下官方文档,VALUE与VALUES都是正确的,经过验证,这两个也是可以混合着用的,只是两者对不同语句插入数量的执行效率各不相同。VALUE插入一行VALUES插入一行可以看出在插入单行时,使用VALUES比较快VALUE插入多行VALUES插入多行对比之下,插入多...
2018-06-09 19:38:43
23302
5
原创 git撤销commit,但未git push的命令
在git push的时候,有时候我们会想办法撤销git commit的内容 1、找到之前提交的git commit的id git log 找到想要撤销的id 2、git reset id 完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改3、git reset –hard id 完成撤销,同时将代码恢复到前一commit_id 对应的版...
2018-03-17 18:16:04
1023
转载 Spring异步任务处理,@Async的配置和使用
这个注解用于标注某个方法或某个类里面的所有方法都是需要异步处理的。被注解的方法被调用的时候,会在新线程中执行,而调用它的方法会在原来的线程中执行。这样可以避免阻塞、以及保证任务的实时性。适用于处理log、发送邮件、短信……等。注解的应用范围:类:表示这个类中的所有方法都是异步的方法:表示这个方法是异步的,如果类也注解了,则以这个方法的注解为准相关的配置:<task:annotation-dr...
2018-03-13 20:15:24
468
原创 IDEA git修改远程仓库地址
方法有三种:方法1.修改命令git remote set-url origin <url>方法2.先删后加git remote rm origingit remote add origin [url]方法3.直接修改config文件
2018-03-03 11:16:22
68699
2
原创 mysql dump binlog master状态
遇到个dump binlog延迟增加的问题,发现master上的dump线程状态多数时间是 [plain] view plain copyFinished reading one binlog; switching to next binlog [plain] view plain copy
2018-02-04 11:35:34
3299
原创 HttpClient4.3.x使用-基础篇
1、关闭流和responseCloseableHttpClient httpclient = HttpClients.createDefault();HttpGet httpget = new HttpGet("http://localhost/");CloseableHttpResponse response = httpclient.execute(httpget);try {
2018-01-31 17:40:41
573
转载 JMeter接口测试中文乱码问题总结
Meter接口测试中文乱码问题总结目录JMeter接口测试中文乱码问题总结请求消息中文显示乱码响应消息中文显示乱码被测试系统收到中文乱码请求消息中文显示乱码产生原因: 这种情况在jmeter3.0的版本中才会产生。这不是乱码,而是由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字
2018-01-21 18:19:18
3142
转载 Jmeter系列-安装jmeter在Mac
Jmeter系列-安装jmeter在MacStep1:官网下载Jmeter地址:http://jmeter.apache.org/download_jmeter.cgi官网下载JmeterStep2:解压刚才下载的Jmeter文件解压Step3:进入解压目录/bin/,敲入命令“sh jmeter”启动
2018-01-21 18:05:44
453
原创 liunx -bash:ls:command not found,执行命令总是报找不到
centeros6.5基本命令都command not found,那就是/etc/profile修改出问题了解决办法:使用绝对命令vi打开profilevi /etc/profile添加:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin简便方法
2018-01-10 15:39:16
1239
原创 mongo 批量删除符合条件的数据(java代码)
//七天前的数据Bson createTimeBson = Filters.lte("creatTime", DateTimeUtils.addSomeDay(new Date(), -7));//in 条件Bson parentPushTypeBson = Filters.in("parentPushType", "03","04");//用and链接Bson bs
2018-01-09 22:06:56
6035
原创 mongo查询过滤条件java实例($and,$or,$eq,$ne)
查询账号下没有org_id ,且对应的company字段也为空,且手机号码是存在的用户BasicDBObject submitQuery = new BasicDBObject();submitQuery.put("$and", getQuery());submitQuery.put("$and", getMobileQuery());private static Li
2018-01-09 20:33:50
1273
转载 解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158064)问题
在做查询数据库操作时,报了以上错误,还有out of memery heap hacp ,原因是mysql的max_allowed_packet设置过小引起的,我一开始设置的是1M,后来改为了20Mmysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。查看目前配置show V
2018-01-09 10:13:28
372
转载 nginx常用代理配置
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试过程中,简单总结了一下常见的nginx代理配置。1. 最简反向代理配置在http节点下,使用upstream配置服务地址,使用server的location配置代理映射。upstream my_server {
2018-01-08 15:05:06
294
转载 Spring MVC @JsonView使用详解
Spring 提供了对Jackson 非常好的支持,可以查看此spring-jackson-demo代码来掌握。这里着重说一下@JsonView的用法@JsonView可以过滤序列化对象的字段属性,可以使你有选择的序列化对象。下面看一个例子: 首先我们定义一个View类,里面包含我们对“要序列化的字段”的定义,我们暂时归为Summary(摘要)。属于Summary的字段都是我们要序列化
2018-01-08 13:55:52
708
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人