自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萝卜_7

每天get一个知识点

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

原创 SpringBoot使用Mybatis Plus

【代码】SpringBoot使用Mybatis Plus。

2022-08-24 21:30:00 239 1

原创 SpringBoot使用JSP

SpringBoot使用JSP

2022-08-22 21:00:00 384

原创 ModBusTcp协议(一)

ModBusTcp协议简介Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。Modbus的工作方式是请求/应答,每次通讯都是主站先发送指令,可以是广播,或是向特定从站

2022-04-14 19:45:09 13399

原创 Java POI XSSF

Java POI简介Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。结构HSSF - 提供读写Microsoft Excel XLS格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。H

2022-04-12 23:00:00 837

原创 ES 多桶排序

ES 多桶排序当我们使用多值桶(terms、histogram和date_histogram)时,会动态生成很多桶,ES默认的会按照doc_count降序排列内置排序需求:做一个 terms 聚合但是按 doc_count 值的升序排序GET /cars/transactions/_search{ "size" : 0, "aggs" : { "colors" : { "terms" : { "fiel

2022-03-28 21:00:00 2043

原创 ES 聚合和过滤

ES 聚合和过滤聚合范围限定还有一个自然的扩展就是过滤。因为聚合是在查询结果范围内操作的,任何可以适用于查询的过滤器也可以应用在聚合上。数据准备PUT cars{ "mappings": { "transactions": { "properties": { "color": { "type": "keyword" }, "make": { "type"

2022-03-26 19:00:00 1904

原创 ES 条形图 histogram

ES 条形图 histogramES 中的聚合还有一个优点,可以很容易的转化成图表和图形,直方图 histogram数据准备PUT cars{ "mappings": { "transactions": { "properties": { "color": { "type": "keyword" }, "make": { "type": "keyword

2022-03-25 19:00:00 1002

原创 ES 时间聚合

ES 时间聚合数据准备PUT cars{ "mappings": { "transactions": { "properties": { "color": { "type": "keyword" }, "make": { "type": "keyword" }, "price": { "type"

2022-03-24 18:54:06 1176

原创 ES 聚合-嵌套桶

ES 聚合-嵌套桶数据准备PUT cars{ "mappings": { "transactions": { "properties": { "color": { "type": "keyword" }, "make": { "type": "keyword" }, "price": { "typ

2022-03-23 19:00:00 941

原创 ES单桶-Java API实现

ES单桶-Java API实现数据准备PUT cars{ "mappings": { "transactions": { "properties": { "color": { "type": "keyword" }, "make": { "type": "text" }, "price": { "

2022-03-22 20:44:09 971

原创 ES聚合查询-桶的概念

ES聚合查询-桶的概念桶聚合桶(Buckets),满足特定条件的文档的集合桶 在概念上类似于SQL中的分组(group by)分桶就是将某一类共同特征的数据归为一类,然后计算总数,例如一个员工属于男性桶或者女性桶,商品评级:高档、中档、低档等等当聚合开始被执行,每个文档里面的值通过计算来决定符合哪个桶的条件。如果匹配到,文档将放入相应的桶并接着进行聚合操作。桶也可以被嵌套在其他桶里面,提供层次化的或者有条件的划分方案。例如,海淀区被放入北京这个桶,而整个北京桶会被放入中国这个桶。实例

2022-03-21 22:56:40 1533

原创 ES基础查询

ES查询QueryBuildersQueryBuilders是es中的查询条件构造器,用来生成一些QueryBuilder的查询类,如常用的TermQueryBuilder(精确匹配)、IdsQueryBuilder(根据ID查询)、BoolQueryBuilder(布尔查询)、MatchAllQueryBuilder(全匹配查询)、WildcardQueryBuilder(通配符查询)等等QueryBuilders的部分代码如下:/** * A static factory for

2022-03-18 18:30:00 1727

原创 Skip List(跳表)

Skip List(跳表)Skip List(跳表)是一种随机化的数据结构,其效率可比拟于二叉查找树,查找的时间复杂度O(logn),空间复杂度O(n)。简单的来说就是在有序链表的基础上加了索引,实现对链表的操作可以不用从头开始一个个的遍历,而是可以快速的跳过部分列表,跳表因此而得名。概念假设有这样一个有序单链表,它的跳表样子可能如下:一个跳表,应该具有以下特征:一个跳表应该有几个层(level)组成;跳表的第一层包含所有的元素;每一层都是一个有序的链表;如果元素x出现在第i

2022-03-17 20:30:00 499

原创 ES 索引

ES 索引Elasticsearch(以下称之为 ES)是一款基于 Lucene 的分布式全文搜索引擎,擅长海量数据存储、数据分析以及全文检索查询。Lucene 是 Apache 下的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,它是 ES 实现全文检索的核心基础,索引文档以及搜索索引的的核心流程都是在 Lucene 中完成的。基础结构MySQLESdatabase数据库inde

2022-03-11 19:00:00 14038

原创 Base64编码

Base64base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"一共64个字符的字符集base64不是加密算法,他只是一种编码方式,数据从一种形式转换为另一种形式进行传输/存储。编码规则把3个字节变成4个字节。首先

2022-03-03 22:00:00 977

原创 EhCache

EhCacheEhcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。依赖 <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId&g

2022-03-02 20:30:00 106

原创 JAXB学习笔记(一)

JAXB1. 概述JAXB(Java Architecture for XML Binding)是J2SE和J2EE平台的一部分,其功能就是让开发者快速的实现Java类和XML的相互映射关系2. JAXB转换Java对象转换为XML的过程称为MarshalXML转换为Java对象的过程称之为UnMarshal2.1 转换方式XSD(XML Schema Definition)JAXB的 xjc 工具定义 schema 通过 XSD(XML Schema Definition)文档

2021-09-26 18:32:33 1335

原创 JWT学习

JWT1. 什么是JWTJson Web Token (JWT)是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。通俗的讲就是通过JSON形式作为WEB应用中的令牌,用于在各方之间安全的将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。一般用于前后端分离或者跨域的系统,作

2021-09-25 23:14:04 98

原创 Spring学习笔记(三)-AOP

Spring学习笔记(三)-AOP1. 简介AOP(Aspect Oriented Programming) 意为:面向切面编程是一种可以通过预编译方式和运行其动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP 底层,就是采用动态代理模式实现的。采用了两种代理:JDK 的动态代理,与 CGLIB的动态代理。2. OPP、OOP、AOP面向过程

2021-09-24 19:48:05 83

原创 Spring学习笔记(二)

Spring学习笔记(二)1. 多文件配置在resources文件夹下创建test01文件,在其下分别创建spring-config-total.xml、spring-config-student.xml、spring-config-school.xml配置文件spring-config-student.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.o

2021-09-24 18:37:17 70

原创 JDK动态代理

动态代理1. 代理1.1 代理概念代理是一种设计模式,提供了对目标对象另外的访问方式,即通过代理对象访问目标对象,可以在不修改目标对象的情况下,对目标对象进行功能拓展1.2 代理作用降低代码的冗余控制访问:无法访问目标对象,只能通过代理类访问功能增强:在目标对象原有的功能上,增加额外的功能1.3 实现方式静态代理动态代理JDK动态代理cglib动态代理2. 静态代理2.1 原理及步骤创建一个接口,(接口中定义表示功能的方法)创建被代理类,实现该接口创建代

2021-09-18 18:26:43 211

原创 Spring学习笔记(一)

Spring学习笔记(一)1. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache

2021-09-16 21:11:52 63

原创 ElasticSearch 5.5.0学习笔记(三)-ElasticSearch API

ElasticSearch 5.5.0学习笔记(三)-ElasticSearch API1. 依赖引入<dependencies> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fast

2021-09-15 16:43:15 231

原创 ElasticSearch 5.5.0学习笔记(二)

ElasticSearch 5.5.0学习笔记(二)1. QueryDSL检索1.1 范围查询GET user/customer/_search{ "query": { "range": { "age": { "gte": 10, "lte": 20 } } }}返回结果:{ "took": 0, "timed_out": false, "_shards": { "total": 5,

2021-09-14 20:46:19 174

原创 ElasticSearch 5.5.0学习笔记(一)

ElasticSearch 5.5.0学习笔记(一)1. ES中的基本概念1.1 接近实体ElasticSearch是一个接近实体的搜索平台,意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒内)1.2 索引(index)一个索引就是一个拥有几分相似特征的文档集合。一个索引由一个名字来标识,并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。索引类似于关系型数据库中的Database概念1.3 类型(type)在一个索引中,你可

2021-09-13 19:56:19 265

原创 DO、PO、VO、DTO、BO、POJO概念

DO、PO、VO、DTO、BO、POJODO (Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。一般就是从数据库查询的信息,将这些信息封装成DO类,DAO层将DO类上传给Service层,它的使命就完成了。PO(Persistent Object)=DO(Data Object)VO( View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。一般是将前端传来的表单等数据封装成VO类,Controller接

2021-09-06 10:32:05 1236

原创 Quartz触发器

Quartz触发器1. Trigger介绍[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OWGMTv43-1630322949005)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20210830120426866.png)]Quartz中四类不同的触发器,但在实际中常用的是CronTrigger和SimpleTriggerJobKey:表示job实例的标识,触发器被触发时,该指定的jo

2021-08-30 19:30:50 991

原创 Quartz入门

Quartz任务调度1. Quartz概念Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 允许程序开发人员根据时间的间隔来调度作业。Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。2. 核心Jo

2021-08-30 11:56:36 563

原创 Lambda表达式

Lambda表达式1. 前序1.1 需求1假如说有这样一个需求,需要将一个list集合按照某种顺序排序。一般的做法public class TestMain { @Test public void test01(){ List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "0"); Collections.sort(list

2021-08-22 23:42:10 58

原创 JdbcTemplate使用入门

JdbcTemplate1. jdbcTemplate简介JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。常用方法execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于

2021-08-18 21:10:24 618

原创 Java 自定义注解

Java 自定义注解1. 注解定义注解是一种能被添加到java代码中的元数据,类、方法、变量、参数和包都可以用注解来修饰。注解对于它所修饰的代码并没有直接的影响。2. 使用范围注解有许多用法为编译器提供信息注解能被编译器检测到错误或抑制警告编译时和部署时的处理软件工具能处理注解信息从而生成代码,XML文件等等运行时的处理有些注解在运行时能被检测到3. 自定义注解3.1 基本语法public @interface MyAnnotation { /*

2021-08-16 17:53:57 56

原创 Java 枚举enum

Java 枚举enum1. 简介Java 枚举是一个特殊的类,一般表示一组常量,比如一年四季、月份、星期等。示例enum Color { RED, GREEN, BLUE; } 2. 定义使用 enum 关键字,其中每一个值都将映射到protected Enum(String name, int ordinal)构造函数中,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。示例:public enum EnumTest {

2021-08-16 16:09:30 68

原创 Stream流

Stream流1. 流的由来在数据来源多样化的今天,在做数据统计和处理的时候,大多是以底层数据库或其他数据来源的数据为基础进行更上层的统计和处理。在Java 的集合 API 中,辅助集合操作的方法太少对数据的筛选、聚合操作等都需要程序员遍历集合进行,效率低下,笨拙Stream流是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常遍历、高效的聚合操作或者大数据的批量操作。结合Lambda表达式,提高编程效率和程序的可读性。2. Stream流Stream流是一个

2021-08-16 16:05:52 109

原创 Windows10 MySQL-5.7免安装版

Windows10 MySQL-5.7免安装版1. MySQL下载官网下载地址: MySQL :: Download MySQL Community Server (Archived Versions)解压到要安装的路径,我这里是 D:\Java\mysql-5.7.22-winx64,解压后的样子如下:2. 环境变量配置我的电脑右键属性->高级系统设置->环境变量->系统变量-Path,添加 mysql 的安装路径。3. MySQL配置

2021-08-14 20:59:13 206

原创 lombok @Accessors注解

lombok @Accessors注解1. 前序Accessors翻译成中文是存储器的意思,其作用是用来配置setter和getter方法的生成结果的其有三个属性fluent、chain、prefix2. 使用2.1 entity实体类public class User implements Serializable { /** * 用户名称 */ private String userName; /** * 用户密码 */

2021-08-13 15:56:43 269

原创 elasticSearch入门

elasticSearch介绍1. 简介elasticSearch是一款基于Apache Lucene构建的开源搜索引擎,采用java编写并使用Lucene构建索引、提供搜索功能,ElasticSearch的目标是让全文搜索变得简单,开发者可以通过他简单明了的RestFul API轻松的实现搜索功能,而不必去面对Lucene的复杂性。ES能够轻松的进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理。一言蔽之:ElasticSearch是一款基于Lucene的实时分布式搜索和分析引擎。

2021-08-12 19:44:27 94

原创 缺失msvcr100.dll、mfc110.dll

Xshell Xftp缺失MSVCR100.dll、mfc110.dll1. 前序dll是动态链接库(Dynamic-Link Library)的缩写,相当于Linux下的共享对象。什么情况下丢失dll文件安装程序或软件甚至是windows运行Microsoft Visual C++组成的程序win10开启或关闭dll并非丢失,而是被破坏货转不小心删除msvcr100.dll为Visual Studio 2010的一个动态链接库,如果某程序是用它开发出来的,那么该程序的运行就有可能需

2021-08-11 15:51:00 224

原创 Shiro自定义Token

Shiro自定义Token1. 序言用户登录检验需要校验多个要素,不只有用户名和密码比如需要验证公司ID,主机IP,等等2. shiro中Token的结构Shiro中Token的继承结构图:AuthenticationToken接口类只包含获取用户的身份信息和凭证信息两个方法。Object getPrincipal();Object getCredentials();HostAuthenticationToken接口类继承自AuthenticationToke

2021-08-10 14:29:26 2926

原创 Shiro中的授权

Shiro的授权1. 授权​ 授权,即访问控制。主体通过身份认证之后,需要分配权限。2. 关键对象Who主体,即主体需要访问系统中的资源What即资源,如系统菜单、页面、按钮、类方法、系统商品信息等。资源包括资源类型和资源实例,比如商品信息为资源类型,类型为t01的商品为资源实例,编号为001的商品信息也属于资源实例。How权限/许可,规定主体对资源的操作访问,权限离开资源乜有意义,如用户查询权限,用户添加权限。通过权限可以知道主体对哪些资源有哪些操作许可。3. 授

2021-08-09 20:30:50 125

原创 Shiro中的MD5和盐

Shiro的MD5和Salt1. 原理用户注册时生成一段随机字符串,一般使用UUID,生成的字符串即所谓的salt将用户输入的密码+salt,整体进行加密,将加密后的数据存储到数据库,salt也应该存储到数据库中。用户登录时将用户输入的密码+salt,整体进行加密与数据库中存储的数据进行比对相同则为密码正确,不同则为密码错误2. md5哈希散列/** * @Author: Hjx * @Date: 2021/8/9 17:24 */public class TestS

2021-08-09 18:28:45 395

空空如也

空空如也

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

TA关注的人

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