- 博客(95)
- 资源 (12)
- 问答 (10)
- 收藏
- 关注
原创 【ElasticSearch】RestHighLevelClient方式对ES进行操作(三)
使用 RestHighLevelClient 对ES进行操作(三)目录使用 RestHighLevelClient 对ES进行操作(三)环境准备0 查询所有1 等值查询 =2 多值查询 in3 范围查询4 模糊查询5 通配符模糊查询6 统计查询(最大、最小、平均、求和)7 去重8 分组聚合9 分组排序10 多值分组聚合上文【ElasticSearch】spring-data方式操作elasticsearch(一) 的延续环境准备1.添加依赖<!-- 添加 elasticsearc.
2022-03-27 15:10:55 2625
原创 【ElasticSearch】spring-data方式对ES进行聚合操作(二)
Spring-Data方式对ES进行分组聚合操作上文【ElasticSearch】spring-data方式操作elasticsearch(一)进阶1.10 搜索-分组@Testpublic void searchAggr() { NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder() .addAggregation(AggregationBuilders.terms("ageC.
2022-03-24 22:13:15 4307
原创 【ElasticSearch】spring-data方式操作elasticsearch(一)
目录一、使用spring-data方式进行操作elasticsearch1.1 新增1.2 查询-所有1.3 查询-排序1.4 分页查询1.5 搜索-等值查询-Term1.6 搜索-多条件1.7 搜索-范围查询1.8 搜索-分页1.9 搜索-组合查询-特定输出字段一、使用spring-data方式进行操作elasticsearch1.添加依赖<!-- 添加 elasticsearch 客户端 --><dependency> <groupId>org.s
2022-03-20 22:50:55 5088 2
原创 《SpringCloud微服务 三》之 Feign 通信工具
《SpringCloud微服务 三》之 Feign 通信工具目录《SpringCloud微服务 三》之 Feign 通信工具三、feign的使用三、feign的使用在微服务下,用于多应用之间进行通信(各个应用需要注册到服务注册中心,方便查找各个应用的地址 HOST \ IP等)其实跟 httpclient、RestTemplate等都是一类的,用于调用接口HTTP通信工具feign可以像本地调用方法一样调用远程服务接口1.添加依赖<dependency> <
2022-03-09 19:38:52 6625
原创 《SpringCloud微服务 六》之 Zuul 网关路由
《SpringCloud微服务 六》之 Zuul 网关路由目录《SpringCloud微服务 六》之 Zuul 网关路由六、Zuul网关路由6.1 配置服务路由6.1.1 URL路径匹配方式6.1.2 服务ID匹配方式6.1.3 默认读取eureka进行路由6.2 自定义过滤器6.2.1 自定义权限token校验过滤器六、Zuul网关路由Zuul是netflix组的一个子项目之前学习了spring cloud提供给微服务系统的服务注册与发现、配置中心统一管理、断路器、负载均衡、服务间通信工具等
2022-03-06 20:54:41 1150
原创 《SpringCloud微服务 二》之 Spring Cloud Config 配置中心
《SpringCloud微服务 二》之 Spring Cloud Config 配置中心目录《SpringCloud微服务 二》之 Spring Cloud Config 配置中心二、spring cloud config 配置中心2.1 config 服务端2.2 config 客户端二、spring cloud config 配置中心在微服务中,各个应用各自配置维护是个麻烦事,config配置中心是统一管理各个应用配置,方便统一2.1 config 服务端第一步:创建一个git仓库专
2022-03-03 18:23:59 518
原创 《SpringCloud微服务 一》之 Eureka 服务注册中心
《SpringCloud微服务 一》之 Eureka 服务注册中心目录《SpringCloud微服务 一》之 Eureka 服务注册中心一、Eureka 服务注册中心1.1 eureka 服务端1.2 eureka 客户端一、Eureka 服务注册中心工程 spring-cloud-learn-eurekaeureka 注册中心1.1 eureka 服务端第一步:引入 eureka 服务端依赖: pom.xml<dependency> <groupId>o
2022-03-02 21:00:26 505
原创 《SpringCloud微服务 四》之 Ribbon 负载均衡
《SpringCloud微服务 四》之 Ribbon 负载均衡目录《SpringCloud微服务 四》之 Ribbon 负载均衡四、ribbon 负载均衡4.1 负载均衡策略4.2 自定义负载均衡策略四、ribbon 负载均衡Ribbon是一个客户端的负载均衡器,它决定选择哪一台机器来调用远程服务,对于多应用实例1.添加依赖<dependency> <groupId>org.springframework.cloud</groupId>
2022-02-27 13:29:35 434
原创 使用TreeSet把对象数组按某些字段自定义去重
使用TreeSet把对象数组按某些字段自定义去重// 模拟数据List<LogBean> logList = new ArrayList<>();logList.add(LogBean.builder().id(100).appType("抖音").desc("应用日志").createTm(LocalDate.parse("2021-12-12", DateTimeFormatter.ofPattern("yyyy-MM-dd"))).build());logList.
2022-02-26 14:40:02 616
原创 《SpringCloud微服务 五》之 Hystrix 熔断器
《SpringCloud微服务 五》之 Hystrix 熔断器目录《SpringCloud微服务 五》之 Hystrix 熔断器五、Hystrix 熔断器5.1 单独使用hystrix断路器5.2 在feign中使用hystrix5.3 hystrix在feign里统一处理异常五、Hystrix 熔断器Hystrix是一个断路器,它将服务调用进行隔离,用快速失败来代替排队,阻止级联调用失败。它的目的是不让服务挂掉防止 A->B->C 服务调用,C服务不可用时,A、B服务都不可
2022-02-26 14:25:29 516
原创 MyBatis中的insert\update\delete标签中批量执行多条SQL
MyBatis中的insert\update\delete标签中批量执行多条SQLmybatis原则上是不能够一次批量执行多条SQL语句,比如新增、删除、更新等,但是修改jdbc url连接带参数可以实现相同效果 allowMultiQueries 是否允许一条SQL语句包含多个执行SQL以分号;分隔,批量更新,批量删除,批量新增,批量修改
2021-11-03 20:17:18 5102
原创 【redis】Redis中的队列list实现秒杀活动抢购
Redis中的队列list实现秒杀活动抢购目录Redis中的队列list实现秒杀活动抢购1. 引入redis客户端maven依赖2. 定义抢购商品实体类3. 定义模拟用户抢购线程类4. 实现秒杀抢购活动主类5. 秒杀抢购活动结果redis中的数据结构list中 rpush | lpop | lpush | rpop 实现队列的先进先出的特性lpush:左边入队列,存入秒杀活动的商品rpop:右边出队列,获取抢到的商品1. 引入redis客户端maven依赖<!-- java
2021-10-26 20:36:06 1481
原创 【分布式】搭建springboot + mybatis-plus + druid + sharding-jdbc实现分库分表
【分布式】sharding-jdbc实现分库分表目录【分布式】sharding-jdbc实现分库分表1. 简介2. 数据库准备2.1 创建数据库test2.2 创建数据库订单表order3. 搭建springboot+mybatis-plus+sharding-jdbc+druid工程3.1 引入maven依赖3.2 实体类3.3 mapper层(mybatis-plus)3.4 启动类4. sharding-jdbc配置单库分表4.1 application.yml详细配置单库分表4.2 测试单库分表
2021-10-23 14:31:43 1079
原创 SpringBoot集成Mybatis-Plus框架
SpringBoot集成Mybatis-Plus框架MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。具体可以参考MyBatis-Plus官网:MyBatis-Plus官网目录SpringBoot集成Mybatis-Plus框架环境数据库表Java实体类 UserInfoapplication.yml 主配置编写mapper主启动类CRUD操作新增查询删除更新环境Java1.8mavensp
2021-10-13 21:29:05 494
原创 【错误集】sharding-jdbc-4.1.1版本启动时报数据源错误问题
sharding-jdbc-4.1.1版本启动数据源报错问题,现象:springboot搭建sharding-jdbc实现分库分表时报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class
2021-10-11 20:16:58 10466 4
原创 mybatis 中对元数据的操作
mybatis 中对元数据的操作目录mybatis 中对元数据的操作1. 使用MySQL内部数据库information_schema表查询实现1.1 MySQL内部字段表 information_schema.COLUMNS1.2 mybatis的mapper.xml文件1.3 mybatis服务层1.4 输出结果2. 使用jdbc方式获取元数据2.1 使用原生jdbc获取元数据2.1.1 原生JDBC2.1.2 DatabaseMetaData.getColumns2.2 mybatis采用JDBC
2021-10-06 11:30:52 2247 1
原创 本地项目同时提交到GitHub和码云gitee上管理
本地项目同时提交到GitHub和码云gitee上管理由于GitHub很慢,码云gitee相对于比较快,所以有时候就需要:本地项目同时提交到GitHub和码云gitee上管理管理多个仓库有时候会遇到 码云gitee 或者 GitHub上面已经有项目了,想在另一个仓库也管理起来的情况第一步:首先克隆远程仓库已有的项目到本地(若是本地已经有了,则跳过这一步)# 克隆项目到本地(这儿拿我的一个项目 spring-boot-learn 做演示)git clone https://github.co
2021-09-05 10:08:14 187
原创 MySQL 单表 备份&还原
MySQL备份&还原单表目录MySQL备份&还原单表1. 备份2. 还原场景:上线操作之前,都会对原始实际表进行备份,然后进行业务数据库表操作,若是不想影响到线上的数据库表数据,则需要进行 备份,然后出现问题时进行还原等操作1. 备份方式一:-- 删除备份表 (防止已经备份、可重复执行脚本)DROP TABLE IF EXISTS back_student_20210903 ;-- 创建备份表,数据来源与 studentCREATE TABLE back_stu
2021-09-03 18:54:35 2375
原创 Github ssh key 解决提交后push频繁输入用户名和密码
Github ssh key 解决提交后push频繁输入用户名和密码目录Github ssh key 解决提交后push频繁输入用户名和密码1. 问题现象2. 原因3. 解决办法:把https方式换成 SSH方式3.1 GitHub配置 SSH key3.2 修改克隆方式Https改为SSH方式1. 问题现象在git-bash提交代码时,每一次提交后,push都需要输入用户名密码?2. 原因在克隆项目源的时候使用的是 https方式比如:git clone https://gith
2021-08-22 21:41:23 264 3
原创 Java同步工具类:CountDownLatch\CyclicBarrier\Semaphore
CountDownLatch :允许一个或多个线程等待其他线程完成操作CyclicBarrier:同步屏障,它要做是事情就是让一组线程到达一个屏障(也可以叫同步)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。Semaphore :信号量,只有拿到了信号量,才能执行,执行完后,归还信号量,没有拿到需要等待
2021-07-01 14:50:52 210
原创 Java基础:实现Bean转Map
Java Bean 转 Map目录Java Bean 转 Map1、Apache commons-beanutils 方式2、Fastjson 方式3、Spring Cglib 方式4、Java 内省机制 的 方式项目中经常遇到需要实现 Java bean转Map,比如:调用第三方接口传参等总结了几种方式实现:apache commons-beanutils 方式fastjson 方式spring cglib 方式java 内省机制 的 方式1、Apache commons-be
2021-06-29 15:44:06 12119
原创 源码分析:SpringBoot自动装载机制
Spring boot 自动装载机制目录Spring boot 自动装载机制自动装载实现首先定义一个类定义一个配置类定义ImportSelector的实现类定义配置注解主类@EnableAutoConfigurationAutoConfigurationImportSelector@Import自动装载机制的原理:当在@Configuration修饰的类上使用**@Import注解,@Import引入了一个实现了ImportSelector接口的实现类,此类会执行selectImports**方法
2021-06-17 19:46:25 353
原创 Java实现对已有的PDF添加页码 加 总页码(二)
Java实现对已有的PDF添加页码 加 总页码上一篇文章已经写了《Java实现对已有的PDF添加页码》有看过上一篇文章的读者,问如何添加总页码的问题,这次是对上一篇的文章的一个补充,加 总页码1.思路其实思路很简单,对PDF添加页码是采用新生成一个PDF文件,对源PDF文件一页一页的复制后触发页码监听器,我们可以在添加页码监听器时,传入源PDF文件的总页码// 读取 源PDF文件,进行一页一页复制,才能触发 添加页码的 页面监听事件PdfReader reader = new PdfR
2021-06-06 11:30:26 1990 1
原创 算法题 - 求数组的子集合
求数组的子集合记录面试算法题,便于回顾题目一:给出一个数组 list = [1,2,3,4,5,6]求此数组的所有子集合输出:[1],[1,2],[1,2,3]…题目二:给出一个数组 list = [1,2,3,4,5,6]求此数组的所有子集合中和为6的子集输出:[6,[2,4],[1,5],[1,2,3]解题思路:方式一:递归方式二:全排列方式方式一:递归算法package com.tianya.java.algorithm;import java.util.
2021-06-05 11:07:34 3253 3
原创 算法题 - 最低分数线问题
最低分数线问题记录面试算法题,便于回顾问题描述题目: 某比赛已经进入了淘汰赛阶段,已知共有n名选手参与了此阶段比赛,他们的得分分别是a_1,a_2….a_n,小美作为比赛的裁判希望设定一个分数线m,使得所有分数大于m的选手晋级,其他人淘汰。 但是为了保护粉丝脆弱的心脏,小美希望晋级和淘汰的人数均在[x,y]之间。 显然这个m有可能是不存在的,也有可能存在多个m,如果不存在,请你输出-1,如果存在多个,请你输出符合条件的最低的分数线。输入:n x y n个选手的得分输出:
2021-06-01 20:08:21 609
原创 Java中注解
Java中注解目录Java中注解使用语法元注解完整注解反射API使用语法采用@符合 和 interface 添加到注解名称前面,跟定义接口类似简单定义一个 名称叫 NotAuth 的注解public @interface NotAuth { // 内容 参数等}但是这个注解不完整,需要添加一些描述,称为 元注解元注解描述注解的注解称为元注解Java内置的元注解有四种:@Target 目标,表示该注解运用到什么地方,作用到的目标类型(常用类型枚举:java.lang.
2021-05-27 21:45:09 330 3
原创 二叉树的前中后序遍历
二叉树的遍历二叉树的遍历口诀:前序遍历:根左右中序遍历:左根右后序遍历:左右根前序遍历:ABDEGCF中序遍历:DBGEACF后序遍历:DGEBFCA经常会遇到给出其中两个遍历顺序求出另一个顺序题?解题思路:(1)前序遍历第一个节点为根节点(2)中序遍历特性中间为根,左侧为左子树,右侧为右子树(3)后序遍历最后一个节点为根节点比如:前序:ABDEC中序:DBEAC求后序?解:第一步:根据前序遍历第一个节点为根节点得知,A为根第二步:根
2021-05-18 22:20:19 1351
原创 Java基础积累:序列化
Java序列化目录Java序列化方式一:Serializable工具类待序列化对象实现接口:Serializable操作方式二:Externalizable待序列化对象实现接口:Externalizable操作两种方式对比序列化:Java中一种机制,序列化(serialization)就是把对象的状态信息转换成可以存储或传输的形式的过程,一般写入IO流中,以二进制形式流传。反序列化:则是将序列化好了的对象写入文件后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有
2021-05-17 22:24:23 275 5
原创 各大数据库之间的序列、元数据操作的比较
各大数据库间的比较目录各大数据库间的比较1. PostgreSQL1.1 序列1.1.1 查询下一个序列值1.1.2 查询当前序列值1.2 元数据操作1.2.1 查询所有的表1.2.2 查询表所有字段2. MySQL2.1 序列2.1.1 创建序列表2.1.2 创建函数获取当前序列值2.1.3 创建函数获取下一个序列值2.2 元数据操作2.2.1 获取所有表名2.2.2 获取表所有字段3. Oracle3.1 序列3.1.1 查询下一个序列值3.1.2 查询当前序列值3.2 元数据操作3.2.1 查询所有
2021-05-08 21:00:19 481 4
原创 Freemarker自动生成JavaBean代码
Freemarker自动生成JavaBean代码目录Freemarker自动生成JavaBean代码1. 导入freemarker依赖2. 编写生成Java类所需要的描述3. 编写描述Bean的属性类4. 制定生成Java类的模板5. 测试生成Java类6. 生成Java类效果项目中经常会遇到根据数据库表,编写Java bean,一旦表多,字段多,就很麻烦,所以需要自动生成代码学习使用freemarker模板语言来自动生成代码1. 导入freemarker依赖pom.xml<!-- spr
2021-05-05 10:38:06 1391 1
原创 SpringBoot集成Freemarker,并使用API生成word文件
Spring Boot 集成 Freemarkerspring boot 集成 freemarker 的简单使用使用freemarker生成word文件目录Spring Boot 集成 Freemarker1. spring boot集成freemarker1.1 添加依赖1.2 配置freemarker1.3 控制器访问页面1.4 页面1.5 访问请求2. freemarker实现生成word文件2.1 制作word模板2.2 word模板转xml文件2.3 XML文件转freemarker模板文件
2021-05-04 11:38:09 1051 3
原创 Spring Boot 集成 JSP
Spring Boot 集成 JSP目录Spring Boot 集成 JSP第一步:添加依赖第二步:主配置application.yml文件第三步:编写控制器第四步:新建JSP文件第一步:添加依赖<!-- spring boot web --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-we
2021-04-30 14:58:05 731 1
原创 Java实现对PDF文件添加水印
Java实现对PDF文件添加水印目录Java实现对PDF文件添加水印导入依赖工具方法效果最近项目中遇到对PDF添加水印,实现有多种,采取的是itextpdf导入依赖<!-- 对PDF文件的操作 --><dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.1
2021-04-29 22:24:22 8591 3
原创 基础知识积累:缓存/缓存穿透/击穿/雪崩/预热/热备
1、缓存目录1、缓存1.1、缓存穿透1.2、缓存击穿1.3、缓存雪崩1.4、缓存预热1.5、缓存热备1.1、缓存穿透缓存穿透是说收到一个请求,但是该请求缓存中不存在,只能去数据库中查询,然后放进缓存。但当有好多请求同时访问同一个数据时,业务系统把这些请求全发到了数据库;或者恶意构造一个逻辑上不存在的数据,然后大量发送这个请求,这样每次都会被发送到数据库,最终导致数据库挂掉。【解决的办法】对于恶意访问,一种思路是先做校验,对恶意数据直接过滤掉,不要发送至数据库层;第二种思路是缓存空结果,就是对查
2021-04-27 21:55:39 184
原创 解决在AOP内获取了对请求流操作后报流已经关闭的错误
解决在AOP内获取了对请求流操作后报流已经关闭错误的问题目录解决在AOP内获取了对请求流操作后报流已经关闭错误的问题问题现象解决办法问题现象现象:在AOP中,获取了请求参数,使用了请求流体内容后,报错:java.io.IOException: Stream closedjava.io.IOException: Stream closed at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:359) ~[tomcat-
2021-04-27 21:32:36 2185 4
原创 Java积累:volatile 和 synchronized
volatileVolatile用来对共享变量的访问进行同步。上一次写入操作的结果对下一次读取操作是肯定可见的。 在写入volatile变量值后,CPU缓存中的内容会被写回主存中;在读取volatile变量时,CPU缓存中的对应内容会被置为失效状态,重新从主存中读取。 将变量声明为volatile相当于单个变量的读取和写入添加了同步操作。但是volatile在使用时不需要利用锁机制,因此性能要优于synchronized关键词。 Volatile的主要作用是确保对一个变量的修改被正确地传播到其
2021-04-20 21:48:46 231
原创 Java 8 新的日期时间操作API
新的日期时间API,这儿只是些常用的API,剩下的操作其实有很多,JDK给我们提供了非常丰富的API操作,使其更加方便,更加灵活。包括:新老日期时间之间的转换如:date 和 LocalDateTime、LocalTime、LocalDate、Instant 直接的转换
2021-04-18 22:45:32 692 2
原创 Java基础积累:阻塞队列
队列目录队列阻塞队列**常用方法****常用队列****实现原理**阻塞队列阻塞队列(BlockingQueue)是一个支持如下两个附加操作的队列。**A、支持阻塞的插入方法:**意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满**B、支持阻塞的移除方法:**意思是在队列为空时,获取元素的线程会等待,直到队列为空常用方法满/空时抛出异常返回特殊值一直阻塞超时退出插入方法add(e)offer(e)put(e)offer(e,time,unit)
2021-04-17 21:09:19 462 4
原创 spring security配置错误:Can‘t configure antMatchers after anyRequest
Can’t configure antMatchers after anyRequest目录Can't configure antMatchers after anyRequest报错现象解决办法报错现象配置spring security时,报错如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in
2021-04-17 20:56:18 5318
dltk-R-5.10-201808292040和net.sourceforge.shelled-site-2.0.3.zip
2020-01-15
win-bash和unxUpdate和unxUtils.zip
2020-01-13
Nginx教程从入门到精通
2017-08-22
redisclient 官方版下载
2017-08-22
redis-desktop-manager
2017-08-22
c语言版贪吃蛇,使用链表的运用操作
2014-11-04
java 中如何实现大文件分成小文件,且内容不丢失
2018-01-10
如何用Java来实现优先级队列,实现文件读写时,定时定量的输出
2017-12-02
虚拟机中Ubuntu下安装了Nginx,在本地无法访问
2017-06-22
springMVC返回视图名时多加了一个控制器类上的requestMapping的名字
2017-05-28
websocket发送图片的二进制内容过长,该怎么办呢?
2017-05-02
使用spring+springMVC+JSP页面,想做一个技术问答类型的讨论区
2017-04-07
java中如何按照数字大小来排序获取文件夹内的文件名
2017-03-30
如何在HTML5页面中展示上传的PPT文档/或者JSP页面
2017-03-29
mybatis中级联查询后如何处理两个表的相同字段
2017-03-24
Junit4.9 + jdk1.6 运行test测试时出错
2017-03-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人