自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(320)
  • 收藏
  • 关注

转载 Maven3种打包方式之一maven-assembly-plugin的使用(SpringBoot部署项目可用)

maven-assembly-plugin

2023-02-24 10:58:59 906

转载 谈谈分布式系统的CAP理论

谈谈分布式系统的CAP理论

2023-02-21 19:06:23 256

转载 对象复制-mapstruct使用的正确姿势

mapStuct使用

2022-11-02 20:28:59 1173 1

原创 一次jmap和mat分析dump文件的实例

内存泄漏1.两个服务器之间互相传输文件的命令:648 ll /home/core -ht 649 cd .ssh 650 ll 651 ssh-keygen 652 ll 653 cat id_rsa.pub 654 exit 655 cd .ssh 656 vi authorized_keys 657 chmod 600 authorized_keys 658 ll 659 cd 660 ll 661 cd log 6

2022-02-23 21:51:54 167

转载 一文学会使用GCeasy——一款超好用的在线分析GC日志的网站

文章目录前言2. 正文2.1 JVM Heap Size2.2 Key Performance Indicators2.3 Interactive Graphs2.4 GC Statistics2.5 Object Stats2.7 Memory Leak原博文,点击这里前言此次的GC分析,用的是ParallelGC的日志JDK1.8可能很多读者都不知道如何打印出程序的GC日志,下面来介绍分别使用IDEA输出GC日志和直接从Tomcat服务器上输出GC日志。其实这两种方式都使用了同样的JVM命令

2022-01-26 19:34:26 2151

转载 Scala的高级篇,Future的使用2

文章目录1. 等待方式:1.1 Await 同步等待1.2 onComplete 异步等待1.3 使用 andThen 强制保证 future 的执行顺序1. 等待方式:1.1 Await 同步等待本文刚才所提到的 Await 是一种同步等待机制,主线程会在有限的时间内等待某个 Future 进行。我们另引入一个包:scala.concurrent.duration._,这样就允许我们使用 2 second 这种方式来表示我们的最大等待时间了(笔者曾经在隐式转换章节中介绍过如何实现它)。Awai

2021-12-25 20:49:09 940

转载 Java 函数式编程案例(函数式接口作为参数和返回值)

文章目录案例1:函数式接口作为参数1. 1 原日志代码1.2 优化的代码案例2:函数式接口作为返回值案例1:函数式接口作为参数1. 1 原日志代码public class Demo01Logger { //只有日志等级为1时,才会打印日志信息 public static void showLog(int level, String massage){ if(level==1){ System.out.println(massage);

2021-12-22 17:23:05 1665 1

转载 java中A继承B,B继承C,new A()对象,B、C中的this属于谁

class C{ public C() { System.out.println("C构造方法"); this.print(); } void print() { System.out.println("这是C中的this调用"); }} class B extends C{ public B() { System.out.println("B构造方法"); this.print(

2021-11-27 21:24:36 321

转载 Thrift网络模型

文章目录前言1. TServer2.TSimpleServer2. 1(二) 使用入门源码分析3.ThreadPoolServer3.1工作流程3.2 使用入门3.3 源码分析3.4 优缺点4. TNonblockingServer4.1 工作流程4.2 使用入门4.3 源码分析4.4 优缺点5.THsHaServer5.1工作流程5.2使用入门5.3 源码分析5.4 优缺点6.TThreadedSelectorServer6.1工作流程6.2使用入门6.3核心代码6.4 AcceptThread源码6.5

2021-11-14 16:26:33 419 1

转载 JAVA两个对象属性合并

import java.lang.reflect.Field; public class CombineBeans { /** * @Title: combineSydwCore * @Description: 该方法是用于相同对象不同属性值的合并,如果两个相同对象中同一属性都有值, * 那么sourceBean中的值会覆盖tagetBean重点的值 * @author: WangLongFei * @date: 2017年12月26日 下午1:53

2021-11-03 23:55:45 2769

转载 LoadingCache的使用 guava cache详细介绍 (缓存)

文章目录1. 生成一个LoadingCache对象参考文章,包含创建的不同的方式1. 生成一个LoadingCache对象参考文章,点击这里 LoadingCache userCache = CacheBuilder.newBuilder() .maximumSize(10000))//设置缓存上线 .expireAfterAccess(10, TimeUnit.MINUTES)//设置时间对象没有被读/写访问则对象从内存中删除

2021-10-10 23:13:49 5892

转载 使用Maven运行Java main的3种方式

文章目录一、从命令行运行二、 在pom.xml中指定某个阶段执行三、 在pom.xml中指定某个配置来执行maven使用exec插件运行java main方法,以下是3种不同的操作方式。一、从命令行运行1、运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成编译。mvn compile2、编译完成后,执行exec运行main方法。不需要传递参数:mvn exec:java -Dexec.mainClass="com.vineetmanohar.mo

2021-09-28 14:17:07 1472

转载 布隆过滤器原理

文章目录测试参考文章,点击这里原博文,点击这里作用嘛就是用来过滤非法key,避免缓存穿透,布隆过滤器用的是位数组,很节省空间,性能也相当好先贴demo后BBpublic class MyBloomFilter { //你的布隆过滤器容量 private static final int DEFAULT_SIZE = 2 << 28; //bit数组,用来存放key private static BitSet bitSet = new BitSet(DEF

2021-08-26 11:28:18 90

转载 MapReduce常见的知识点

文章目录1. 准备部分2. jar包依赖3. Map部分4.Reduce部分5.提交部分6.打包提交原博文,点击这里接下来以一个简单的WordCount为例子,介绍Java版本的MapReduce的程序编写。mapreduce程序主要分三部分:1.map部分,2.reduce部分,3.提交部分。1. 准备部分hadoop中,针对数据类型自成一体,与java的数据类型对应。封装在hadoop.io包中,主要分为基本类型和其它类型。基本数据类型其它类型2. jar包依赖创建一个maven工

2021-08-10 14:52:46 546

转载 sequenceFile读写文件、记录边界、同步点、压缩排序、格式

文章目录sequenceFile读写文件、记录边界、同步点、压缩排序、格式(1)写入数据到文件(2)从文件读取数据(3)其他序列化框架调用方法(4)记录边界和同步点(5)查看序列化文件(6)输出排序后的sequenceFile文件(7)sequenceFile文件格式原博文,点击这里sequenceFile读写文件、记录边界、同步点、压缩排序、格式HDFS和MapReduce是针对大文件优化的存储文本记录,不适合二进制类型的数据。SequenceFile作为小文件的容器,SequenceFile类型将

2021-08-10 10:03:22 649

转载 使用google.gson工具时-JSON(谷歌)的使用

getAsString()方法返回JsonNull异常问题解决概述在使用google.gson工具时,JsonElement的getAsString()方法返回JsonNull异常问题。问题描述使用google.gson工具时经常会使用的就是反序列化功能。比如看下面的一个方法:private static JsonParser parser= new JsonParser();public String parseJsonString(String raw) { JsonElement

2021-07-30 10:39:19 1628

转载 java实现调用http请求的几种常见方式

文章目录一、概述二、 Java调用第三方http接口的方式2.1、通过JDK网络类Java.net.HttpURLConnection2.2 通过apache common封装好的HttpClient2.3 通过Apache封装好的CloseableHttpClient2.4 通过SpringBoot-RestTemplate2.5 通过okhttp参考博文,点击这里一、概述在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范,所以大多数

2021-07-06 21:36:17 510

转载 使用 JSONPath 解析 JSON 完整内容详解

文章目录jsonpath的介绍:jsonpath操作符:函数过滤器运算符Java操作示例另外一个案例:参考博文,点击这里jsonpath的介绍:JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath有许多编程语言,如Javascript,Python和PHP,Java。JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。github上有它的应用:https://github.com/json-path/

2021-07-05 22:06:37 699

转载 Spring Cloud Alibaba 服务容错 Sentinel 入门

原博文,点击这里参考文章,点击这里文章目录2.2 配置文件2.3 BlockException 处理器2.4 DemoController2.5 DemoProviderApplication2.6 简单测试3. 熔断降级3.1 DemoController3.2 简单测试4.1 DemoController4.2 简单测试5. 系统自适应限流5.1 简单测试6. 黑白名单控制6.1 RequestOriginParser6.2 简单测试7. Sentinel 客户端 API7.1 DemoContro

2021-06-16 22:16:16 317

转载 XXL-Job

XXL-Job的参考文章

2021-06-15 20:23:51 92

转载 理解 Spring ApplicationListener(应用已经启动,可以接收请求)

文章目录内置事件ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件处理。如果容器中有一个ApplicationListener Bean,每当ApplicationContext发布ApplicationEvent时,ApplicationListener Bean将自动被触发。这种事件机制都必须需要程序显示的触发。其中spring有一些内置的事件,当完

2021-06-15 16:00:06 418

转载 MyBatis-Plus之多租户架构(Multi-tenancy)——SAAS

文章目录一、什么是多租户二、数据隔离有三种方案Schema的结构:参考博文,点击这里一、什么是多租户多租户技术或称多重租赁技术,简称多租户。是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现

2021-06-15 15:46:13 1605

转载 springboot对条件接口Condition的扩展和使用---2

文章目录1:springboot的基础实现类2:@Conditional注解3:SpringBootCondition抽象类4:@ConditionalOnProperty4.1:定义配置类4.2:定义启动类4.3:源码分析原博文,点击这里写在前面对于Condition的基础使用,可以参考这里。开始学习吧!!!1:springboot的基础实现类类org.springframework.boot.autoconfigure.condition.SpringBootCondition是spring

2021-06-15 09:57:55 274

转载 springboot对条件接口Condition的扩展和使用----1

文章目录1:定义bean类2:测试类3:修改为dev环境4:修改为test环境5:原理分析6:自己定义一个例子6.2:定义MyConditionAnnotation注解6.3:定义Condition实现类MyConditionalImpl6.4:使用@Import注解引入配置类6.5:测试7:spring5默认提供的Condition实现1:定义bean类@Configurationpublic class ProfileTestConfiguration { @Bean @Prof

2021-06-15 09:50:38 328

转载 SpringBoot集成Quartz实现定时任务(转载)

文章目录前言1.关键的API2. 快速集成2.配置QuartzSchedulerConfig(Quartz的config配置类)配置文件quartz.properties3.自定义一个任务Job4.自定义开启关闭任务的管理器类前言Quartz是一个很牛的任务调度框架,通过它我们可以实现诸如:定时活动、延时活动、订单状态延时检测、服务器状态定时检测等,时间调度任务功能。下面我们介绍一下它在SpringBoot中的使用:1.配置Quartz2.静态任务调度3.动态任务调度4.任务调度监听器1

2021-06-02 15:14:02 306

转载 事件驱动(Spring自带的@EventListener)和消息驱动(RabbitMq)

文章目录1.两者的区别:2.Spring下的事件监听的使用:2.1 发布事件2.1 定义事件源2.3 监听事件@EventListener2.4 监听事件时的事务隔离1.两者的区别:消息驱动和事件驱动很类似,都是先有一个事件,然后产生一个相应的消息,再把消息放入消息队列,由需要的项目获取。他们的区别是消息是谁产生的消息驱动:鼠标管自己点击不需要和系统有过多的交互,消息由系统(第三方)循环检测,来捕获并放入消息队列。消息对于点击事件来说是被动产生的,高内聚。事件驱动:鼠标点击产生点击事件后要向系统发送

2021-06-02 11:28:24 3908 1

转载 Orika--更快的bean复制工具

文章目录pom使用原博客,点击这里参考博文,点击这里pom<dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> <version>1.4.2</version><!-- or latest version --></dependency>使用这里假设我

2021-05-29 14:42:40 1036

转载 @Valid和@validated用法与自定义验证注解

文章目录注解:@Valid:@Validated:1、分组2、组序列3、验证多个对象原博客,点击这里注解:参考文章,点击这里@Valid:@Valid注解用于校验,所属包为:javax.validation.Valid。① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Girl类中的属性):@Min(value = 18,message = "未成年禁止入内") private Integer age; ② 其次在controller层的

2021-05-27 10:14:03 2078

转载 Nacos作为配置中心

文章目录pomyml新建配置我的理解:使用参考文章:参考文章1,点击这里pom<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>0.2.0.RELEASE</version></de

2021-05-19 10:16:34 1161

转载 spring-cloud-alibaba之Gateway--服务网关

Spring Cloud GateWay作为Spring Cloud生态系统中的网关,主要是代替Netflix Zuul,不仅提供的路由方式,并且基于Filter链的方式提供了网关的基本的功能。安全,监控,埋点和限流。pomSpringCloud Gateway 使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架,所以需要将spring-boot-starter-web依赖进行去除。...

2021-05-17 09:25:29 356

原创 Spring-cloud-alibaba使用Openfeign进行服务调用

文章目录OpenFeign注解:开启feign使用服务提供方服务消费方实验OpenFeignSpring Cloud在netflix feign的基础上扩展了支持Spring Mvc注释,并通过自动配置为Spring Boot应用程序提供集成。注解:在服务消费方注解 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&gt

2021-05-14 11:49:49 360 2

转载 IDEA中Maven依赖包导入失败报红问题总结最有效8种解决方案

文章目录问题描述:方案1:(本人平时遇到这问题的常规操作)方案2:方案3:方案4:方案5:方案6:原博客,点击这里问题描述:真的,说来话长,这应该是我花最多时间去解决关于Maven依赖包导入的问题,以前粘贴复制导入,自动下载成功了, 这次怎么搞,怎么让他自动下载都还是红红的一片, 花了大半天,各种尝试,只为搏得问题解决!!!真的看着都难受, 但是, 终于, 还是让我搞定了,这次让我汇总所有最有可能解决这依赖问题的方法,下次遇到这种问题, 真的要说再见了 , 话不多开,开货!!!方案1:(本人

2021-05-12 23:09:52 9889 1

转载 Redis 的发布订阅功能

文章目录前言org.springframework.data.redis.listener.Topicorg.springframework.data.redis.listener.RedisMessageListenerContainer原博文,点击这里前言Redis 发布订阅功能的特性消息的发送者与接收者之间通过 channel 绑定:channel 可以是确定的字符串,也可以基于模式匹配客户端可以订阅任意多个 channel发送者发送的消息无法持久化,所以可能会造成消息丢失由于消息无

2021-04-21 16:19:50 451

转载 java8 .stream().map().collect()用法

原博文,点击这里更多API接口,点击这里文章目录1.forEach():2. map():3. filter:4.sorted():5.并行(parallel)程序6.Collectors():mylist.stream() .map(myfunction->{ return item; }).collect(Collectors.toList());说明:steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。1.for

2021-03-31 17:05:56 2003

原创 @ResponseBody和HttpServletResponse之间的区别

文章目录1.两者的区别2.http 请求响应媒体类型一览response.getWriter().write()与out.print()的区别1、使用OutputStream流和PrintWriter流向客户端浏览器输出中文数据1.1使用OutputStream流向浏览器输出中文1.2使用PrintWriter流向浏览器输出中文1、使用OutputStream流和PrintWriter流下载文件2.1使用OutputStream流下载中文文件2.1使用PrintWriter流下载中文文件参考博文,点击这里

2021-03-29 10:26:12 3524

转载 Spring Cloud - 初识 Nacos 以及安装

文章目录Nacos简介是什么:能干嘛:去哪下:各注册中心比较:Nacos简介前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service。是什么:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos:Dynamic Naming and Configuration ServiceNacos就是 注册中心 + 配置中心的组合Nacos = Eureka + Config + Bus能干嘛:替代Eureka做服务注册中心替代Config

2021-03-28 09:55:34 115

转载 Spring Security中动态处理角色和资源的关系(VHR)

文章目录1.创建Hr和HrService2. 自定义FilterInvocationSecurityMetadataSource3. 自定义AccessDecisionManager4.自定义AccessDeniedHandler5. 配置WebSecurityConfig原博文(Github上的项目VHR),点击这里1.创建Hr和HrService首先我们需要创建Hr类,即我们的用户类,该类实现了UserDetails接口,该类的属性如下:public class Hr implements Us

2021-03-23 16:44:38 357

转载 SpringBoot---WebMvcConfigurer详解

文章目录1. 简介2. WebMvcConfigurer接口2.1 addInterceptors:拦截器2.2 addViewControllers:页面跳转2.3 addResourceHandlers:静态资源2.4 configureDefaultServletHandling:默认静态资源处理器2.5 configureViewResolvers:视图解析器2.6 configureContentNegotiation:配置内容裁决的一些参数2.7 addCorsMappings:跨域2.8 co

2021-03-21 10:13:03 159

转载 Spring中获取request的几种方法,及其线程安全性分析

文章目录概述如何测试线程安全性方法1:Controller中加参数方法2:自动注入方法3:基类中自动注入方法4:手动调用方法5:@ModelAttribute方法总结原博文,点击这里概述在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授权信息)、body中的数据等。由于在Spring MVC中,处理请求的Controller、Service等对象都是单例的,因此获取request对象时最

2021-03-08 09:29:35 382

转载 Spring Security 之方法级的安全管控@PreAuthorize

文章目录1. JSR-205 注解2.@Secured 注解3.@PreAuthorize 类型的注解(支持 Spring 表达式)3.1SPEL表达试(bean引用)3.2 @PreAuthorize 表达式1. returnObject 保留名2. 表达式中的 # 号3. 内置表达式有:例子SecurityConfig 配置类BookService 配置类原博文,点击这里默认情况下, Spring Security 并不启用方法级的安全管控. 启用方法级的管控后, 可以针对不同的方法通过注解设置不同

2021-03-07 10:46:27 2711

空空如也

空空如也

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

TA关注的人

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