自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (6)
  • 收藏
  • 关注

原创 Spring Data Elasticsearch 方法名创建查询的实现原理

1.jdk动态代理生成了代理类org.springframework.data.elasticsearch.repository.support.NumberKeyedRepository@31880efa2. 通过反射拿到自己写的方法 List<Item> findByPriceBetween(double price1,double price2);(在这种会判断方法名...

2020-02-19 15:39:52 543

原创 阿里云服务器关于端口开放的坑

阿里云控制台加入端口:9200后,需要在服务器执行以下命令:iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 端口 -j ACCEPTiptables -I INPUT -m state --state NEW -m udp -p udp --dport 端口 -j ACCEPT # 删除防火墙规则,内容一样把 -...

2020-02-18 12:48:56 1394

原创 springboot日志输出整合slf4j

1.先引入依赖: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <depen...

2020-01-30 17:14:04 1464

转载 实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿

Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这三个问题,也不是要颠覆业界流行的解决方案。而是,...

2019-05-28 09:29:52 121

原创 redis使用入门

使用入门获得一个符合匹配规则的键名列表keys pattern [? / * /[]]keys mic:hobby判断一个键是否存在 , EXISTS key type key 去获得这个key的数据结构类型各种数据结构的使用字符类型一个字符类型的key默认存储的最大容量是512M赋值和取值SET key valueGET key递增数字...

2019-05-24 18:03:44 191

原创 如何查找源码中成员变量被赋值的哪个实现类

在看activemq的 textMessage.acknowledge();方法时,实现类为:ActiveMQMessage acknowledge()其中的acknowledgeCallback 的赋值没有在本类中,先找到 setAcknowledgeCallback然后右键查找在哪里赋值:即找到了具体的赋值: ActiveMQMessageCons...

2019-05-22 15:13:17 398

原创 联合索引什么时候使用,什么时候失效?

建表语句:Create Table CREATETABLE`sys_msg`( `MsgId`bigint(20)NOTNULLAUTO_INCREMENT, `MsgContent`varchar(500)DEFAULTNULL, `MsgTime`datetimeDEFAULTNULL, `MsgStatus`...

2019-05-14 16:07:31 4873

原创 http请求工具类导致的性能问题

上线前的压测问题:第一版的httpClient请求工具类:1.由于把地址写成全局变量,每次调用其他系统的接口时:httpClient.setAddress("136.224.224.36"),httpClient.post(); 这种方式导致上一次的请求地址没有被变更,然后请求参数和请求地址不匹配,导致混乱。第三方的系统接收到的参数不正确。2.当压测进行接口压测的时候,2、3...

2019-05-13 10:58:18 969

原创 配置中心的理解

是用zookeeper做为配置中心的话,通过节点存储control-switch的值。程序中使用watcher进行监听zk中的值得变化。这样通过修改zk中的值程序就可以改变。不需要重新发布程序。!!!!!!!!很好用的配置...

2019-05-10 16:17:58 470

原创 Netty源码

2019-05-08 17:47:36 98

原创 框架中的高大上设计为了啥?

源码中经常看到调用本类中的抽象方法,运行时才知道是哪个实现类。但是我们看源码时不知道是哪个实现类,需要debug进行查看到是哪个实现类!!!!源码中为啥会用好多设计模式如:模板,委派,装饰者,责任链,工程模式等。例如在netty中:Bootstrap b = new Bootstrap();ChannelFuture f = b.connect(this.host, this.port...

2019-05-08 16:40:19 125

原创 API安全问题

解决方案:其中防止窃取可以用:RSA非对称加密算法,使用公私钥进行加解密MD5一般使用加盐(字符串)方法,前后台统一盐。token授权:主要使用拦截器对所有方法进行校验token,token可以存到redis中加时效校验。能够防止一定得爬虫。微信、qq、钉钉等的登陆中都使用到了access_token进行校验,在登录时生成传到第三方进行存储。...

2019-05-06 18:09:55 1169

原创 Netty原理

服务端:模型客户端模型:零拷贝:NIO中说到的MappedByteBuffer...

2019-04-29 20:08:35 187

原创 集合遍历删除

public class test { public static void main(String[] args) { List<Integer> a = new ArrayList(); a.add(3); a.add(4); a.add(5); a.add(6); for ...

2019-04-28 11:00:56 107

原创 IO流中while 和if的区别

BIO服务端:public class BIOServer { ServerSocket server; //服务器 public BIOServer(int port){ try { //把Socket服务端启动 server = new ServerSocket(port); System.out.println("BIO服务已启动,监听端口是:" + p...

2019-04-28 10:08:33 397

原创 BIO和NIO原理

NIO中主要包括:1.ServerSocketChannel:通道;2.Selector:选择器;3.buffer:缓冲区(这个buffer是io包下,和StringBuffer不一样)Buffer的主要属性:直接缓冲区:ByteBuffer buffer = ByteBuffer.allocateDirect(1024); 将文件拷贝到内存中,而不是jvm中,...

2019-04-22 10:38:12 157

转载 Java实现大文本文件拆分

生成大文件import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class CreateFiletest { public static void createBigFile() throws IOExc...

2019-04-12 14:46:25 766

原创 idea打war包

今天idea打war包发现前端页面没有放到war包中,需要进行配置,不然idea默认不把这两个文件夹以外的文件打包。未配置打包为:配置后打包为:设置方法参考:https://blog.csdn.net/github_38336924/article/details/82422888...

2019-03-26 17:12:51 374

转载 access.log日志过大也会导致web性能下降

你知道吗?nginx默认的access.log日志文件过大,也会导致网页打开速度慢。要解决这个问题可以看下面的文章方法一:直接删除access.log日志。然后重启下就会生成新的access日志。如果你不打算要这个日志也可以修改nginx配置,将日志丢入/dev/null 中。找到access_log /home/wwwlogs/access.log access;改成access_l...

2019-03-26 17:08:54 8693

转载 使用 JavaMailSenderImpl SSL 465 发送邮件

使用 JavaMailSenderImpl 发送邮件时,阿里云和华为云不支持smtp 25端口,改用ssl 465端口发送才好使===========================================================================package org.apache.log4j;import org.springfram...

2019-03-15 17:28:29 1964 1

转载 linux查看redis安装目录 和redis关闭

如果命令 which 和whereis 都找不到安装目录,可使用以下办法 ps -ef|grep redis得到了进程号 xxxx然后 ls -l /proc/xxxx/cwd查看redis-cli 和redis-server的目录则使用whereis redis-cli 关闭redis. :1.先进入redis ./redis-cli 输入密...

2019-03-13 18:00:19 20257

转载 一段代码讲透Java所有编程规范(精华版)-转载

转载链接:https://blog.csdn.net/qq_35859844/article/details/88412611?from=timeline&amp;isappinstalled=0本文参考了《代码整洁之道》,《阿里巴巴编程规范》,《华为编程规范》以及大量优秀的源码总结而来。简洁,优雅的代码根本不需要一行注释。这是一段根据条件查询订单列表的代码,咋一看好像没有什么问题。...

2019-03-12 10:31:26 244

原创 shell脚本编程2

循环:

2019-02-22 15:59:53 85

原创 shell脚本编程1

前面学的  sed  awk  :其实是比较复杂的命令,相当于shell脚本功能,但是咱们暂时不学太深入;正则中用到的特殊字符: 第一个shell脚本:时间戳:将秒转为日期: 变量:脚本2:写法1:或者写法2: $0 :脚本本身名称   $1:第一个参数  $2:第二个参数  $3:第三个参数  $...

2019-02-21 17:12:22 242

原创 shell学习-awk

 awk  :分割  时,例如 root:x:0:0:root:/root:/bin/bash   用‘x’ 分隔之后  第一段为:root :  第二段为  :0:0:root:/root:/bin/bash输出第二段和第一段结果:   指定分隔符用法: OFS="@" ( 不是很常用) 精准匹配:$1=="root" ...

2019-02-20 17:46:16 130

原创 shell学习-sed

sed 1. 打印指定行如果需要打印行号:2.打印关键字  :   用//  包含root关键字  : '/root/p'可以使用特殊符号:* :星号 +号  -r 参数和  特殊符号:   ?   |  ()  sed  -e参数  :执行两个条件  调换两个字符位置:  ...

2019-02-20 09:56:20 144

原创 shell学习-grep

主旨:   grep    正则   示例:  cp  /etc/passwd 1.txt alias:别名使用:  此时使用grep  相当于grep  --color   -A  -B  -Cn$   :指以n结尾^a:以a为开头      [^0-9]: 指非0-9          -v:指的是不带  0-9   grep  ...

2019-02-15 16:55:16 196

原创 shell学习-基本命令

一:环境变量1. 介绍/etc/bashrc 文件中的PS1变量的定义和修改后的情况:vim .bash_profile  cat .bash_profile cat .bashrc  上面两个文件内容可以看出:执行bash_profile时,需要先执行 .bashrc(因此加操作最好加在bash_profile中,这样不会先加载bashrc,然后加载bash_...

2019-02-15 09:15:50 175

原创 shell学习-基本命令1

history :命令历史                  !! :也是命令历史        !$:上一个命令的最后一个参数  !字符: !vi  或!if  :指的是命令历史中的以  vi和if开头的命令 alias:通配符:重定向:&gt; :重定向到a.txt中&gt;&gt;:追加到a.txt中&lt;:反向重定向: mail -s "z...

2019-02-14 11:31:37 193

转载 jconsole 连接jmx失败 解决策略

JMX(JAVA 管理拓展)配合Jconsole来使用是用来分析JVM状态的必要途径。所以正确配置JMX很重要。配置主要包含以下几个步骤1、修改tomcat的实际启动脚本catalina.sh(startup.sh 里面其实是引用了这个脚本,虽然正常启动时用./startup.sh) CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management....

2019-01-23 14:25:09 1579

转载 美团网技术团队分享的MySQL索引及慢查询优化教程

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问...

2019-01-17 11:19:31 525

转载 axis2作为客户端产生大量文件的解决方案

问题:使用axis2调用远程webservice时,产生大量临时文件写入磁盘,降低程序运行效率,占用磁盘空间前提:使用axis2客户端版本:1.7.4解决方案:1:在初始化RPCServiceClient 使用构造器RPCServiceClient(ConfigurationContext configContext, AxisService service) 替换默认构造器在ws...

2019-01-07 15:36:18 682

原创 idea将项目导出为war包

首先 进入项目的配置页面,在Artifacts栏里点击绿色加号,选择Web Applicant:Archive 设置好名称和输出路径。Build on make选项可选可不选。如果选择了,那么每次在运行项目时都会生成war包。如果不勾选则可以在后续的步骤中手动生成war包。打包使用: ...

2018-12-19 17:01:37 241

转载 IDEA控制台乱码解决

解决办法: 打开Intellij的安装的bin目录(D:\Program Files\JetBrains\IntelliJ IDEA 14.0\bin ),找到上图的两个文件(根据你的系统是32位或64位选择其中一个配置文件),在配置文件中添加: 1 -Dfile.encoding=UTF-8   配置项目编码及IDE编码进入se...

2018-12-19 10:55:21 246

转载 Linux下jdk和tomcat安装

查看linux位数: getconf LONG_BIT   ,下载对应的安装包: 查看环境变量whereis javawhich java (java执行路径)echo $JAVA_HOMEecho $PATH二,安装选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdir java)#mkdir -p /usr/java拷贝下载的jdk-8u31-l...

2018-12-18 11:14:52 140

转载 springboot 在linux后台运行

首先需要进到自己springboot项目的根目录,然后执行如下linux命令springboot 后台启动: nohup java -jar aaa-0.0.1-SNAPSHOT.jar &gt;tea.log 2&gt;&amp;1 &amp; nohup java -jar 自己的springboot项目.jar &gt;日志文件名.log 2&gt;&amp;1 &amp;命...

2018-12-18 10:15:36 350

原创 mysql 百万数据库多表联查查询结果40S以上,导致数据库表锁死

因此需要我们在设计表时注意表之间的关联性,我们这次锁表主要是多表联查时,导致了全表扫描,耗时44s,最后建立索引解决。刚开始未停机想加索引,但是加入不了表依然卡死,最后找DBA重启数据库才行。线上服务断了2小时左右,以后需要注意这点。上线时需要分析sql语句,看是否有全表扫描!!!!当数据库链接满了之后会导致没有连接,springboot报错:could not open JPA Entity...

2018-12-03 14:42:15 1252 1

转载 MongoDB 后台启动

 mkdir /data/mongo/mongodb.cnf、配置 后台启动# vi /data/mongo/mongodb.cnfdbpath=/data/mongo/logpath=/data/mongo/mongo.loglogappend=truefork=trueport=27017后台启动命令mongod -f /usr/local/mongod...

2018-11-26 17:43:14 864

原创 mysql 数据库连接池查询

 show full processlist;show open tables where In_use &gt; 0;show processlist;select * from information_schema.processlist where db = '数据库名称' and command != 'Sleep' and Time &gt;1000 ...

2018-11-15 20:48:07 9426 1

原创 nginx 将请求全部指向到一个页面

http{ upstream /tomcatserver{ sticky name =srv_id; #监听端口 server 127.0.0.1:8080; server 127.0.0.1:8081; } server{ listen 80; serve...

2018-11-14 18:24:08 7107

logback中文文档pdf

logback中文文档pdf

2019-01-10

Spring源码文档和方法调用流程图

Spring源码文档和方法调用流程图

2018-10-08

shiro源码代码

shiro源码代码

2018-10-08

Spring源码分析

总结的源码分析文档

2018-09-05

高并发预习课源码加详细注释

高并发预习课源码加详细注释高并发预习课源码加详细注释高并发预习课源码加详细注释高并发预习课源码加详细注释高并发预习课源码加详细注释

2018-09-04

空空如也

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

TA关注的人

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