自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(205)
  • 资源 (4)
  • 收藏
  • 关注

原创 ElasticSearch分页查询几种方式分析

ElasticSearch分页查询几种方式分析1 from+size语句示例# from+size浅分页GET test/_search{ "from": 10, "size": 2}简要查询过程在发送查询请求之后,某个节点node接收请求后,会创建一个大小为from+size的优先队列来保存结果;然后会把请求发送给相关的分片shard,在每个分片shard里面也会做同样的事情,执行查询,并将结果保存到大小为from+size大小的队列里面;最后每个分片会把结果返回到节点

2022-04-14 15:09:45 1683

原创 Content-Type与Spring获取请求参数的二三事

Content-Type1 含义http/https发送信息至服务器时的内容编码类型,也称为互联网媒体类型MediaType。Content-Type用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。2 常见媒体类型以text开头text/html : HTML格式text/plain :纯文本格式text/xml : XML格式image/gif :gif图片格式image/jpeg :jpg图片格式image/png:png图片格式以

2021-12-27 15:23:58 1205

原创 多线程系列-从学会创建多线程开始

多线程4 多线程常见场景客户端(移动端App端)开发异步发送短信/邮件执行比较耗时的代码改用多线程异步执行,提高接口的响应速度异步写入日志(日志框架底层)多线程下载5 多线程的创建方式5.1 继承Thread类/** * @ClassName ThreadDemo * @Description 继承Thread * @Author Fclever * @Date 2021/12/16 11:12 **/public class ThreadDemo extends Thre

2021-12-26 22:23:24 577

原创 多线程系列-多get一点的预备知识

多线程1 基础知识1.1 CPUCPU的中文名称是中央处理器,是进行逻辑运算用的,主要由运算器、控制器、寄存器三部分组成,从字面意思看就是运算就是起着运算的作用,控制器就是负责发出cpu每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。也就是我们的线程运行在cpu之上。1.2 CPU调度时间片单核的cpu上每次只能够执行一次线程,如果在单核的cpu上开启了多线程,则会发生对每个线程轮流执行,底层执行并不是真正意义上的多线程。Cpu每次单个计算的时间成为

2021-12-26 22:22:15 472

原创 Java:注解知识温顾

注解1.1 什么是注解注解用来给类声明附加额外信息,可以标注在类、字段、方法上面,编译器、JVM以及代码中可以通过反射获取注解信息,进行做处理比如控制层主要方法添加的日志注解,可以通过日志注解中获取信息,然后保存记录日志数据,方便代码的调试1.2 常用注解@Override标注在子类重写的父类方法之上,具有提示作用@Deprecated标注该类或者方法已过时,在后续版本中会被遗弃,具有提示作用@SuppressWarning(“unchecked”)标注在编译器检测到

2021-12-19 15:42:29 374

原创 Java:反射机制温顾

反射1.1 反射定义Oracle官方对反射的解释:Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fields, methods, and constructors to operate on their underlying counterparts, within secu

2021-12-19 15:41:20 358

原创 (详细)如何使用Freemarker生成Word文档中的文本、图片、表格、附件?

Java使用Freemarker生成各类型Word文档大合集前言-Freemarker简单介绍近期项目工作中需要编写大量格式相同但数据不同的Word文档,需要实现自动生成文档的效果,但是通过网上冲浪和官方文档搜索,相对来说,没有分类整理的文档,因此自己抽空简要分类整理了一下,如果错误,还请各位reader尽情指出。0 环境准备这里提供一个基础SpringBoot项目,后续的每个环节的代码都将一步步以这个为基础构建,如果你也打算从头开始挨个实操一遍,可以下载并导入之后同步我的后续操作,文末也会提

2021-08-11 16:02:36 5649 3

转载 EditPlus格式化xml文档

EditPlus格式化xml文档内容转载自:https://www.cnblogs.com/xwdreamer/archive/2012/02/21/2361425.html格式化工具下载地址:http://xmlstar.sourceforge.net/download.phpphp

2021-08-11 09:57:22 1211

原创 (详细+示例)JDK8新特性四:Optional类的学习

四 OptionalOptional类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象Optional是一个容器,可以保存类型T的值,或者仅仅保存null。Optional提供了空值检测方式,很好地解决了空指针异常。1 创建Optional方法Optional.ofNullable()可以传递空对象Optional.of()不可以传递空对象,会直接抛出NullPointerException异常g

2021-08-10 09:03:04 210

原创 (详细+示例)JDK8新特性三:Stream流+常见方法演示

Stream流1 什么是Stream流java.util.stream.StreamStream是JDK1.8中处理集合的关键抽象概念,Lambda和Stream是JDK1.8新增的函数式编程最有亮点的特性,它可以指定我们需要对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用StreamAPI对集合数据进行操作,类似于使用SQL执行数据库查询。Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的抽象。Stream API可以极大提高Ja

2021-08-10 09:02:03 190

原创 代码复制到Typora的代码块中格式错乱

代码复制到Typora的代码块中格式错乱在使用Typora过程中,经常用到的就是贴一些代码到文件中,Typora也提供了很好的代码块功能,还能设置代码块的文本格式但是直接在IDEA复制代码到代码块里面之后,代码的缩进容易遍历混乱,比如// 优化前 String name = "meitian"; if (name != null) { logger.info(name); } // 优化后

2021-08-09 15:24:49 4280

原创 解决浏览器主页被劫持为hao123

解决浏览器主页被劫持为hao123最近电脑浏览器主页莫名其妙被劫持了,找了好多方法都不管用,下面这个亲测有效下载火绒安全杀毒软件地址:https://www.huorong.cn/专杀工具,下载火绒恶性木马专杀工具进行修复,完成后打开浏览器检验成后打开浏览器检验...

2021-08-04 10:34:20 1230

原创 (详细+示例)JDK8新特性二:foreach、排序、线程调用简单示例

JDK8新特性7 Lambda实战示例7.1 foreach用来遍历集合中的数据,foreach接收一个消费型函数接口Consumer,首先可以利用匿名内部类的形式去操作;同时,Consumer接口中的accept函数方法接收一个String形参,并打印输出字符串,可以使用Lambda表达式来处理,当方法体只有一行代码时,还可以省略大括号;方法使用使用System.out.println来输出,因为System.out的返回值是一个类对象,相当于在方法体内调用了该类对象的方法,可以通过实例方法引入

2021-07-29 15:21:09 314

原创 (详细+示例)JDK8新特性二:方法引入详述

JDK8新特性5 方法引入5.1 定义方法引入可以结合Lambda表达式让编写的代码变得更加精简,它提供了很多非常有用的语法,可以直接引用已有java类或对象的方法或者构造器,离不开Lambda表达式。类别静态方法引入对象方法引入实例方法引入构造函数引入5.2 方法引入规则遵守:引入的方法的形参(个数,对应位置类型)必须和函数接口中方法的形参(个数、对应位置类型)一致如果函数接口中方法没有返回值,那么引入的方法可以有返回值或者没有返回值。如果函数接口中方法有返回值,

2021-07-29 15:20:35 183

原创 (详细+示例)JDK8新特性二:Lambda表达式规范和语法

JDK8新特性3 Lambda表达式规范使用Lambda表达式需要依赖函数接口函数接口定义在接口中只能有一个抽象方法@FunctionalInterface标记该接口为函数接口可以通过default修饰为普通方法或者通过static修饰为静态方法可以定义Object类中的public方法代码演示函数接口及说明函数接口package com.fc.service;/** * @ClassName FunctionService * @Description 函数

2021-07-29 15:19:17 173

原创 (详细+示例)JDK8新特性二:Lambda表达式引入介绍

JDK8新特性二 Lambda表达式(*)1 什么是Lambda表达式Lambda表达式是一个匿名函数,简化了调用函数的过程,使用Lambda表达式不仅让代码变的简单、而且可读、最重要的是代码量也随之减少很多。2 为什么要使用Lambda表达式2.1 简化使用匿名内部类的使用正常情况下,我们在使用接口的时候,一般都会通过为接口编写实现类,在实现类中重写接口方法,然后构建实现类对象,进而实现调用对应方法的能力。下面演示一下这种普通方式实现接口// 编写接口public

2021-07-29 10:38:53 129

原创 (详细+示例)JDK8新特性一:引入介绍

JDK8新特性一 引入介绍在jdk8之前,interface中可以定义变量和方法,变量默认是public static final的,方法默认是public abstract的,这些修饰符也都是默认存在的。jdk8之后,interface中开始支持使用static和default修饰,可以写方法体,不需要实现类强制重写代码示例接口package com.fc;/** * @ClassName JDK8Interface * @Description JDK8

2021-07-29 10:38:30 279

原创 创建.gitignore之后需要做的事情

创建.gitignore之后需要做的事情本地项目目录下删除缓存git rm -r --cached .再次add所有文件git add .添加commit,把该文件提交到远程库(文件内部的配置根据项目需求自定义)git commit -m "添加gitignore文件"说明在使用git的过程中,一般我们总会有些文件无需纳入git的管理,也不希望它们总出现在未跟踪文件列表,这些文件通常是日志文件、临时文件、编译产生的中间文件、工具自动生成的文件等等。此时我们可以创建一个

2021-07-28 14:32:35 171

原创 Java数据结构与算法-队列(详细实现)

队列(Queue)4.1 情景使用电脑时,机器有时会处于疑似死机状态,鼠标点什么都没有反应,当失去耐心打算关机重启的时候,突然清醒一般,把刚刚点击的所有操作都按顺序执行了一遍。这是因为操作系统的多个程序需要通过一个通道输出,而按先后次序排队等待造成的。还有就是一些系统中的客服人员,客服人员有限,当咨询人数大于客服人员总数后,就需要排队,当哪个客服人员有空闲时,会把最早排队的人进行安排。4.2 什么是队列结构队列结构从逻辑上来看是线性结构,从存储结构上来看可以划分为两类顺序队列:使用一组

2021-07-25 09:58:37 778 2

原创 Java数据结构与算法-栈(详细实现)

栈(Stack)栈是一种特殊的数据结构,在中断处理特别是重要数据的现场保护意义重要,常见的栈的应用十分广泛,如弹夹式手枪、网页的后腿按钮、Word等文本工具的撤销功能等等。3.1 什么是栈结构栈是限定仅在表尾进行插入和删除操作的线性表,栈结构是一种线性结构。从数据存储结构进一步划分,可以分为以下两类:顺序栈。使用一组地址连续的内存单元依次保存栈中的数据。定义一个指定大小的数组作为栈,序号为0的元素为栈底,定义一个变量top保存栈顶的序号。链式栈。使用链表形式保存栈中各元素的值。链表头部(

2021-07-25 09:56:34 435

原创 Java数据结构与算法-线性表(详细实现)

线性表(Linear List)2.1 什么是线性表零个或多个数据元素的有限序列。非空线性表的逻辑结构特征有且仅有一个开始结点,无直接前趋,有且只有一个直接后继有且仅有一个结束结点,有且只有一个直接前趋,无直接前驱。内部结点都有且只有一个直接前趋和一个直接后继对于同一线性表,数据类型一直,数据元素长度一致。2.2 线性表基本运算基本运算包括initList初始化操作,建立一个空的线性表listEmpty若线性表为空,返回true,否则返回false

2021-07-25 09:53:36 3001 8

原创 Java数据结构与算法-数据结构概述(补充)

数据结构概述1.1:什么是数据结构数据结构是数据的组织形式,可以用来表示特定的对象数据。计算机程序所操作的对象是各式各样的数据,通常拥有不同的数据解耦股,对此采用的处理方法不同,计算的复杂程度也不一样,因此算法往往依赖于某种数据结构,即数据结构是算法实现的基础。1.2:数据结构的内容数据结构包括三方面内容数据的逻辑结构数据元素之间的逻辑关系,与数据在计算机中如何存储无关,是独立于计算机的抽象概念。数据的存储结构数据元素及其逻辑关系在计算机存储器上的表示形式。存储结构依赖于计算

2021-07-25 09:48:01 182

原创 Java数据结构与算法-算法概述(补充)

算法概述1.1 算法分类算法是一门古老且庞大的学科,随着历史的发展,演化出多种多样的算法。1.按照应用来分类按照算法的应用领域,也就是解决的问题。大致可以分为基本算法、数据结构相关算法、几何算法、图论算法、规划算法、数值分析算法、加密/解密算法、排序算法、查找算法、并行算法和数论算法等。2.按照确定性来分类确定性算法:有限时间内完成计算,得到结果是惟一的,经常取决于输入值。非确定性算法:有限时间内完成计算,得到结果不唯一,存在多值性。3.按照算法的思路来分类大致可分为递推

2021-07-25 09:42:42 255 7

原创 IDEA查询项目中未被使用的代码

IDEA查询项目中未被使用的代码IDEA内置的很多功能非常强大,通过analyze分析功能,可以实现根据自己需求来检索未使用的内容步骤如下在弹出的输入框中,输入undeclared,然后选择下拉框中箭头指向内容,双击下图中的选择方式,就是按照最大范围检索,当然也可以根据自己需求来改变勾选内容然后点击OK,就可以进行检索了如果项目涉及模块较多,我们可以选中如下按钮,可以实现分模块显示86076816)]...

2021-06-25 09:54:42 1510

原创 Java实现批量ping IP地址

Java实现批量ping IP地址代码package com.ruoyi.web.controller.earlywarn;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 可以实现对指定网段的IP地址进行ping测试 */public class Ping { public static void main(String[] arg

2021-06-23 13:00:15 1393

原创 missing authentication credentials for REST request

missing authentication credentials for REST request问题解决方式原来是因为ElasticSearch开启了XPack认证,所以执行curl的时候,需要携带认证信息修改为curl --user elastic:123456 -H 'Content-Type: application/x-ndjson' -XPOST '192.168.111.10:9200/bank/account/_bulk?pretty' --data-b

2021-06-21 14:05:19 9710

原创 Linux上安装ElasticSearch+Kibana可视化

Linux上ElasticSearch+Kibana第一步:下载软件包版本:7.8.0下载(可自行官网)ElasticSearch:链接:https://pan.baidu.com/s/1e-rcjBiF5jBnhrEGRP0W4Q 提取码:mpf2Kibana:链接:https://pan.baidu.com/s/1O2TUTk2ZUUgP_27Z10kj3A 提取码:btuq第二步:安装ElasticSearch这一部分请移步,有详细的单机ElasticSearch安装步骤

2021-06-21 13:31:08 329 2

原创 ElasticSearch 路由计算

Part5:ElasticSearch进阶5.4 路由计算当在ES内创建一个文档的时候,文档会被存储到一个主分片中。ElasticSearch如何判断一个文档应该存放到哪个分片中呢?当创建文档的时候,如何决定这个文档应该被存储在哪个分片呢?ES中决定某个文档应该被存储到哪个分片中是根据如下公式来决定的shard = hash(routing) % number_of_primary_shardsrouting是一个可变值,默认是文档的_id,也可以设置成一个自定义的值。routing通过hash

2021-06-21 09:13:34 238

原创 ElasticSearch 分布式集群

Part5:ElasticSearch进阶5.3 分布式集群准备材料这一部分为使用三种类型的ES集群来演示说明下面的内容,分别是一个节点的集群、两个节点的集群、三个节点的集群这里已经配置好了三种集群,网盘链接供下载(版本7.8.0)目录说明(配置文件已经改好,可以直接启动,如果启动失败,删除目录下data和清空logs下文件即可)One:一个节点的集群Two:两个节点的集群Three:三个节点集群5.3.1 单节点集群使用上述提供的One文件夹下的单节点ES

2021-06-21 09:13:06 203

原创 ElasticSearch 系统架构

Part5:ElasticSearch进阶5.2 系统架构5.2.1 基础图5.2.2 理解一个运行中的ElasticSearch实例称为一个节点,而集群是由一个或者多个拥有相同cluster.name配置的节点组成,它们共同承担数据和负载的压力。当有节点加入集群或者从集群中移除节点时,集群将会重新平均分配所有的数据。当一个节点被选举称为主节点时,它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等等。而主节点并不需要涉及到文档级别的变更和搜索等操作,所以当集群只有一

2021-06-21 09:07:43 439

原创 ElasticSearch核心概念

Part5:ElasticSearch进阶5.1 核心概念5.1.1 索引(Index)一个索引就是一个拥有相似特征的文档的集合。比如说,可以有一个客户数据的索引,一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部都是小写字母),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都需要使用这个名字。在一个集群中,可以定义任意多的索引。能搜索的数据必须索引,这样的好处是可以提高查询速度,比如:新华字典前面的目录就是索引的意思,目录可以提高查询速度。Elas

2021-06-21 09:06:56 156

原创 一学就会!!Vue整合Echarts图表

一学就会!!Vue整合Echarts图表Part1:(栖息地)搭建环境首先创建一个Vue项目作为演示,可以通过脚手架来快速创建即可OK,一个清新的Vue项目搭建好了现在我们把App.vue文件修改一下,然后运行项目,看看是否启动成功启动项目(进入到项目路径下)npm run serveOK,启动测试完成,Next!Part2:(骨架)引入Echarts创建好Vue项目之后,我们既然需要使用Echarts,那么就需要将其安装到我们的项目当中

2021-06-15 09:16:38 1851 1

原创 记一次SQL的优化记录

Part1:生成测试数据这里提供一个SQL脚本,包含了建表和插入数据的内容,建立测试表来演示SQL的优化-- 创建表结构DROP TABLE IF EXISTS index_test;CREATE TABLE index_test ( id BIGINT ( 20 ) PRIMARY KEY NOT NULL AUTO_INCREMENT, USER VARCHAR ( 16 ) DEFAULT NULL, psd VARCHAR ( 64 ) DEFAULT NULL ) ENGIN

2021-06-03 18:17:47 191

原创 忘记MySQL密码,如何无密码登录?

忘记MySQL密码,如何无密码登录?MySQL版本:5.7问题今天使用windows命令行连接MySQL的时候,输入好了登录命令,输完密码回车突然发现报错了错误信息:当前输入密码和用户不匹配,但是我已经把原密码给忘记了解决思路无密码方式登录MySQL,然后修改密码步骤以管理员身份运行cmd.exe该文件位于C:\Windows\System32目录下通过cd命令进入到MySQL安装目录下的bin目录下如果找不到自己MySQL安装在哪怎么办?右键我的电脑-

2021-06-03 09:34:37 915 1

原创 ElasticSearch Linux单点和集群配置

Part4:ElasticSearch环境4.1 相关概念4.1.1 单机&集群单台ElasticSearch服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器的性能就会大大降低甚至不可用,所以生产环境中,一般都是运行在指定服务器集群中。除了负载能力,单点服务器也存在其他问题单台机器存储容量有限单服务器容易出现单点故障,无法实现高可用单服务的并发处理能力有限配置服务器集群时,集群中节点数量没有限制,大于等于2个节点就可以看做是集群了。一般出于高性能及高可用方面来考虑

2021-05-28 08:12:59 524

原创 ElasticSearch Windows单点和集群配置

Part4.1:ElasticSearch Windows4.1 相关概念4.1.1 单机&集群单台ElasticSearch服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器的性能就会大大降低甚至不可用,所以生产环境中,一般都是运行在指定服务器集群中。除了负载能力,单点服务器也存在其他问题单台机器存储容量有限单服务器容易出现单点故障,无法实现高可用单服务的并发处理能力有限配置服务器集群时,集群中节点数量没有限制,大于等于2个节点就可以看做是集群了。一般出于高性能及

2021-05-28 08:04:23 290

原创 Linux修改文件编码格式

Linux修改文件编码格式使用vi或者vim进入到文件内查看当前文件的编码格式,这里格式为latin1输入:,然后输入set fileencoding命令,回车修改格式为utf-8输入命令(:set fileencoding = utf-8)= utf-8)保存退出即可...

2021-05-27 09:17:41 3160

原创 nested:YAMLException[java.io.CharConversionException: Invalid UTF-8

遇到的问题  最近在搭建ES集群的时候,修改了ES的yml配置文件,在启动ES节点的时候,发现输出了如下错误:  报错信息显示是:字符编码格式转换有问题解决方式  检查自己打开配置文件的文本编辑器,正常修改完配置文件之后,直接使用ctrl+s进行文本保存,这样的话,文本编辑器可能会将配置文件的编码格式修改了。  因此我们可以选择(另存为)的方式,指定编码格式为utf-8即可...

2021-05-25 16:17:59 1021

原创 ElasticSearch JavaAPI操作

ES学习第一篇:ElasticSearch概述第二篇:ElasticSearch入门第三篇:ElasticSearch JavaAPI操作Part3:ElasticSearch JavaAPI操作ElasticSearch软件是由Java语言开发,可以通过JavaAPI的方式对ElasticSearch服务进行访问。3.1 创建Maven项目IDEA创建Maven项目,配置pom.xml依赖关系<dependencies> <dependency&g

2021-05-25 10:06:15 290 3

原创 ES 使用matchAllQuery查询后结果只有10条

问题描述  最近在学习ES使用时,通过JavaAPI来实现数据的全量查询,我本来在对应索引里面创建了11条数据,但是使用matchAllQuery()方法进行查询时,发现每次运行都只能获得10条数据,通过探究ES源码,找到了问题所在,ES默认在执行查询或者聚合时都默认返回10条数据,我们可以通过指定size值来修改这个默认值。先创建11条测试数据public class ES_Doc_Batch_Create { private static HttpHost httpHost; .

2021-05-24 08:58:49 7364 4

第三方框架集成.xmind

积分设置为0,但会自动变化,需要可私信我,该资源是将Spring框架和其他第三放框架整合进行了介绍,以思维导图的形式进行呈现

2020-06-25

常用注解.xmind

该资源是将Spring框架中的主要注解进行了超级详细的介绍,并分别讲解了其主要作用,以思维导图的形式进行呈现

2020-06-25

Spring主要jar包.xmind

该资源是将Spring框架中的主要jar包进行了介绍,并分别讲解了其主要作用,以思维导图的形式进行呈现

2020-06-25

面向对象知识思维导图.xmind

该资源是针对Java中的面向对象的知识进行了一个思维导图的整理,是我在我的Java栏目中<循序渐进学Java>系列的一个概括总结,也欢迎大家可以到学Java的第壹篇位置看一下(https://blog.csdn.net/qq_41649001/article/details/106608816),如果该资源有帮到大家那就更好了

2020-06-08

空空如也

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

TA关注的人

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