自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 重试机制 Retry

1、重试1.1 重试作用对于重试是有场景限制的,不是什么场景都适合重试,比如参数校验不合法、写操作等(要考虑写是否幂等)都不适合重试。远程调用超时、网络突然中断可以重试。在微服务治理框架中,通常都有自己的重试与超时配置,比如dubbo可以设置retries=1、timeout=500,表示调用失败只重试1次,超过500ms调用仍未返回,则调用失败。外部 RPC 调用,或者数据入库等操作,如果一次操作失败,可以进行多次重试,提高调用成功的可能性。2、重试的三种方法2.1 java retry2.

2021-08-26 13:41:36 27766

原创 网络的透传

1、透传1.1 定义透传即是透明传送,即传送网络无论传输业务如何,只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。我们将上层的数据以buf的形式经过底层模块去传送,底层只保证将这段buf传出去,而不关心buf中具体是什么样的数据,不用去解析buf中的具体内容。即,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。网络透传:假设有数据s要通过一个网络,这个网络的入口为a,出口为b,数据s到达a处,由a负责对s进行封装,比如s是ip数据

2021-08-26 11:17:59 7380

原创 使用Hibernate Validator进行参数校验

不管是html页面表单提交的对象数据还是和第三方公司进行接口对接,都需要对接收到的数据进行校验(非空、长度、格式等等)。如果使用if一个个进行校验(字段非常多),这是让人崩溃的过程。幸好jdk或hibernate都提供了对object对象的校验,只需加上相应的注解即可。1、导入依赖开发项目的时候想要在POJO字段上使用@NotBlank注解进行字段校验,不知道需要导入什么依赖,后经查需要导入Hibernate-Validator依赖,以此记录<dependencies> <d

2021-08-23 18:16:23 614

转载 Validator 注解使用

Validator 注解使用

2021-08-21 16:39:32 116

原创 Kafka基本原理详解(超详细!)

文章目录一、概念理解(1)产生背景(2)Kafka的特性(3)Kafka应用场景(4)Kafka一些重要设计思想二、消息队列通信的模式(1)为什么需要消息队列(2)点对点模式(3)发布订阅模式三、Kafka的架构原理(1)基础架构与名词解释(2)工作流程分析1)发送数据2)保存数据① Partition 结构② Message结构③存储策略3)消费数据一、概念理解Kafka是由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调

2021-08-21 16:06:09 802

转载 MacOS中的Kafka安装、启动、使用

1、安装Kafka打开终端执行brew install kafka2、启动2.1 启动zookeepersudo zkServer start 2.2 启动kafkacd /usr/local/Cellar/kafka/ —到kafka安装目录cd 2.8.0 —(查看kafka版本)cd bin./kafka-server-start /usr/local/etc/kafka/server.properties —前台启动kafka(后台启动 末

2021-08-21 14:02:13 1083

原创 MacOS中的Kafka安装与启动

1、安装Kafka使用brew安装Kafkabrew install kafka安装完之后,会在/usr/local/Cellar目录下生成kafka和zookeeper两个文件夹kafka安装目录与配置文件路径如下所示,Kafka的默认端口号是9092Kafka的集群管理依赖于ZooKeeper,ZooKeeper的默认端口号是2182# kafka安装目录/usr/local/Cellar/kafka/2.8.0​# kafka配置文件目录/usr/local/etc

2021-08-21 13:49:46 1115

转载 mybatis mapper-locations作用

1、mapper-locationsmapper-locations是一个定义mapper接口位置的属性,在xxx.yml或xxx.properties下配置,作用是实现mapper接口配置2、使用场景当mapper接口和mapper接口对应的配置文件在 命名上相同 、所在的路径相同,则mapper-locations可以不用配置,配置也不会生效。如果mapper接口和mapper接口对应的配置文件在命名上不同或所在的路径不同,配置mapper-locations才能实现接口的绑定。实现m

2021-08-19 15:01:34 16280

原创 Postman发送Get和Post请求

在服务器开发过程中,要经常对get、post接口进行测试。get请求,浏览器就可以完成(使用Postman也可以)而post请求浏览器用起来有点麻烦,今天着重介绍一下Postman发送post请求1、使用Postman发起Post请求1.1 下载与安装下载与安装Postman:https://www.getpostman.com/1.2 步骤使用Postman发起POST请求的步骤:选择POST请求方式把url写到这里(一般测本地的话localhost:8080/项目名/xx/

2021-08-18 17:29:24 355 1

转载 报错:This application has no explicit mapping for /error, so you are seeing this as a fallback.

1、报错信息上面这句话大概的意思“这个应用没有明确的映射/错误,所以你才会看到这样一个返回结果”。2、解决方案2.1 Application启动类的位置不对要将Application启动类放在最外侧,这样才会自动加载启动类所在包下及其子包下的所有组件。在这总结确认了目前的三种错误案例。SpringBoot项目的Bean装配是根据Application类所在的包位置从上往下扫描!“Application类”是指SpringBoot项目入口类,这个类的位置很关键:如果Application类

2021-08-17 20:40:59 54499 1

原创 Jackson序列化和反序列化

1、添加maven依赖可行的依赖 <!-- Jackson序列化和反序列化 --><dependency> <groupId>com.dianping.dpsf</groupId> <artifactId>dpsf-net</artifactId> <version>2.10.4.1</version></dependency>在添加依赖的时候碰到过坑,下

2021-08-16 13:37:02 659

原创 Fastjson

1、简介1.1 Fastjson 简介Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。Fastjson 源码地址:https://github.com/alibaba/fastjsonFastjson 中文 Wiki:https://github.com/alibaba/fastjson/wiki/Quick-Start

2021-08-15 16:27:18 629

转载 mybatis之<trim prefix=““ suffix=““ suffixOverrides=““ prefixOverrides=““></trim>

1、< trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""> < /trim>prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。prefixOverrides:指定去除多余的前缀内容2、往购物车表中插入数

2021-08-15 14:10:57 617 1

转载 IDEA快捷键

https://www.cnblogs.com/aashui/p/7657803.html

2021-08-14 17:44:16 82

原创 log4j警告:WARN Please initialize the log4j system properly 的解决方法

1、问题描述2、分析出现这个警告的原因是没有配置log4j.properties文件或者该配置文件在项目目录中的位置不对。对于非Maven项目,log4j.properties文件放在src根目录下。但是对于Maven项目,log4j.properties文件必须放在Resource文件下。在Maven项目中,如下图:在log4j.properties中写入下面的代码log4j.rootLogger=WARN, stdoutlog4j.appender.stdout=org.apach

2021-08-14 15:47:41 4136 1

转载 自动装箱与自动拆箱

1、什么是装箱?什么是拆箱?在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:Integer i = new Integer(10);而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:Integer i = 10;这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:Integer i = 10;

2021-08-12 20:07:58 584

转载 在 Vim 中优雅地查找和替换

vim的四种模式1、查找在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。注意查找回车应当用\n,而替换为回车应当用\r(相当于<CR>)。1.1 大小写敏感查找在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如:/foo\c将会查找所有的"foo

2021-08-12 16:06:40 969 1

转载 Vim的4种模式

1、正常模式(normal)正常模式是使用vim打开文件时的默认模式。无论在哪种模式下,按下Esc键就会进入正常模式。在这个模式下:可以移动光标选中行,复制(ctrl+C)可以增、删x删除光标后的一个字符,nx(n是数字)删除光标后的n个字符,X删除光标前的一个字符,dd剪切光标所在的那一行,ndd剪切光标所在行后的n行p光标所在行开始,向后粘贴已经复制的内容,P光标所在行开始,向前粘贴已经复制的内容yy复制光标所在的行,nyy复制光标所在行后的n行u还原上一次的操作

2021-08-12 15:47:00 3749

转载 IDEA:设置打开多个文件显示在多行tab上

在intellij idea上打开多个文件编辑时如果文件全部显示在同一个tab中,并且隐藏了部分的文件操作就不是很方便,我们可以设置显示出所有的文件文件(file)–> settingsEditor–>General–>Editor tabs不勾选show tabs in single row点击OK,所有的编辑文件都显示出来了,没有折叠任何的java文件了。...

2021-08-11 11:18:43 575

原创 匿名类、匿名函数、函数式接口

1、函数式编程函数是一个数学上的概念,表示一个集合到另一个集合的映射关系,这种关系在编程的时候通过箭头函数 (input)->{expression} 来表示,就是函数式编程箭头的左边表示输入集合右边表示整个函数的结果2、函数式接口函数式接口是只有一个抽象方法的接口,因此使用labmda函数重写方法的前提是该接口中有且仅有一个需要重写的抽象方法通过匿名函数实现通过匿名类实现java的Runnable接口就是一个函数式接口,在Runable接口中只有一个抽象方法(那就是run()

2021-08-09 23:50:47 562

原创 回调函数、钩子函数

1、回调函数1.1 下定义回调函数是一个通过函数指针调用的函数。1.2 好处可以把调用者与被调用者分开。调用者不关心谁是被调用者,它需知道的,只是存在一个具有某种特定原型(如参数个数和类型)、某些限制条件(如返回值为 int )的被调用函数。1.3 例子https://blog.csdn.net/gaohua106/article/details/1034257402、钩子函数2.1 下定义钩子函数实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的

2021-08-05 20:20:49 535

原创 IDEA中报错:Invalid VCS root mapping

1、错误当打开从别的渠道获得的项目代码,用IDEA打开出现 Invalid VCS root mapping The directory ******的错误,出现这种问题如何解决呢,现在小编就告诉大家解决方案:2、分析原因:目录所示的git项目不存在,导致这个报错解决方法:在File-Setting-Version Control选中报红的条目,将其VCS设置为none即可https://www.pianshen.com/article/59001058653/https://blog.

2021-08-05 19:36:29 33021 2

原创 工具类的详解

1、工具类1.1 定义工具类是为了提供一些通用的、某一非业务领域内的公共方法,不需要配套的成员变量,仅仅是作为工具方法被使用。所以将它做成静态方法最合适,不需要实例化,能够获取到方法的定义并调用就行。1.2 不实例化的原因如果要实例化一个工具类,就需要一定的内存空间,工具类提供的是静态方法,通过类就能调用,所以不必浪费内存去实例化工具类对象。1.3 做法Java项目中使用的工具类非常多,比如JDK自己的工具类java.lang.Math、java.util.Collections等都是我们经常用

2021-08-02 17:26:59 14643

原创 thrift-语法

1.什么是thrift thrift是一个软件框架,⽤来进行可扩展且跨语言的服务的开发。它结合了功能强⼤的软件堆栈和代码⽣成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间⽆缝结合的、高效的服务。他是跨语言的、支持多种协议、适用各种应用场景。2.Thrift 的组成(1)类型系统以及 IDL 编译器:负.

2021-08-02 13:20:57 907

转载 运维面试中提到的熔断和降级

1 优化策略如果把缓存和异步看作提高系统的战斗力,那限流和降级就是在防御。作为运维人员有时候太过于注重防守,比如缓存,池化,异步化,负载均衡,消息队列。这一些是为了增加系统的容量。而限流和降级则关心的是一旦达到了系统的瓶颈时候怎么办, 更看重稳定性;2 限流,降级,熔断,隔离限流顾名思义,需要对各个类型的请求设置最高的QPS阈值,若高于设置的阈值则对该请求直接返回,不再调用后续资源(限流需要结合压测,了解系统的最高水位,也是在实际开发中应用最多的一种稳定性保障手段)。各类限流算法:计数

2021-08-01 15:55:35 295

IRFANVIEW支持的功能很多,可以批量转换格式、批量重命名、JPG无损旋转、调整图像大小、调整颜色深度、添加覆盖文字水印

IRFANVIEW支持的功能很多,可以批量转换格式、批量重命名、JPG无损旋转、调整图像大小、调整颜色深度、添加覆盖文字水印

2024-07-15

柯尼卡美能达复印机,使用TCP/IP地址或主机名添加打印机

柯尼卡美能达复印机,使用TCP/IP地址或主机名添加打印机

2024-01-30

内含两个文件,分别加密文件与文件夹 便携单文件无需安装,打开就可以使用

内含两个文件,分别加密文件与文件夹 便携单文件无需安装,打开就可以使用

2023-10-20

KMFtp.exe是FTP的一个设置软件程序,可以让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机

KMFtp.exe是FTP的一个设置软件程序,可以让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机

2023-10-17

柯美ftp扫描设置教程

柯尼卡美能达/震旦的FTP扫描是设置相对比较简单的一种扫描方式,它是在电脑上安装一个FTP扫描软件,固定好电脑IP地址,复印机扫描后直接将文件扫描至电脑的一种数据传送方式,与SMB扫描相比,FTP扫描不需要设置文件夹共享,安装步骤更为便捷,更适合win10系统的电脑。下面我们以柯尼卡美能达C364e为例,详细讲解一下FTP扫描如何设置。

2023-09-11

pandoc与配套的pandoc-crossref

pandoc与配套的pandoc-crossref

2022-04-21

ffmpeg-20191217-bd83191-win64-static.zip

ffmpeg-20191217-bd83191-win64-static.zip

2021-04-07

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

TA关注的人

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