自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小布のJava世界

即使再小的船也能远航

  • 博客(58)
  • 收藏
  • 关注

原创 3.Elasticsearch学习之深度分页、游标查询、以及批量操作

1.深度分页1.分页查询POST /shop/_doc/_search { "query": { "match_all": {} }, "from": 0, "size": 10 }2.深度分页深度分页其实就是搜索的深浅度,比如第1页,第2页,第10页,第20页,是比较浅的;第10000页,第20000页就是很深了。使用如下操作:{ "query": { "match_all": {} }, "from": 9990, "

2021-04-25 11:09:30 571

原创 2.Elasticsearch的搜索查询,了解QueryString和DSL搜索,以及关键字高亮显示

1.DSL搜索 - 数据准备1.数据准备自定义词库慕课网慕课课网慕课网建立索引 shop(名字随意)手动建立mappingsPOST /shop/_mapping{ "properties": { "id": { "type": "long" }, "age": { "type": "integer" }, "username": { "type

2021-04-24 01:14:17 940

原创 1.Elasticsearch的安装和入门学习,了解集群、倒排索引、索引的操作、文档的操作、文档乐观锁、分词器以及自定义分词器等

1.Elasticsearch概述​ Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic

2021-04-23 00:55:51 376

原创 深度解锁SpringCloud主流组件,一站式解决微服务诸多难题

1.项目脚手架构建1.1项目结构介绍和框架选择了解VO、POJO、BO对象、之前学习用的DTO、Entity、VO对象1.2脚手架构建springboot 2.1.8SprinCloud GreenMybatis-plus1.3mybatis-plus使用优势Mybatis-plus是基于Mybatis开发的开源框架Mybatis-plus封装了分页、条件查询等内容Mybatis-helper可以帮助我们更好的使用Mybatis框架2.Eureka核

2021-01-21 15:43:15 624 1

原创 Vue学习之安装运行环境

1.安装js的运行环境Node.jsNode.js的官网下载地址https://nodejs.org/zh-cn/注意:如果使用Vue3.0则必须安装Node.js版本8.9以上,否则无法使用在mac下node.js和npm默认的安装位置如下:Node.js v12.16.3 to /usr/local/bin/nodenpm v6.14.4 to /usr/local/bin/npm傻瓜式一直下一步安装即可,安装完成后,测试是否安装成功:在终端打开分别输入:node -vnp

2021-01-19 15:00:07 150

原创 MySQL5.7免安装版配置详细教程

一、 软件下载Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验,要安装的朋友可以当做参考哦mysql5.7 64位下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip本次教程采用的是64位版本,诸君可根据自己电脑系统和个人喜好酌情处理。二、 操作步骤1.下载后得到zip压缩包.2.解压到自己想要安装到的目录,本人解压到的是F:\mysql-5.7.

2021-01-19 14:58:48 383

原创 大数据查询时Mysql报错Max_Allowed_Packet超出最大连接数,除了调整mysql的最大连接数,java代码方式解决版本

2.3 工具类也可以优化java8写法和普通优化写法。2.2 代码编写优化,简洁干净。1.1常量mysql连接数。2.方式二:抽出公共方法。2.1 抽出公共工具类。

2023-06-25 10:39:24 699

原创 SpringBoot 监听Redis key过期回调

`Spring boot`实现[监听`Redis key`失效事件可应对某些场景例如:处理订单过期自动取消、用户会员到期…

2023-02-14 11:01:49 634

原创 第三方对接-CA对接

package cc.ewell.mem.prescription.api.ca;import cc.ewell.mem.prescription.comm.ApolloGener;import cc.ewell.mem.prescription.jdbc.sign.CaSignYw;import cn.hutool.core.util.StrUtil;import cn.hutool.json.JSONUtil;import co.faao.plugin.esb.GogApi;import

2022-01-05 13:22:05 1232

原创 Jvm学习笔记之类加载子系统

1. 类加载器子系统作用:将class文件从本地或者磁盘加载到内存,生成一个大的class实例。类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。一个非数组类的加载阶段(加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,这一步我们可以去完成还可以自定义类加载器去控制字节流的获取方式(重写一个类加载器的 loadClass() 方法)。数组类型不通过类加载器创建,它由 Java 虚拟机直接创建。所有的类都由类加载器加载,加载的作用就是将 .

2021-07-08 08:42:59 155 1

原创 分库分表之Shardingsphere的使用

1. 为什么需要分库分表数据库性能瓶颈2.拆分方式水平拆分:每个表的数据结构都一样垂直拆分:一个多字段的表拆分成多张表3.分库分表的解决方案shardingsphere.apache.org(以前叫shardingJDBC)www.mycat.org.cn4.版本SpringBoot:2.3.2.RELEASEShardingsphere-jdbc:5.0.0-alphaMysql:5.7JPA+Hikari<?xml version="1.0" en

2021-06-18 14:06:01 480

原创 Maven项目架构管理工具

1.为啥要用学习Maven这个技术?在javaweb开发中,我们需要导入大量的jar包,我们手动去导入如何能够让一个东西自动帮我们导入和配置这个jar包由此Maven就诞生了。。。。。。2.Maven简述Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖

2021-06-16 09:35:22 105

原创 有趣的代码注释

代码注释的作用,不需要对程序员解释了。有时在查看他人代码,能看到一些令人不禁大笑的注释。下面有一些收集的搞笑注释,我们不仅要适量的学习,也要开心的用所学来演绎人生的精彩,有人说你学编程是真的热爱编程吗,你是馋它的工资吧。。。。所以日常学习在于收集和总结!!!(_/),((((^\ (((( (6 \ ,((((( , \ ,,,_ ,((((( /"._ ,,((((\ ,… ,(((( / -.-' ))) ;'“’”’""(((( (((( /

2021-06-16 09:32:03 79

原创 java程序的运行机制

1.java的运行机制java语言是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为Java程序要经过先编译,后解释两个步骤。java的核心机制有两个,一个是jvm虚拟机,另一个是垃圾回收机制GC。2.高级语言的运行机制计算机高级语言按程序的执行方式可以分为 编译型 和解释型两种。编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式,这个转换

2021-06-16 09:31:12 434

原创 jdk的安装与卸载

1.jdk的卸载安装jdk之前先说一下如何完全的卸载jdk:打开电脑控制面板,卸载jdk找到jdk的安装目录,删除该目录删除环境变量下path和Java_Home与java有关的变量在命令控制台查询javac,java,java-version验证是否卸载成功2.jdk的安装百度先去oracle官网下载jdk-----Jdk8地址下载下载完成,安装jdk,可以选择自定义安装到自己希望的目录,也可以选择默认安装记住安装目录,配置环境变量右键打开此电脑

2021-06-16 09:30:10 139

原创 MarkDown学习

1.标题学习----# +空格+名称一级标题二级标题三级标题四级标题五级标题六级标题2.字体**HelloWord!!! ----左右两边加 变粗体HelloWord!!! -----左右两边加*变斜体HelloWrod!!! -----左右两边加***变粗斜体HelloWrod!!!-----左右两边加~~变删除线3.引用小布学Java —只需要>+xxxx即可4.分割线— 表示分割线***也表示分割线5.图片 即可显示6.

2021-06-16 09:29:17 57

原创 常用的dos命令

1.打开dos窗口的最快捷的几种方式:第一种win+r+cmd 快速打开第二种适合在要进入的比较深的目录,可以使用这种 shift+鼠标右键—在此处打开命令窗口基于第二种可以shift+鼠标右键+M快速打开在资源管理器上面加上cmd+空格即可打开2.常用的dos命令 1.盘符切换 d: 2.查看当前目录下所有文件:dir 3.切换目录:cd /d f:4.返回上层目录:cd ..5.清除屏幕:cls6.退出dos窗口:exit7.查看电脑ip:ipcon

2021-06-16 09:19:23 60

原创 分布式任务调度XXL-Job

1.分布式任务调度应用场景基于时间报表:统计昨天的订单量,或者上一天的订单量日/月结单:支付、金融领域:证劵公司等爬虫:定时进行爬取基于数据量数据归档:数据到一定的量级可以进行归档2.任务调度的框架有哪些?非分布式@Scheduledpackage com.xiaobu.scheduled;import com.xiaobu.async.DoProcessAsync;import lombok.extern.slf4j.Slf4j;import org.s

2021-06-15 16:19:51 184

原创 RabbitMQ的高级特性:如何解决RabbitMQ使用的问题

一.RabbitMQ的问题分析1.消息发出后,发送端不知道RabbitMQ是否真的接受到了消息?消息发送后,发送端不知道RabbitMQ是否真的收到了消息若RabbitMQ异常,消息丢失后,订单处理流程停止,业务异常需要使用RabbitMQ发送端确认机制,确认消息是否发送2. 消息发送后,消息真的被路由了吗?消息发送后,发送端不知道消息是否被正确路由,若路由异常,消息会被丢弃消息丢弃后,订单处理流程停止,业务异常需要使用RabbitMQ消息返回机制,确认消息被正确路由3.消息发送后

2021-06-08 15:32:12 302

原创 SpringBoot使用异步配置线程池

SpringBoot使用异步配置线程池1.首先我们需要先编写 启用@EnableAsync 的线程池配置类import java.util.concurrent.Executor;import java.util.concurrent.ThreadPoolExecutor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;im

2021-06-02 09:22:06 325

原创 Stream流的终止操作:匹配与查找、归约、收集

Stream流的终止操作:匹配与查找、归约、收集package com.xiaobu.lambda.java3;import com.xiaobu.lambda.java2.Employee;import com.xiaobu.lambda.java2.EmployeeData;import org.junit.Test;import java.util.Arrays;import java.util.List;import java.util.Optional;import java.

2021-06-01 09:35:40 93

原创 Java8新特性之Operator类

Java8新特性之Operator类从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。package com.xiaob

2021-05-31 18:07:43 734 1

原创 Stream流的终止操作:匹配与查找、归约、收集

Stream流的终止操作:匹配与查找、归约、收集package com.xiaobu.lambda.java3;import com.xiaobu.lambda.java2.Employee;import com.xiaobu.lambda.java2.EmployeeData;import org.junit.Test;import java.util.Arrays;import java.util.List;import java.util.Optional;import java.

2021-05-31 17:21:59 113

原创 Stream流的中间操作:筛选与切片、映射、排序

Stream流的中间操作:筛选与切片、映射、排序package com.xiaobu.lambda.java3;import com.xiaobu.lambda.java2.Employee;import com.xiaobu.lambda.java2.EmployeeData;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java

2021-05-31 17:10:32 198

原创 Stream流创建的四种方式:集合创建、数组创建、方法创建Stream.of、创建无限流

Stream创建的四种操作package com.xiaobu.lambda.java3;import com.xiaobu.lambda.java2.Employee;import com.xiaobu.lambda.java2.EmployeeData;import org.junit.Test;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;import java.ut

2021-05-31 17:08:18 1734

原创 设计模式之动态代理模式

设计模式之动态代理模式1.创建一个接口interface Human{ String getBelief(); void eat(String food);}2.创建一个被代理类,并实现接口Human//被代理类class SuperMan implements Human{ @Override public String getBelief() { return "I believe I can fly!"; } @

2021-05-27 16:13:04 61

原创 日期工具类:获取两个时间的天数

package com.meishi.core.utils;import org.apache.commons.lang3.time.DateFormatUtils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 日期工具类, 继承org.apache.commons.lang.time.DateU

2021-05-19 10:20:57 863

原创 ConcurrentHashMap 与 Hashtable的异同?

ConcurrentHashMap 与 Hashtable的异同?ConcurrentHashMap 和 Hashtable 的区别主要体现在实现线程安全的方式上不同。底层数据结构: JDK1.7 的 ConcurrentHashMap 底层采用 分段的数组+链表 实现,JDK1.8 采用的数据结构跟 HashMap1.8 的结构一样,数组+链表/红黑二叉树。Hashtable 和 JDK1.8 之前的 HashMap 的底层数据结构类似都是采用 数组+链表 的形式,数组是 HashMap 的主体,链

2021-05-18 09:03:14 106

转载 Collection子接口:List和Set概述

Collection子接口:List和Set1.List接口概述:元素有序、且可重复鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector。1.1 List接口中的方法List除了从Colle

2021-05-17 14:51:38 234

原创 HashSet的底层实现原理、子类LinkedHashSet、排序TreeSet

1.HashSet的底层实现原理HashSet底层使用了数组+链表来支持的,特点:存储快HashSet存储对象的时候:首先会先算出对象的哈希值,然后通过对哈希值的移位运算,算出元素在哈希表中的存储位置如果当前存储的位置没有任何元素,那么就直接存储到这个位置上如果算出的元素的存储位置已经有其他的元素了,那么就会对哈希值进行比较,,如果哈希值相同,就会使用equals方法判断两个元素是否相同,如果元素相同,就会equals就会返回false,不允许添加,如果返回的是false,就会在当前的位置以链表

2021-05-17 14:50:40 502

原创 ArrayList、LinkedList和Vector的异同和底层源码解析?

ArrayList、LinkedList和Vector的异同和底层源码解析?相同点:从源码上看ArrayList、LinkedList和Vector都实现了List接口,存储数据的特点相同:存储的数据有序、可重复不同点:ArrayList:是List的接口的主要实现类,在jdk1.2才更新出来,线程不安全,效率高,查询快,增删慢,底层使用的是Object []LinkedList:在jdk1.2才更新出来,线程不安全,对于频繁的插入、删除操作,使用此类效率高于ArrayListVector:是L

2021-05-11 10:41:01 113

原创 Java框架集合概述

Java框架集合概述1.一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点:数组初始化以后,长度就确定了。数组声明的类型,就决定了进行元素初始化时的类型数组在存储数据方面的弊端:数组初始化以后,长度就不可变了,不便于扩展数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效

2021-05-10 14:18:54 56

原创 6.Elasticsearch学习之Logstash数据同步

1.Logstash数据采集与同步1.LogstashLogstash是elastic技术栈中的一个技术。它是一个数据采集引擎,可以从数据库采集数据到es中。我们可以通过设置自增id主键或者update_time时间来控制数据的自动同步,这个id或者update_time时间就是用于给logstash进行识别的id:假设现在有1000条数据,Logstatsh识别后会进行一次同步,同步完会记录这个id为1000,以后数据库新增数据,那么id会一直累加h会有定时任务,发现有id大于1000了,则增量

2021-05-07 10:21:49 995

原创 String、Stringbuffer和StringBuilder的异同? String 为什么是不可变的?

String、Stringbuffer和StringBuilder的异同? String 为什么是不可变的?1.可变性简单的来说:String 类中使用 final 关键字修饰字符数组char[]来保存字符串,private final char value[],所以String 对象是不可变的。补充:在 Java 9 之后,String 、StringBuilder 与 StringBuffer 的实现改用 byte 数组存储字符串 private final byte[] value为什么使用

2021-05-07 10:01:24 179

原创 5.Elasticsearch学习之springboot整合

1.SpringBoot整合Elasticsearch1.1创建工程,引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> <!--<version>2.1.5.RELEASE</version&g

2021-04-26 17:53:29 301

原创 4.Elasticsearch学习之集群搭建

1. Elasticsearch集群的概念1.1 引子单机es可以用,没毛病,但是有一点我们需要去注意,就是高可用是需要关注的,一般我们可以把es搭建成集群,2台以上就能成为es集群了。集群可以实现海量数据存储的横向扩展。1.2 分片机制每个索引可以被分片,就相当于吃披萨的时候被切了好几块,然后分给不同的人吃索引my_doc只有一个主分片;索引shop有3个主分片;索引shop2有5个主分片。每个主分片都包含索引的数据,由于目前是单机,所以副本分片是没有的,这个时候集群健康值

2021-04-25 16:29:56 94

原创 EasyPoi如何使用注解导出,并且添加自增序号?

EasyPoi如何使用注解导出,添加自增序号?1.先看一下导出的实体和接口写法import cn.afterturn.easypoi.excel.annotation.Excel;import com.fasterxml.jackson.annotation.JsonFormat;import com.github.wxiaoqi.security.common.dto.BaseDTO;import io.swagger.annotations.ApiModel;import io.swagge

2021-04-13 10:13:14 5805 4

原创 设计模式之静态代理模式

/** * @ClassName ProxyTemplate * @description: 代理模式:静态代理 * @author: qsong * @create: 2021-04-06 17:50 * @Version 1.0 **/public class ProxyTemplate { public static void main(String[] args) { Server server=new Server(); ProxyServe.

2021-04-07 14:49:16 44

原创 设计模式之单例模式

单例模式分为饿汉式和懒汉式/** * @ClassName SingletonTest * @description: 饿汉式 * @author: qsong * @create: 2021-04-06 14:04 * @Version 1.0 **/public class SingletonTest { private static final SingletonTest singletonTest=new SingletonTest(); private Sing

2021-04-06 17:22:28 53

原创 设计模式之模版方法

import java.util.Calendar;/** * @ClassName TemplateMethod * @description: 设计模式:``` * 在开发中,去实现一个算法的时候,整体的步骤很固定,很通用,这些可以在父类中写好,但是某些部分易变,易变部分可以抽象出来,供不同的子类去实现,这就是模版模式 * @author: qsong * @create: 2021-04-06 16:07 * @Version 1.0 **/public class

2021-04-06 17:16:52 53 1

空空如也

空空如也

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

TA关注的人

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