自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 rabbitmq的集群

rabbit集群的搭建方式

2022-06-13 22:52:23 949 1

原创 elasticsearch 进行模糊查询时,不同方式的差异性

众所周知,目前使用elasticsearch进行模糊搜索时,主要有2种方式第一种:使用wildcard 关键字 + 未分词的字段进行搜索第二种:使用match_phrase + 分词的方式进行搜索对于这两种搜索,效率和性能上有什么区别呢?我们通过jmeter来压测下性能。测试的服务器指标: 1C 2G1、创建es的index自定义一个分词器(分词器将一个文本分割成单个字符),并且一个字段(address)使用自定义分词器分词,一个字段(addressNoAnalysis)不分词,分词的字段用来校

2022-05-24 23:57:49 873

原创 elasticsearchTemplate 批量插入数据时,报错es节点拒绝插入。

错误信息:org.springframework.data.elasticsearch.ElasticsearchException: Bulk indexing has failures. Use ElasticsearchException.getFailedDocuments() for detailed messages [{970893=RemoteTransportException[[node-1][127.0.0.1:9300][indices:data/write/bulk[s][p]]

2022-05-15 12:59:04 2161

原创 Mysql之排序优化-fileSort问题

最近看了下《高性能Mysql》,结合最近工作时经常碰到排序优化的情况,特此记录下现象:1. 高性能MySQL 文档如下Mysql有两种方式可以生成有序的结果,1、通过排序操作;2、按索引顺序扫描,如果EXPLAIN出来的type值为"index",则说明MySQL使用了索引扫描来做排序(不要和Extra列的Using index 混淆)扫描索引本身是很快的,因为只需要从一条索引记录移动到紧接着的下一条记录,但是如果索引不能覆盖查询所需要的全部列,就不得不每扫描一条记录回表查询一次对应的行,这基本上是随

2021-08-29 22:55:33 606

原创 springboot项目启动过程中碰到的问题

异常信息:java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] at org.springframework.util.ReflectionUtils.getDeclar

2021-02-19 17:44:12 562

原创 shardingjdbc配置多数据源,解决shardingjdbc对部分写法的不支持

问题: 使用过shardingjdbc的一般都知道,shardingjdbc有一些限制,并不支持一些sql,具体可登陆sharding官网查看;DataSource接口不支持timeout相关操作Connection接口不支持存储过程,函数,游标的操作不支持执行native的SQL不支持savepoint相关操作不支持Schema/Catalog的操作不支持自定义类型映射Statement和PreparedStatement接口不支持返回多结果集的语句(即存储过程,非SELEC

2020-12-13 22:50:56 10859 11

原创 http和https的区别(面试题)

超文本传输协议http是明文传输,所以当请求被拦截时,用户输入的信息可能会被泄露,比如说银行卡号和密码;安全套接字层超文本传输协议为了保证数据安全的传输,https在http的基础上加了SSL/TLS的协议,SSL/TLS依靠证书验证服务器的身份,并未浏览器和服务器之间的通信加密;https的作用主要有两种,一种是建立一个信息安全通道,保证数据的安全性,第二种是确认网站的真实性;客户端在使用HTTPS与web服务器之间通信的步骤:用户使用https的URL与web服务器建立SSL连接;web服务

2020-06-23 09:09:21 613

原创 常见JVM面试题整理(自己结合网上的资料总结,面试时用)

参考地址:https://blog.csdn.net/qq_41701956/article/details/100074023https://baijiahao.baidu.com/s?id=1636852721632353675&wfr=spider&for=pchttps://blog.csdn.net/qq_41701956/article/details/100074023https://www.cnblogs.com/chenpt/p/9803298.html一、什么

2020-06-11 11:00:57 504

原创 Dubbo相关面试题

一、Dubbo服务注册和发现的流程?1、容器启动;2、服务提供者连接注册中心,将接口信息保存到注册中心中;3、服务消费者从注册中心订阅所需要的服务并缓存本地,4、服务提供方有变更时,注册中心将提供一份新的列表给消费者并缓存在消费者端;5、消费者根据接口地址调用服务提供者;6、监听器定时监听接口的调用次数和调用时长;二、dubbo支持哪些协议?dubbo:dubbo默认推荐的协议,单一长连接和NIO异步通讯,适用于高并发小数据量的请求,以及消费者远大于提供者,tcp传输协议,Hessian

2020-06-09 15:57:28 193

原创 ElasticSearch面试题

一、elasticsearch的写入过程?当es介绍到一个写请求时,es的请求会发送到协调节点上,协调节点根据该条记录的_id通过一个路由算法计算出我们该条记录被分配到哪一条shard上,当数据保存到对应的primary shard和replica shard上之后,返回响应到协调节点,协调节点返回成功的响应到客户端;二、elasticsearch的写入是实时搜索的不?非实时的,elasticsearch是一个近实时的搜索系统,写入的时候,现将文档写入到内存缓冲区中和translog里面,通过refr

2020-06-05 16:54:22 250

原创 面试-Spring面试题

一、Bean的生命周期?

2020-06-02 14:23:34 225

原创 JAVA日期格式校验正则表达式方法,yyyy年MM月,yyyy-MM-dd格式等

今天校验了日期格式,故记录下;一、校验yyyy年MM月; /**yyyy年MM月 或者 yyyy年M月**/ private static final String MONTH_REGEX = "^([1-9]\\d{3}年)(([0]{0,1}[1-9]月)|([1][0-2]月))$"; /*** * @desc 校验月份的格式,格式如下,yyyy年MM月或者yyyy年M月 * 如:2020年10月 或者 2020年09月 或者 2020年9

2020-05-28 19:18:30 28356 1

原创 Mysql面试题

一、事务的四大基本特征?原子性:事务中的操作要么全成功,要么全失败,若事务执行到一半发现报错了,就会回滚该事务中之前做的操作,回到事务开始前的状态;一致性:在执行事务之前,数据库是一致的,在执行事务之后,数据库也还是一致的;持久性:事务提交之后,就会持久化到数据库;隔离性:多个事务之间,彼此独立,互不影响;二、事务的隔离级别?1、读未提交(Read Uncommitted):所有事务都可以看到其他事务未提交的内容,解决不了任何并发问题;2、读已提交(Read committed):所有事务只能

2020-05-28 12:37:08 152

原创 JUC java并发面试题

1、synchronized的底层原理java虚拟机里面的同步是基于进入和退出monitor对象实现的,无论是显式同步(同步代码块)还是隐式同步都是如此,同步方法并不是由monitorenter和monitorexit指令来实现同步的,而是由方法调用指令读取运行时常量池中的表结构的ACC_SYNCHRONIZED标志来隐式实现的;同步代码块:monitorenter插入到同步代码块开始位置,monitorexit指令插入到同步代码块结束的位置,任何对象都有一个monitor与之关联,当且一个monito

2020-05-28 12:36:31 4198

原创 java、spring线程池面试题

一、线程池的好处?1.通过new Thread来创建线程池会比较耗时,性能差,当我们在通过线程的时候,有可能会出现(创建线程+销毁线程)的时长>线程执行(业务逻辑)的时长;2.线程缺乏统一管理,可能会出现无限制的创建线程,线程之间相互竞争,争夺资源而导致系统崩溃;3.缺乏更多的管理功能,比如定时执行、定期执行、线程中断;相比较于new Thread,创建线程的好处在于:1.重用已存在的线程,避免线程新建和消亡产生的开销。2.可以控制最大并发数,避免同时多个线程执行,争夺资源,导致系统崩溃;

2020-05-23 20:08:42 817

原创 redis主从配置

本文记录下redis的主从配置我们在一个实例上启动两个redis,其中一个作为master,另一个作为slave第一步:我们的redis是安装在/usr/loca下,生成一个redis的文件夹,文件夹中包含了我们redis的bin目录和启动文件redis.conf,然后将redis的文件复制一份,命名为slave_redis,作为slave的配置路径mkdir slave_rediscd slave_rediscp -r ../redis/. ./第二步:修改master节点的配置(redis

2020-05-21 19:24:28 387

原创 Redis面试题

一、Redis对比memcached有哪些优势?redis的类型有5大类,分别是string、list、set、sorted set、hash,而memcached只有string一种类型redis数据存储在内存,但是可以持久化,可通过RDB或者AOF的方式持久化数据,RDB方式持久化会生成一个压缩过的二进制文件,它将所有的内存中的数据都保存在该文件中,redis.conf文件提供了RDB方式的三种同步机制,save 900 1save 300 10save 60 10000分别表示当在900

2020-05-21 13:04:15 142

原创 zookeeper: Connection reset by peer

WARN 1927 — [ad(slave1:2181)] org.apache.zookeeper.ClientCnxn : Session 0x0 for server slave1/xx.xx.xx.xx:2181, unexpected error, closing socket connection and attempting reconnectjava.io.IO...

2020-05-05 13:43:32 4349 1

原创 从零开始搭建springboot项目(四)、自动生成代码(model、mapper、service、serviceimpl、controller)

本次创建项目分成下面几个步骤介绍(1)创建springboot项目;(2)整合mybatis,搭建数据访问层框架(3)整合shiro搭建权限验证框架;(4)自动生成代码;(5)整合logger搭建日志框架上一篇我们介绍了如何整合shiro,搭建权限验证框架,这一篇我们介绍如何根据数据库表结构自动创建数据访问层、业务层和控制层代码。准备工作:我们先建一张表作为用例DROP TABLE...

2020-04-19 17:55:26 2004 2

原创 从零开始搭建springboot项目(三)、整合shiro搭建权限验证框架

aa

2020-04-06 23:09:17 715 2

原创 从零开始搭建springboot项目(二)、整合mybatis,搭建数据访问层框架

本次创建项目分成下面几个步骤介绍(1)创建springboot项目;(2)整合mybatis,搭建数据访问层框架(3)整合shiro搭建权限验证框架;(4)自动生成代码;(5)整合logger搭建日志框架上一篇我们介绍了如何创建springboot项目,这一篇我们将介绍如何整和mybatis,搭建数据访问层框架;整合mybatis准备工作:第一步:pom文件准备:pom文件引入m...

2020-03-29 17:40:21 1013 3

原创 从零开始搭建springboot项目(一)、创建springboot项目

本次创建项目分成下面几个步骤介绍(1)创建springboot项目;(2)整合mybatis,搭建数据访问层框架(3)整合shiro搭建权限验证框架;(4)自动生成代码;(5)整合logger搭建日志框架创建springboot项目准备环境1、jdk1.8及以上;2、maven 3.6.1;3、开发工具:本人使用的是idea,也可以使用eclipse;开始搭建(一)、打开f...

2020-03-29 15:21:09 3169

原创 springboot杂谈(四)springboot+ehcache实现缓存

一、添加依赖首先编辑项目的 pom.xml 文件,添加 spring-boot-starter-cache 依赖以及 Ehcache 依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache&l...

2020-03-27 12:23:58 290

原创 springboot杂谈(三)配置addResourceHandler和addResourceLocations映射静态资源地址

自定义资源映射addResourceHandlers:在springboot中,我们可以通过重写addResourceHandlers方法来映射静态资源目录;具体做法:编写类继承WebMvcConfigurerAdapter类,重写该类的addResourceHandlers方法;其中addResourceHandler指向映射路径,addResourceLocations指向资源文件路径;资...

2020-03-26 13:05:13 8329

原创 springboot杂记(二):使用 spring.profiles.active来区分配置

springboot允许我们通过命名约定按照一定的格式((application-{profile}.properties)来定义多个配置文件,然后在application.properties中通过属性spring.profiles.active来指定一个或多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.pr...

2020-03-25 20:19:49 1242

原创 springboot杂记(一)

一、注解的使用@ComponentScan:如果我们的包都在使用了@SpringBootApplication注解的main所在的包及其下级包,则我们什么都不用做,SpringBoot会自动帮我们将其他的包扫描了;但是如果我们有一些bean的包不在main所在包下的,我们需要手动加@ComponentScan注解并制定那个bean所在的包。比如下面这么做扫描的范围扩大到了父包com.twop...

2020-03-23 22:19:54 146

原创 ant+maven spring项目一键打包(三)

上一遍地址:https://blog.csdn.net/qq_36317804/article/details/105025592上一篇我们讲解了如何使用ant+maven来打包spring项目,这一篇我们来讲解一下我们在管理端是如何实现一键打包的。先说说我们管理端的逻辑:我们需要为公司各个金融子系统提供不同的分析报表或者数据分析的接口,分析报表的结构是一套固定的表结构(表结构会在管理端配置...

2020-03-22 17:02:16 314

原创 ant+maven spring项目一键打包(二)

接上一篇继续,上一篇地址:https://blog.csdn.net/qq_36317804/article/details/104999969上一篇我们已经安装了ant+maven了,这一篇我们讲讲如何项目里面一键打包;a)、第一步:我们通过ant在svn上拉取项目,将项目最新的源码拉取到服务器上;b)、第二步:根据我们配置的参数,将spring项目的数据库配置文件动态替换掉;c)、第三...

2020-03-22 14:38:56 799

原创 ant+maven spring项目一键打包(一)

最近做了一个需求,通过后台管理端配置来给公司其他平台生成接口包。本人一开始考虑的是完全依靠ant来做,后来在做的过程中,发现ant打包的时候并不是那么顺利,后续就通过maven插件来打包项目了,话不多说,下面来介绍一下步骤。一、首先我们服务器上需要安装java,maven和ant安装java就不提了,想必大家应该都已经安装了,本人安装的是jdk1.8接下来就是安装ant下载网址:http...

2020-03-20 23:15:10 606

原创 elasticsearch查询结果排序

这一段摘抄自elasticsearch权威指南,本人未测试过

2019-11-28 19:41:41 11247 1

原创 ElasticSearch实例磁盘占用率高 排查及解决方案(monitoring-es-6-2019.11.27)

最近发现磁盘的占用率趋高,打开可视化工具head查看了之后发现,es实例中生成了好多类似monitoring-es-6-2019.11.27这个的节点。##查询集群总的磁盘使用情况curl -u elastic -XGET 'localhost:9200/_cat/allocation?v'##查询集群中各索引的磁盘占用情况curl -u elastic -XGET 'localhost...

2019-11-28 14:32:42 6014

原创 elasticsearch和head 配置x-pack访问登录控制

下载安装X-PACK因为我们使用的es是6.0版本,所以我们下载的x-pack也是6.0版本。点击下载x-pack下载之后解压缩,然后进入到elasticsearch目录下安装x-pack./bin/elasticsearch-plugin install x-pack他会有两次确认,我们输入y同意即可-> Downloading x-pack from elastic[==...

2019-11-27 16:45:44 1976

原创 ElasticSearch6.0 结构化查询语句详解

match_all 查询使用match_all查询可以查询到所有文档,是没有查询条件下的默认语句{ "query": { "match_all": {} }}类似于mysql当中的 select * from einterfacematch查询match查询是一个标准查询,不管你需要全文本查询还是精确查询基本上都要用到它。如果我们使用match查询一个全文本字段,...

2019-11-26 19:06:14 616 1

原创 elasticsearch复合类型——数组类型新建,插入,查询

多值字段,在一般开发情况下,我们想让某个字段包含多个字段,我们可以通过一个标签数组来代替单一字符串,{“tags”:[“boy”, “monitor”]};对于数组不需要特殊的映射,任何一个字段可以包括零个、一个或者多个值,对于全文字段而言将被解析成多个词。数组里面的值的类型必须是同样的,es将使用数组的第一个词类型来确定这个字段的类型下面贴上es的字段类型图和数组类型的使用实例。首先 ...

2019-11-11 20:19:22 3763

原创 oracle 查询返回布尔类型Boolean的解决方法 select true

oracle中是没有boolean类型的(我用的是PLSQL,其他工具不确定)。select true from dual 也是不行的 会报错:标识符无效。解决办法:代码里面用Boolean类型来接受sql使用 select ‘1’ 表示true,'0’表示false,mybatis会自己转的。下面贴几张图,应该就知道如何使用了。至此就大功告成啦,good lucky!!...

2019-09-19 18:29:47 8547

原创 spring整合Quartz时,定时任务执行了2次

项目背景:spring+quartz+dubbo+…最近在检查日志的时候,发现自己的定时任务执行了多次,而且是每个任务执行了多次,但是在本地环境的时候 是不会这样的,本地使用jetty启动的,服务器上使用tomcat启动的,后来发现 在tomcat下面启动的时候,在它的配置文件中(conf/server.xml)其中告诉Tomcat,在启动的时候加载webapps下的所有项目工程文件...

2019-08-22 17:11:46 754

原创 linux上用crontab写定时 执行datax脚本 将数据导入到elasticsearch上失败

最近在linux上用crontab执行datax的脚本将数据导入到es上,写了下面的脚本但是执行完了之后,在es-head上面并没有看到我们新建的index。然后咱们就查看日志发现只有一丢丢日志,好像是执行到一半就结束了。就怀疑是不是 咱定时脚本写的有问题,就把脚本手动跑了一遍,发现又能跑的通。所以就把问题点定在了crontab上面,在网上查了crontab的相关信息,发现 cron...

2019-08-09 10:07:57 616 2

原创 ElasticSearch 数值类型的字段 作为条件过滤失败的问题分析

今天测试给提了个bug,说是当把地图移到边缘位置之后 左边列表显示的数据和数据库中对应不上,如下所示:因为这个搜索是在elasticsearch上面进行的,然后就用对应的语法在es上和pg库里面分别进行了查询。其中在es上查询的结果如下图所示,有2166条:在pg库上查询的结果如下图所示,有1325条:emmm,开始怀疑自我了,难道是我的es查询脚本有问题,又仔细查了下 es的查询语...

2019-07-11 18:32:34 998

原创 JAVA 连接ElasticSearch 异常 :Caused by: java.lang.VerifyError: Wrong return type in function

最近在部署项目的时候 server端启动失败,报错代码如下:Caused by: java.lang.VerifyError: (class: org/jboss/netty/channel/socket/nio/NioWorkerPool, method: newWorker signature: (Ljava/util/concurrent/Executor;)Lorg/jboss/nett...

2019-06-11 16:51:20 1775

原创 使用jstack命令dump线程信息

jstack是java虚拟机自带的一种堆栈跟踪工具,jstack用于打印出给定的java进程ID或远程调试服务的java堆栈信息。线程状态想要通过jstack命令来分析线程的情况的话,首先要知道线程都有哪些状态,下面这些状态是我们使用jstack命令查看线程堆栈信息时可能会看到的线程的几种状态。NEW,未启动的。不会出现在Dump中。RUNNABLE,在虚拟机内执行的。运行中状态,可能里...

2019-04-25 18:45:56 4026

空空如也

空空如也

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

TA关注的人

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