自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据库慢SQl查询优化

# Time: 2021-05-08T15:10:37.000511+08:00# User@Host: username[password] @ [ip] Id: 220505940# Query_time: 66.684190 Lock_time: 0.000395 Rows_sent: 14 Rows_examined: 58193SET timestamp=1620457837;SELECT fr.id, fr.stock_code, fr.stock_name, fr....

2021-09-08 14:04:16 224

转载 Chrome浏览器Video无法拖动的探索和解决方案

适用于MP4无法通过URL作为静态内容返回的场景。环境:1:spring boot2:客户端 Chrome 浏览器3:播放环境 Video原生标签4:MP4物理路径无法无法直接请求到数据,需通过程序读取到内存然后返回。(如果这个MP4是静态内容,不需要程序处理,则一般不会有这个问题)问题:无法进行拖放或者拖放以后要重头进行播放。故障原因:与Video标签适配的请求未被响应。如何做:1:Chrome浏览器默认请求会在 Header 添加一个Range如下:服务器

2021-09-08 13:43:32 4196

原创 spring boot 国际化

第一步:创建资源文件并配置资源文件地址spring.messages.basename=i18n/messages第二步:参考org.springframework.web.servlet.i18n.LocaleChangeInterceptor 实现自己的拦截器自己实现的拦截器可以添加自己的处理逻辑,比如我添加了从 request 的 header 参数中读取 Accept-...

2019-10-07 22:10:10 393

原创 从n个不重复的整数中随机找出m个不重复的整数,要求时间和空间复复杂度都是O(m)

/** * 从n个不重复的整数中随机找出m个不重复的整数,要求时间和空间复复杂度都是O(m); * 方法一: 随机产生n个不重复的随机数放在一个数组中,然后以数组的下标为界生成一个随机数,然后根据这个随机数(下标地址)获取数值,然后跟前面取到的数值作比较,如果重复,就重新生产,直到取到n个不重复的数为止; * 方法二: 在方法一的基础上,每次将产生的随机数(下标)对应的值和数组的最后一个...

2019-09-18 16:11:14 899

原创 借助Zookeeper实现共享锁

获取锁原理: 1、客户端通过 create() 接口创建一个已存在的持久节点的临时顺序子节点,然后返回一个带序号节点名称; 2、客户端调用 getChildren() 接口获取这个持久节点的子节点列表; 3、通过子节点列表判断自己在已存在子节点中的顺序,如果是第一个子节点(序号最小),那么这个客户端获取到了锁;否在判断自己获取节点的类型,如果是读节点...

2019-06-21 15:09:05 492

原创 借助Zookeeper实现排他锁

排他锁:又称写锁或者独占锁,是一种基本的锁类型。如果事务T1对数据O加上排他锁之后,那么在整个加锁期间,只允许事务T1对数据O进行读写和更新操作,其他任何事务都不能再对这个数据进行任何的类型的操作,直到T1释放了排他锁。 获取锁原理:在Zookeeper中,多个客户端通过create() 接口创建同一个节点,zookeeper会保证最终只有一个客户端能够创建成功;...

2019-06-21 10:22:46 669 1

原创 借助Zookeeper生成全局唯一ID

通过调用Zookeeper 创建节点的API接口可以创建一个顺序节点,并且在API返回的时候返回这个节点的完成名称,这个名称是一个带序号后缀的,然后利用这个特性可以生成全局唯一的ID。package zookeeper.uniqueId;import java.util.concurrent.CountDownLatch;import org.apache.curator....

2019-06-18 10:55:57 1357

原创 java同时启动多个线程(二)

当我们需要同时启动N个线程时, 可以使用java.util.concurrent.CountDownLatch 类解决。demo:import java.util.concurrent.CountDownLatch;public class TestCountDownLatch { public static void main(String[] args) { Count...

2019-03-11 15:13:58 11330

原创 java同时启动多个线程(一)

当我们需要同时启动N个线程时, 可以使用java.util.concurrent.CyclicBarrier 类解决。demo:import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class TestCyclicBarrier {...

2019-03-11 14:59:51 5553

原创 解决 413 Request Entity Too Large

今天测试环境图片上传出现:Status Code:413 Request Entity Too Large这是由于客服端可服务端之间采用了nginx做反向代理,当请求长度超过客户端(client_max_body_size)最大请求,就会出现413 entity too large的错误。所以我们需要设置nginx的客户端最大请求大小:client_max_body_size 10...

2019-03-08 15:00:53 9252

原创 nginx 配置WebSocket代理服务器

http { server { location /chat/ { proxy_pass http://backend; //服务器地址 proxy_http_version 1.1; //webscoket连接代理服务器必须使用http 1.1版本,默认 proxy_set_header...

2019-03-08 14:14:10 1810

原创 ngx_http_sub_module

ngx_http_sub_module配置参数有:sub_filter sub_filter_last_modified sub_filter_once sub_filter_typesngx_http_sub_module 模块是一个过滤器模块,它通过将一个指定的字符串替换为另一个字符串来响应。ngx_http_sub_module的参数可以使用在 http,server,locat...

2018-12-04 16:24:51 937 1

原创 本地maven库存复制引发的问题

        当我们的开发环境不能连网,开发环境maven库只能通过在能连网的环境中全部下载下来再copy到我们的开发环境(把能连网环境的maven库全部copy到开发环境的maven中),这样添加jar包方便,但是容易引发本地maven库不能使用(本地jar包存在,maven总是去从私服中下载,但是开发环境又不能上网,所以出现了不能使用的原因,而且在jar包中还会出现大量以lastUpdate...

2018-12-03 16:05:26 3451 1

原创 class path resource [xx] cannot be resolved to absolute file path because it does not reside

String fileName = "lenovo_data";方式一:ClassPathResource resource = new ClassPathResource("fileName");File file = resource.getFile();方式二:String path = ResourceUtils.getURL("classpath:").toString(...

2018-11-30 15:19:15 5888 2

原创 BeanWrapper 接口

      BeanWrapper 接口位于 spring-beans包的 org.springframework.beans包下,默认实现类是BeanWrapperImpl,BeanWrapper是spring提供的用来操作 JavaBean 属性的工具类,使用它可以方便的修改一个对象的属性。public class User { private String userName;...

2018-11-24 22:56:45 422

原创 Elasticsearch 服务器从A服务器copy数据到B服务器

A服务器 copy 数据到B服务器条件:B服务器的版本高于A服务器 要 copay 数据的索引的分片和副本设置 B和A要相同 copy 数据到B服务器相当于把B服务器的数据(配置数据和存储数据)还原到了A服务器的数据Copy 步骤:备份A服务器的数据; 创建B服务器的备份仓库和快照;(说明:仓库名称和快照名称要和A服务器备份数据时的仓库名称和快照名称相同); 用A服务器备份仓库中...

2018-11-12 14:05:55 1179

原创 Elasticsearch 服务器数据的备份与恢复

       要备份你的集群,你可以使用 snapshot API。这个会拿到你集群里当前的状态和数据然后保存到一个共享仓库里。这个备份过程是"智能"的。你的第一个快照会是一个数据的完整拷贝,但是所有后续的快照会保留的是已存快照和新数据之间的差异。随着你不时的对数据进行快照,备份也在增量的添加和删除。这意味着后续备份会相当快速,因为它们只传输很小的数据量。      要使用这个功能,你必须首先...

2018-11-09 15:58:06 1209

原创 LinkedList JDK1.8 源码学习

       LinkedList 是一个双向链表,有一个头节点first和尾节点last,继承于AbstractSequentialList,实现了接口 List<E>, Deque<E>, Cloneable, java.io.Serializable。       接口 Deque<E> extends Queue<E>,全名 double...

2018-11-06 20:07:11 130

原创 elasticsearch 拼音插件--elasticsearch-analysis-pinyin

elasticsearch-analysis-pinyin:This Pinyin Analysis plugin is used to do conversion between Chinese characters and Pinyin, integrates NLP tools。1、下载地址:https://github.com/medcl/elasticsearch-analysis-...

2018-11-01 19:46:02 2010

原创 elasticsearch笔记——词项查询

      全文搜索在执行查询之前会分析查询字符串,词项查询之前不会对查询字符串分词解析。词项查询通常用于结构化数据,比如数字、日期和枚举类。一、term      term query 用于词项搜索,查询之前不会对查询字符串进行分词解析,查询参数也不允许指定分词器。{ "query": { "term": { "title": "程序" } }}二、term...

2018-11-01 19:15:50 482 3

原创 elasticsearch笔记——复合查询

      复合查询是把一些简单查询组合在一起实现更复杂的查询需求,除此之外还可以控制另外一个查询的行为。一、constant_score      constant_score 查询可以包装一个其他类型的查询,并指定评分。{ "query": { "constant_score": { "filter": { "term": {"title": "java&quo

2018-11-01 19:15:41 1655

原创 elasticsearch笔记——嵌套查询

      elasticsearch 为了实现水平规模扩展,提供了以下两种形式的查询:一、nested      文档中可能包含嵌套类型的字段,这些字段用来索引一些数组对象,每个对象都可以作为一条独立的文档被查询出来。{ "mappings": { "<type>": { "properties": { ...

2018-11-01 19:15:32 3691

原创 elasticsearch笔记——特殊查询

一、more_like_this      more_like_this 查询和提供文本类似的文档,通常用于近似文本的推荐等场景。{ "query": { "more_like_this": { "fields": ["title", "description"], "like": "java vi

2018-11-01 19:15:17 574

原创 elasticsearch笔记——聚合分析

一、指标聚合(1) Max Aggregation 用于最大值统计;(2) Min Aggregation 用于最小值统计;(3) Avg Aggregation 用于计算平均值;(4) Sum Aggregation 用于计算综合;(5) Cardinality Aggregation 用于基数统计。其作用类似于SQL中去重复之后计算集合的长度;(6) Stats Aggrega...

2018-11-01 19:15:06 435

原创 elasticsearch笔记——全文搜索

一、match      match query 查询会对查询语句进行分词(可以指定分词器,若没有指定分词器采用默认的标准分词器),分词后查询语句中的任何一个词项被匹配,文档就会被搜索到。如果想查询匹配所有关键词的文档,可以采用“and”操作符。post localhost:9200/books/it/_search{ "query": { "match": { "titl...

2018-11-01 19:14:57 338

原创 Elasticsearch笔记——映射详解

      映射也就是 Mapping,用来定义一个文档以及其所包含的字段如何被存储和索引,可以在映射中事先定义字段和数据类型、分词器等属性。      映射可以分为动态映射和静态映射。一、动态映射:文档写入 elasticsearch中时,会根据字段的类型自动识别,这种机制成为动态映射。Elasticsearch 自动推测字段类型规则null =》 没有字段被添加true ...

2018-11-01 19:14:04 1483

原创 Elasticsearch笔记——文档管理

一、新建文档1、put: http://localhost:9200/<index>/<Type>/<Id>,传的JSON是一条记录Document2、post:http://localhost:9200/<index>/<Type>,传的JSON是一条记录Document二、获取文档get http://localhos...

2018-11-01 19:13:50 320

原创 Elasticsearch笔记——索引管理

一、创建索引put http://localhost:9200/<index> ,<index>是索引名,传的JSON是这个索引的数据格式。1、索引名不能包含任何大写字母;2、如果索引已存在,则抛出索引已存在的异常;3、elasticsearch 默认给一个索引设置5个分片1个分片,分派给定之后不再修改,副本可以随时修改;put http://loca...

2018-11-01 19:13:31 383

原创 elasticsearch 中文分词器 elasticsearch-analysis-ik

一、IK分词器安装1、下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases ,选择和elasticsearch对应的版本elasticsearch-analysis-ik-5.4.0.zip,下载并解压。2、在 elasticsearch-5.4.0/plugins/ 目录下新建名为 ik 的文件夹,拷贝elast...

2018-11-01 18:51:43 1008

原创 elasticsearch 下载安装和概念

一、下载地址https://www.elastic.co/downloads/past-releases二、启动1、解压tar文件,切换到 elasticsearch 目录下,打开终端启动命令:./bin/elasticsearch。2、elasticsearch 默认的 http 端口是9200,tcp 端口是9300。3、bin目录:可执行文件目录     config...

2018-11-01 17:35:24 460

原创 Elasticsearch 更新索引分析

假如更新 索引robot_lenovo的索引分析一、关闭索引POST http://localhost:9200/robot_lenovo/_close二、更新索引分析PUT /robot_lenovo/_settings{ "analysis" : { "analyzer":{ "content":{ "type":"custom",...

2018-10-30 16:11:30 1495 2

原创 ArrayList JDK1.8 源码学习

       ArrayList 就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素的方法,继承了AbstractList<E>类,实现了List<E>, RandomAccess, Cloneable, java.io.Serializable 接口。一、静态变量// 默认初始化动态数组的大小private static ...

2018-10-29 14:55:05 227

原创 多线程中this、Thread.currentThread() 和 this.currentThread()的区别

结论:Thread.currentThread():获取当前线程的引用,既代码段正在被哪一个线程调用。 this:指当前对象 this.currentThread():与Thread.currentThread()一致,都是调用实验代码:public class CountOperate extends Thread { public CountOperate() {...

2018-10-24 16:42:52 1485

转载 LinkedHashMap 学习

以下基于JDK 1.7LinkedHashMap 继承 HashMap,所以HashMap 有的特性,LinkedHashMap基本上都有。 LinekdHashMap和HashMap的区别LinkedHashMap是HashMap的子类,实现的原理跟HashMap差不多,唯一的区别就是LinkedHashMap多了一个双向循环链表。 因为有双向循环列表,所以LinkedHashMap能...

2018-10-23 11:35:45 5532

原创 Spring MVC 接口防数据篡改和重复提交

一、自定义一个注解,此注解可以使用在方法上或类上使用在方法上,表示此方法需要数据校验 使用在类上,表示此类下的所有方法需要数据校验 此注解对无参数方法不起作用import org.springframework.stereotype.Component;@Target({ElementType.TYPE, ElementType.METHOD})@Retention(Retent...

2018-10-22 19:45:55 1509

原创 HashMap在jdk1.7中和1.8中的不同

一、在jdk1.7中,HashMap存储空间模型是:数组加链表(元素是Entry(链表结构)的数组),数组用来存放key的hash值,链表用来存放键值对值,每一个数组元素对应一个链表,数组和链表的元素都是Entry对向。 public V put(K key, V value) { if (table == EMPTY_TABLE) { infl...

2018-10-22 10:39:26 301

原创 TreeMap 学习

TreeMap 简介TreeMap 是一个有序的key-value 集合,内部通过红黑树实现;TreeMap 继承了AbstractMap类,所以它是一个key-value集合;TreeMap 实现了NavigableMap接口,而NavigableMap接口继承了SortedMap接口,所以它是一个有序的集合;TreeMap 实现了Cloneable接口,所以它能被克隆;Tr...

2018-10-19 16:10:49 293

原创 Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up

spring boot 上传文件出现以下错误:{"timestamp":1539235200525,"status":500,"error":"Internal Server Error","exception":"org.springframework.web.multipart.MultipartException","message":"Could

2018-10-12 15:16:49 12955

原创 spring boot 整合 HttpClient

第一步:引入HttpClient 的jar包1、httpClient 5.0 开始支持异步(Async)请求;2、httpclient 版本过低上传文件会出,原因是org.apache.http.entity.ContentType 没有方法withParameters(final NameValuePair... params);<dependency> &lt...

2018-10-12 14:57:31 1953

原创 基数排序

基数排序属于“分配式排序”,又称“桶子法”;时间复杂度是 O(nlog(r)m),r为所采取的基数,m为桶数;是一种稳定的排序算法;空间效率:需要额外的空间,典型的空间换时间的算法;算法步骤:第一步:循环每一个基;第二步:循环内部以一个基为依据,遍历待排序的数据集,将元素放入对应的桶中;第三步:遍历桶,将元素返回到待排序的数据集中。说明:基 =&gt; 被排序的...

2018-10-12 11:37:06 99

JavaGuide-v3.0.pdf

233

2021-10-12

HQL Hibernate查询语言

Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。

2014-12-02

空空如也

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

TA关注的人

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