自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大道至简

  • 博客(153)
  • 资源 (7)
  • 收藏
  • 关注

原创 springboot系列:通过redis+lua脚本实现无锁库存扣减

spingboot结合redis实现库存无锁设计

2023-03-05 16:39:54 700

原创 springboot +redis +lua脚本控制活动库存不超发

spring结合lua脚本

2022-11-09 20:06:08 597

原创 Redis key的管理

redis key的管理

2022-11-09 19:29:16 459

原创 数据结构:线性表之链表

啊啊啊

2022-10-05 13:35:10 201

原创 数据结构:线性表之顺序表

线性表

2022-10-05 11:38:37 241

转载 springAOP的切点标志符

前言:AOP概述AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处

2022-06-01 09:09:38 158

原创 二叉树的后序遍历(递归方式和非递归方式)

二叉树的后序遍历为先遍历左子树,再遍历右子树,最后获取根节点的值。递归方式和先序,中序类似。public class Solution { public int[] postorderTraversal (TreeNode root) { List<Integer> list = new ArrayList<>(); if(root==null){ return new int[0]; }

2022-04-06 14:16:13 451

原创 链表的反转(借助栈的先进后出特点)

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。public class Solution { public ListNode ReverseList(ListNode head) { Stack<ListNode> stack = new Stack<>(); while(head!=null){ stack.push(head);

2022-04-06 13:56:41 175

原创 二叉树的中序遍历

之前一篇文章写了关于二叉树的先序遍历算法,这次来写一篇关于中序遍历的。不废话,上代码。递归版: public int[] inorderTraversal (TreeNode root) { List<Integer> list = new ArrayList<>(); dfs(list,root); int[] reuslt = list.stream().mapToInt(Integer::intValue).t

2022-04-05 17:00:06 349

原创 二叉树的先序遍历(递归和非递归算法)

前言二叉树是常用的数据结构,二叉数的遍历主要分为三种,先序遍历是常用的遍历方式,主要分为递归方式和非递归方式。即广度优先和深度优先下面先来看第一种:递归方式public class Solution { public int[] preorderTraversal (TreeNode root) { if(root==null){ return new int[0]; } List<Integer> list

2022-04-05 16:02:16 1318

转载 elasticsearch启动报错:java.nio.file.AccessDeniedException

Elasticsearch问题问题描述elasticsearch启动报错java.nio.file.AccessDeniedException: /data/software/elasticsearch-6.2.4/config/jvm.options解决方式问题原因因为elasticsearh需要以非root的用户启动,有时启动会出现权限不够的情况在终端输入下面的命令即可(以root身份)chown leyou /data/software/elasticsearch-6.2.4 -

2021-10-28 16:33:04 6225 2

原创 Elasticsearch常用查询语句

前言 Elasticsearch 作为一个文档型数据库,和mysql等关系型数据库一样,同样有相关的查询语法和常用的查询语句1.查询所有数据GET /索引名/_search{ "query": { "match_all": {} }}2.根据关键字查询GET /索引名/_search{ "query":{ "bool":{ "must": [ {"term": {"ruleTraceId":1

2021-05-26 11:18:07 906 2

原创 Elasticsearch 基本数据类型

前言ES包含了众多的数据类型,诸如Text,Keyword,String,date。1.Text支持分词,全文检索,支持模糊、精确查询,不支持聚合,排序操作;test类型的最大支持的字符长度无限制,适合大字段存储; 使用场景:存储全文搜索数据, 例如: 邮箱内容、地址、代码块、博客文章内容等。默认结合standard analyzer(标准解析器)对文本进行分词、倒排索引。默认结合标准分析器进行词命中、词频相关度打分。2.KeyWord1:不进行分词,直接索引,支持模糊、支持精确匹配,

2021-05-26 10:53:34 745

原创 Elasticsearch API 文档翻译 Matchboolean prefix query

概述match_bool_prefix查询会分析其输入,并根据这些术语构造一个bool查询。词条查询中使用除最后一个词以外的每个词条。最后一项在前缀查询中使用。match_bool_prefix查询,例如GET /_search{ "query": { "match_bool_prefix" : { "message" : "quick brown f" } }}分析产生术语“快速”,“棕色”和“ f”类似于以下布尔查询GET /_search{ "q

2021-04-29 10:20:41 143

原创 Elasticsearch API文档翻译——Match Query

match query (匹配查询)返回与提供的文本,数字,日期或布尔值匹配的文档。匹配之前对提供的文本进行分析。匹配查询是用于执行全文搜索的标准查询,其中包括模糊匹配的选项。Example Request( 请求示例)GET /_search{ "query": { "match": { "message": { "query": "this is a test" } } }}顶层参数match<字段> (必填,

2021-04-28 17:09:19 396

原创 Elasticsearch 7.1API 文档翻译

Query DSL》Full Text Queries 》 match query返回与提供的文本,数字,日期或布尔值匹配的文档。匹配之前对提供的文本进行分析匹配查询是用于执行全文搜索的标准查询,其中包括模糊匹配的选项。GET /_search{ "query": { "match": { "message": { "query": "this is a test" } } }}顶级参数 (必填,对象)您要搜索的字段。quer

2021-04-23 15:58:33 223

原创 Elasticsearch 7.12 API 文档翻译

Query DSL全文检索全文检索可以让你搜索已被分词的域,例如邮件的正文内容。查询字符串使用索引期间应用于字段的相同分析器处理查询字符串。包含了已下查询方式:区间查询允许对匹配项进行细粒度控制的顺序和接近性的全文查询。根据匹配项的顺序和接近程度返回文档间隔查询使用匹配规则,该规则由一小组定义构成。然后将这些规则应用于指定字段中的术语。定义产生的最小间隔序列跨越了文本主体中的各个术语。这些间隔可以由父源进一步合并和过滤样例以下间隔搜索将返回包含以下内容的文档: 最喜欢的食物,没有任何缝隙

2021-04-23 13:32:13 482

原创 Elasticsearch 常用API(下)

1.添加DocumentPUT /<index>/<type>/<ID>现在创建一个名为user的document,put /index1/user/ES不用显式的创建文档,如果在创建document之前没有创建index1,则ES会创建一个名为index1的索引。2.查询索引中的全部数据get index4/_search{ "query":{ "match_all": {} } "sort":{ "account_number"

2021-04-21 17:12:18 122

原创 Elasticsearch 常用API(上)

之前我们已经成功安装了Elasticsearch,接下来我们看看ES 提供了那些常用的查询方法。1.查询集群健康信息GET /_cat/health 或 GET /_cluster/health返回结果{ "cluster_name" : "docker-cluster", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_p

2021-04-21 16:11:38 205

原创 ES 6.0版本安装启动流程

开始Elasticsearch是一个高度可扩展的开源全文本搜索和分析引擎。 它使您可以快速,近乎实时地存储,搜索和分析大量数据。下载地址https://www.elastic.co/cn/downloads/elasticsearch安装解压tar文件到指定目录,本人的是/usr/local/binES 启动命令为 ./elasticsearch...

2021-04-21 15:28:34 138

转载 redis 获取key 包含中文显示乱码

Redis根据key查询时,值中中文显示如图:解决方法进入Redis[root@izwz93zaz redis-3.0.7]# cd bin/[root@izwz93zaz1 bin]# ./redis-cli --raw

2020-03-31 18:04:35 2233

原创 java shell 脚本

#!/bin/sh# 运行环境export env=test# jar包名称# 用户中心jar包名称export [email protected]@[email protected]@[email protected]@.jarecho ${user_jar_name}#获取进程编号pid=`ps -ef | grep ${user_jar_nam...

2019-12-25 17:39:21 150

原创 springboot-validation 实现API接口入参校验

简介 springboot-validation 是集成了hibernate-validator框架,针对web端的rest接口提供接口入参校验,能够对字段的长度,是否为空进行校验,还可以根据业务的特殊需求,实现自定义的注解校验。maven依赖 <dependency> <groupId>org.springframework.boo...

2019-08-09 13:24:04 1301

原创 sql 语句优化总结

我们如何更迅速的从一个大型项目中,知道是什么影响了服务的性能。mysql 提供了一些常用的命令来查询数据库的运行状态。1.show status like ‘uptime’ ——-查看mysql数据库运行了多长时间 2.show status like ‘com_select’ ——-查看mysql 数据库的查询次数 3.show status like ‘com_update’ ——-

2019-08-04 21:38:37 149

原创 springboot加shiro用户认证集成

1、简介shiro是由apache基金会旗下的强大的安全校验框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,从最小的移动应用程序到最大的网络和企业应用程序。本博客展示一个用户认证的demo,看看用shiro怎么来做用户认证的。2、maven依赖这里的sprigboot的版本是2.1.6.RELEASE <dependency> &...

2019-08-04 21:37:53 97

原创 java lamdba表达式 list 过滤排序分页使用

jdk1.8提供了Stream 类,极大的方便了开发者使用集合类,大大简化了代码。下面就是一个通过Stream 提供的filter以及sorted对集合列表进行过滤和排序。 List<ServiceOrderingViewDTO> list1 = result.getServiceOrderingViewDTOList().stream...

2019-07-12 09:20:28 866

原创 Redis 分布式锁的正确使用方式

随着业务越来越复杂,应用服务都会朝着分布式、集群方向部署,而分布式CAP原则告诉我们,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。很多场景下,需要通过分布式事务或者是分布式锁来保证数据的最终一致性。分布式锁的实现方式主要有三种,基于数据库的分布式锁基于Zookeeper的分布式锁基于Redi...

2019-06-05 15:24:25 1463

原创 spring AOP:@AfterReturning 发送用户通知

前言spring aop提供了丰富的切面功能,包括了环绕通知、提前通知、结束通知等,能够满足不同的业务场景,有时候需要在方法成功执行完成之后才提供切面通知。注解@AfterReturning 就能够很好的实现这个功能。具体实现首先需要一个AOP的切面方法。import java.lang.reflect.Method;import java.util.Date;import or...

2019-01-23 11:01:16 1658

原创 Mybatis 的mapper接口方法介绍及使用详解

mybatis 的mapper接口提供了增、删、改、查的方法。避免过多使用xml来直接写sql。Examle 类的使用Example examle = new Example();example.setOrderByClause(&amp;quot;字段名 asc,字段名 desc&amp;quot;);example.setDistinct(false);//去除重复,boolean 型,true 为选择不重复的记录。 ...

2018-12-27 16:24:51 4440

原创 mysql 多表数据同步到一张表中

现有3张表,2张同步表,一张本地表,现在需要将同步表中的数据更新到本地表中。mysql 因为不支持 全关联,所以只能使用左、右分别关联两张表的方式获取全量信息。通过insert select from 的方式,合并表数据。INSERT INTO cust_first_trade( cust_id, htsc_first_trade_dt, zd_first_trade_dt)SELE...

2018-12-26 16:54:28 3014

原创 Java8 lambda表达式实现去重的两种方式

java8 Stream提供了对List 做简单去重的处理,通过调用distinct方法,可以实现对类型Integer、Long、Char 等基本类型以及String类型的去重,但是无法对自定义对象进行去重处理。...

2018-12-26 16:50:19 4646 1

原创 解决分页插件ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_121] at java.lang.ClassLoa...

2018-12-06 13:19:49 3788

原创 操作系统习题以及答案

1、缺页中断和普通中断有什么区别一般中断只需要保护现场然后就直接跳到需及时处理的地方。缺页中断除了保护现场之外,还要判断内存中是否有足够的空间存储所需的页或段,然后再把所需页调进来再使用。2、动态链接库的优点节省内存并减少页面交换。DLL文件与EXE文件独立,提高扩展性和可维护性。跨语言支持。开发独立,耦合度小。节约磁盘。3、单缓冲的情况下,数据的处理时间计算:要完成整个操作,...

2018-11-05 21:58:37 2107

原创 java8 lambda使用汇总

从java8出现以来lambda是最重要的特性之一,它可以让我们用简洁流畅的代码完成一个功能。 很长一段时间java被吐槽是冗余和缺乏函数式编程能力的语言,随着函数式编程的流行java8种也引入了 这种编程风格。在此之前我们都在写匿名内部类干这些事,但有时候这不是好的做法,本文中将介绍和使用lambda, 带你体验函数式编程的魔力。lambda表达式语法结构:在lambda表达式中,通过如下...

2018-10-29 17:04:13 2787

转载 SQL 优化策略

1、SQL语句尽量用大写的;因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。2、使用表的别名: 当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。这样一来,就可以减少解析的时间并减少那些由列歧义引起的语法错误。3、选择最有效率的表名顺序(只在基于规则的优化器(RBO)中有效): ORACLE 的解析器按照从右到左的顺序处理FROM...

2018-08-15 22:04:00 632

原创 SpringCloud 构建统一配置中心

近几年,微服务概念大火,随之基于SpringBoot 基础上近一步提供微服务基础框架的springCloud也随之大火起来。提供了一整套的微服务处理框架,包括服务注册与发现,统一配置中心、负载均衡等等。最近因为工作不是很忙,利用空闲的时间,做了一个关于SpringCloud的统一配置中心来做练习。1、新建一个Maven工程(直接创建springBoot也可以)。 其中,con...

2018-04-09 13:54:38 1654

原创 spring 使用restTemplate 实现rest post 提交

spring 提供了封装rest 接口操作的工具类 RestTemplate,其中,使用POST 提交时,可以使用exchange函数来实现。下面给出实现代码:HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf("application/json;...

2018-03-19 10:44:31 599

原创 编辑器Atom 常用插件以及快捷键汇总

Atom是一款非常好用的前端开发编辑器,集成了很多的插件。开箱即用。下面是平时所用的一些插件和编辑器快捷键的汇总。Atom 插件 1.atom-beautify 代码格式化插件。格式化快捷键为 ctrl+B2.atom-html-preview Atom编辑器内实时预览的工具 快捷键为 CTRL + F123.atom-react-autocomplete 项目内,组件名及状态...

2018-02-23 15:04:52 609

原创 react 初探:webpack 加载css 使用配置

在react 中,使用模块加载器来将css 加载到整个模块中。下面看具体的配置在 webpack.config.js 的配置文件中,需要在css模块加载器中启用css modules(webpack中将css 进行模块化), { test: /\.css$/, use: [ { l...

2018-02-22 11:01:47 1954

原创 react 初探:类组件、状态和生命周期

react 除了提供函数式组件外,还提供了类组件,类组件提供了状态属性,下面一起吧之前的函数组件转换成类组件。/* 类组件定义*/class Clock extends React.Component{ render(){ return ( &lt;div&gt; &lt;h1&gt;Hello,World&lt;/h1&gt...

2018-02-13 14:15:31 518

navicat 10 for mysql管理工具

navicat 是一款很好的数据库管理工具,本资源无需安装,只需要启动,然后输入注册码即可使用

2018-02-23

react 关于自定义样式引入和ant-design样式引入配置问题

通过配置过滤 两个关于css的加载器,将加载自定义样式和加载ant-design的配置区分开来

2018-02-22

react 文档源码

根据react 中文官网上的教程 ,将所有的源码复制粘贴下来

2018-02-14

react 框架搭建

react 框架搭建,包含react,react-redux,expession等等等

2018-01-25

react 个人博客

react 个人博客,e,press +mangodb作为后台开发,react-reduex

2018-01-24

react项目热部署搭建

react项目热部署搭建,支持无刷新提交,可以在浏览器上显示

2018-01-23

zookeeper-3.4.6

zookeeper

2016-06-07

空空如也

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

TA关注的人

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