- 博客(155)
- 资源 (7)
- 收藏
- 关注
原创 springboot+minio 文件上传
其中endpoint 为本地安装的minio服务地址,形式为IP+端口。本次使用的是springboot2.7.16 版本,需要先安装minio文件服务器,请参考我上一篇文章。accessKey和secretKey为用户名密码。可以在minio控制台查询到已经上传的文件。桶名称则是在minio服务上新增的桶名称。到此一个简单的文件上传下载服务就算成功了。minio 版本是8.2.2。
2024-05-27 16:02:12
499
原创 腾讯云环境安装单机版minio
4、minio启动命令默认的是随机端口,需要通过启动命令来。5、后台启动,指定输出日志文件。通过ip+9000直接访问。程序启动成功,可以正常范围。3、启动,随机端口启动。通过命令查询后台程序。
2024-05-15 20:58:54
279
转载 springAOP的切点标志符
前言:AOP概述AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处
2022-06-01 09:09:38
212
原创 二叉树的后序遍历(递归方式和非递归方式)
二叉树的后序遍历为先遍历左子树,再遍历右子树,最后获取根节点的值。递归方式和先序,中序类似。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
485
原创 链表的反转(借助栈的先进后出特点)
给定一个单链表的头结点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
222
原创 二叉树的中序遍历
之前一篇文章写了关于二叉树的先序遍历算法,这次来写一篇关于中序遍历的。不废话,上代码。递归版: 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
495
原创 二叉树的先序遍历(递归和非递归算法)
前言二叉树是常用的数据结构,二叉数的遍历主要分为三种,先序遍历是常用的遍历方式,主要分为递归方式和非递归方式。即广度优先和深度优先下面先来看第一种:递归方式public class Solution { public int[] preorderTraversal (TreeNode root) { if(root==null){ return new int[0]; } List<Integer> list
2022-04-05 16:02:16
1390
转载 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
6488
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
1160
2
原创 Elasticsearch 基本数据类型
前言ES包含了众多的数据类型,诸如Text,Keyword,String,date。1.Text支持分词,全文检索,支持模糊、精确查询,不支持聚合,排序操作;test类型的最大支持的字符长度无限制,适合大字段存储; 使用场景:存储全文搜索数据, 例如: 邮箱内容、地址、代码块、博客文章内容等。默认结合standard analyzer(标准解析器)对文本进行分词、倒排索引。默认结合标准分析器进行词命中、词频相关度打分。2.KeyWord1:不进行分词,直接索引,支持模糊、支持精确匹配,
2021-05-26 10:53:34
951
原创 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
197
原创 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
480
原创 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
283
原创 Elasticsearch 7.12 API 文档翻译
Query DSL全文检索全文检索可以让你搜索已被分词的域,例如邮件的正文内容。查询字符串使用索引期间应用于字段的相同分析器处理查询字符串。包含了已下查询方式:区间查询允许对匹配项进行细粒度控制的顺序和接近性的全文查询。根据匹配项的顺序和接近程度返回文档间隔查询使用匹配规则,该规则由一小组定义构成。然后将这些规则应用于指定字段中的术语。定义产生的最小间隔序列跨越了文本主体中的各个术语。这些间隔可以由父源进一步合并和过滤样例以下间隔搜索将返回包含以下内容的文档: 最喜欢的食物,没有任何缝隙
2021-04-23 13:32:13
541
原创 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
157
原创 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
262
原创 ES 6.0版本安装启动流程
开始Elasticsearch是一个高度可扩展的开源全文本搜索和分析引擎。 它使您可以快速,近乎实时地存储,搜索和分析大量数据。下载地址https://www.elastic.co/cn/downloads/elasticsearch安装解压tar文件到指定目录,本人的是/usr/local/binES 启动命令为 ./elasticsearch...
2021-04-21 15:28:34
170
转载 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
2358
原创 java shell 脚本
#!/bin/sh# 运行环境export env=test# jar包名称# 用户中心jar包名称export user_jar_name=@project.artifactId@-@project.version@_@current.time@.jarecho ${user_jar_name}#获取进程编号pid=`ps -ef | grep ${user_jar_nam...
2019-12-25 17:39:21
186
原创 springboot-validation 实现API接口入参校验
简介 springboot-validation 是集成了hibernate-validator框架,针对web端的rest接口提供接口入参校验,能够对字段的长度,是否为空进行校验,还可以根据业务的特殊需求,实现自定义的注解校验。maven依赖 <dependency> <groupId>org.springframework.boo...
2019-08-09 13:24:04
1342
原创 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
196
原创 springboot加shiro用户认证集成
1、简介shiro是由apache基金会旗下的强大的安全校验框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,从最小的移动应用程序到最大的网络和企业应用程序。本博客展示一个用户认证的demo,看看用shiro怎么来做用户认证的。2、maven依赖这里的sprigboot的版本是2.1.6.RELEASE <dependency> &...
2019-08-04 21:37:53
141
原创 java lamdba表达式 list 过滤排序分页使用
jdk1.8提供了Stream 类,极大的方便了开发者使用集合类,大大简化了代码。下面就是一个通过Stream 提供的filter以及sorted对集合列表进行过滤和排序。 List<ServiceOrderingViewDTO> list1 = result.getServiceOrderingViewDTOList().stream...
2019-07-12 09:20:28
970
原创 Redis 分布式锁的正确使用方式
随着业务越来越复杂,应用服务都会朝着分布式、集群方向部署,而分布式CAP原则告诉我们,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。很多场景下,需要通过分布式事务或者是分布式锁来保证数据的最终一致性。分布式锁的实现方式主要有三种,基于数据库的分布式锁基于Zookeeper的分布式锁基于Redi...
2019-06-05 15:24:25
1829
原创 spring AOP:@AfterReturning 发送用户通知
前言spring aop提供了丰富的切面功能,包括了环绕通知、提前通知、结束通知等,能够满足不同的业务场景,有时候需要在方法成功执行完成之后才提供切面通知。注解@AfterReturning 就能够很好的实现这个功能。具体实现首先需要一个AOP的切面方法。import java.lang.reflect.Method;import java.util.Date;import or...
2019-01-23 11:01:16
1726
原创 Mybatis 的mapper接口方法介绍及使用详解
mybatis 的mapper接口提供了增、删、改、查的方法。避免过多使用xml来直接写sql。Examle 类的使用Example examle = new Example();example.setOrderByClause(&quot;字段名 asc,字段名 desc&quot;);example.setDistinct(false);//去除重复,boolean 型,true 为选择不重复的记录。 ...
2018-12-27 16:24:51
4567
原创 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
3116
原创 Java8 lambda表达式实现去重的两种方式
java8 Stream提供了对List 做简单去重的处理,通过调用distinct方法,可以实现对类型Integer、Long、Char 等基本类型以及String类型的去重,但是无法对自定义对象进行去重处理。...
2018-12-26 16:50:19
4713
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
3903
原创 操作系统习题以及答案
1、缺页中断和普通中断有什么区别一般中断只需要保护现场然后就直接跳到需及时处理的地方。缺页中断除了保护现场之外,还要判断内存中是否有足够的空间存储所需的页或段,然后再把所需页调进来再使用。2、动态链接库的优点节省内存并减少页面交换。DLL文件与EXE文件独立,提高扩展性和可维护性。跨语言支持。开发独立,耦合度小。节约磁盘。3、单缓冲的情况下,数据的处理时间计算:要完成整个操作,...
2018-11-05 21:58:37
2172
原创 java8 lambda使用汇总
从java8出现以来lambda是最重要的特性之一,它可以让我们用简洁流畅的代码完成一个功能。 很长一段时间java被吐槽是冗余和缺乏函数式编程能力的语言,随着函数式编程的流行java8种也引入了 这种编程风格。在此之前我们都在写匿名内部类干这些事,但有时候这不是好的做法,本文中将介绍和使用lambda, 带你体验函数式编程的魔力。lambda表达式语法结构:在lambda表达式中,通过如下...
2018-10-29 17:04:13
2835
转载 SQL 优化策略
1、SQL语句尽量用大写的;因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。2、使用表的别名: 当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。这样一来,就可以减少解析的时间并减少那些由列歧义引起的语法错误。3、选择最有效率的表名顺序(只在基于规则的优化器(RBO)中有效): ORACLE 的解析器按照从右到左的顺序处理FROM...
2018-08-15 22:04:00
697
原创 SpringCloud 构建统一配置中心
近几年,微服务概念大火,随之基于SpringBoot 基础上近一步提供微服务基础框架的springCloud也随之大火起来。提供了一整套的微服务处理框架,包括服务注册与发现,统一配置中心、负载均衡等等。最近因为工作不是很忙,利用空闲的时间,做了一个关于SpringCloud的统一配置中心来做练习。1、新建一个Maven工程(直接创建springBoot也可以)。 其中,con...
2018-04-09 13:54:38
1690
原创 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
638
原创 编辑器Atom 常用插件以及快捷键汇总
Atom是一款非常好用的前端开发编辑器,集成了很多的插件。开箱即用。下面是平时所用的一些插件和编辑器快捷键的汇总。Atom 插件 1.atom-beautify 代码格式化插件。格式化快捷键为 ctrl+B2.atom-html-preview Atom编辑器内实时预览的工具 快捷键为 CTRL + F123.atom-react-autocomplete 项目内,组件名及状态...
2018-02-23 15:04:52
653
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人