自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

转载 实现validation注解进行校验枚举值工具类

【代码】实现validation注解进行校验枚举值工具类。

2022-08-24 14:42:37 781 1

原创 全局异常捕获工具类

/ 出现参数校验异常时,只需抛出第一条即可。* 处理Post请求的验证异常。* 处理请求参数格式的验证异常。* 处理Get请求的验证异常。

2022-08-24 14:37:42 317

转载 算法-四种单链表反转方法

算法-链表

2022-06-21 11:13:15 639

转载 RabbitMQ延时队列【一】

RabbitMQ没有延时队列?学会这一招玩转延时队列播报文章计算机java编程2021-03-06 11:45优质科技领域创作者关注什么是延时队列延时队列:顾名思义,是一个用于做消息延时消费的队列。但是它也是一个普通队列,所以它具备普通队列的特性,相比之下,延时的特性就是它最大的特点。所谓的延时就是将我们需要的消息,延迟多久之后被消费。普通队列是即时消费的,延时队列是根据延时时间,多久之后才能消费的。延时队列使用场景订单在十分钟之内未支付则自动取消。会员续费的定时推送用户

2022-05-06 10:53:52 241

转载 JVM中的-Xms -Xmx -XX:newSize -XX:MaxnewSize -Xmn -XX:PermSize -XX:MaxPermSize区别介绍

一、配置参数使用条件在不断重构代码的情况下,仍然不能解决内存溢出的问题(OutOfMemoryError等),这种情况下就需要使用JVM的配置参数对JVM运行时各个区域的内存情况进行相应的分配。二、JVM存储数据的内容的内存分为 ①堆区(Java堆:所有的线程共享该区域):通过new的方式创建的对象(一个类的实例)、数组所占的空间。 注意:1)堆区还细分为新生代(Eden空间、From Survivor空间、To Survivor空间)、老年代(Tenured Gen...

2022-03-28 15:07:00 568

转载 算法-插入排序和希尔排序的比较

1、插入排序(Insertion Sort) 插入排序(Insertion-Sort) 的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。1.1 算法描述一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:步骤1: 从第一..

2022-03-25 11:36:29 847

转载 算法-快速排序

1. hoare版本(左右指针法)思路:1、选出一个key,一般是最左边或是最右边的。2、定义一个begin和一个end,begin从左向右走,end从右向左走。(需要注意的是:若选择最左边的数据作为key,则需要end先走;若选择最右边的数据作为key,则需要bengin先走)。3、在走的过程中,若end遇到小于key的数,则停下,begin开始走,直到begin遇到一个大于key的数时,将begin和right的内容交换,end再次开始走,如此进行下去,直到begin和end最终相遇,此时将相

2022-03-22 17:21:36 140

原创 jenkins针对不同的项目组对用户进行权限分配

因jenkins上存有de(开发)、te(测试)等三个不同环境的项目,同时因为项目需求,需要对不同的开发及测试人员配置不同的jenkins权限,即以项目为单位,对不同人员进行不同权限配置,要求如下:1、项目都以 jenkins 开头,分别以-de、-te 结尾,根据三类结尾可把项目分成开发、测试 项目,同时分别对应不同的项目需求人员;2、开发人员登录jenkins只能查看并构建de项目;3、测试人员登录jenkins只能查看并构建te项目;说明:此文以test用户代表测试人员,对其进行权限分

2022-03-17 15:06:05 1330 2

原创 查看端口被进程占用

步骤一:linux使用netstat或者ifconfig命令时,显示命令未找到。通过yum search netstat这个命令,匹配结果如下:================================= 匹配:netstat ===================bwm-ng.x86_64 : Bandwidth Monitor NGdstat.noarch : Versatile resource statistics toolnet-snmp.x86_64 : A collecti

2022-03-16 15:19:54 11392

转载 数字签名过程

数字签名是什么?1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。5.鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。6.

2022-03-02 14:08:42 621

转载 Spring框架是怎么解决Bean之间的循环依赖的 (转)

问题:  循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:如何理解“依赖”呢,在Spring中有:构造器循环依赖 field属性注入循环依赖直接上代码:构造器循环依赖@Servicepublic class A { public A(B b) { }}@Servicepublic class B { public B(C c) {

2022-01-20 11:21:21 831

转载 ic卡扇区解读

介绍每张IC卡都有16个扇区,包括1个公共区和15个数据区。每个扇区有4个块,每个块占16字节。第0扇区的块0为厂商代码,已经固化。包括芯片序列号UID,ATQA和SAK每个扇区的块3为控制块,用来存放密码和控制权限 ,不能用来存储数据。每个扇区的块0,块1,块2可以用来存储数据(扇区0的块0除外)。块3的前6个字节为KeyA,后6个字节为KeyB。中间的4个字节为存储控制。每个扇区可以通过它包含的密钥A或者密钥B单独加密扇区图 IC卡加解密非加密卡和加密卡的区...

2021-12-22 17:57:24 16864

原创 Java工具-Valid校验异常捕获全局拦截器

mport com.alibaba.fastjson.JSONObject;import com.epro.commons.response.ArgumentCode;import com.epro.commons.response.ResponseResult;import lombok.extern.slf4j.Slf4j;import org.springframework.util.StringUtils;import org.springframework.validation.Bin.

2021-12-14 09:29:02 826

原创 Java工具类-树

一.定义树形结构对象@Datapublic class TreeData<T> implements Serializable { private Long id; @TableField(exist = false) private String name; @TableField(exist = false) private Long pId; @TableField(exist = false) private String

2021-12-14 09:24:27 428

原创 切面、自定义注解的使用

先了解切面和自定义注解的基本概念和使用一、AOP简介AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。二.AOP定义Aspect(切面)Aspe.

2021-11-25 17:38:10 1274

转载 统一异常处理@RestContrllerAdvice,@ExceptionHandler(转载)

统一异常处理@RestContrllerAdvice,@ExceptionHandler(转载)思想很重要统一异常处理实现方式:使用注解@RestContrllerAdvice,@ExceptionHandler先想明白一个问题:定义统一异常处理类之后,是不是在Contrller中就不用捕获异常了。如果出现异常,都会被统一异常处理类处理掉。还是统一异常处理类,只是Controer捕获异常补充,Contrller捕获不到了,它来填补漏洞。下面转载的一篇文章很不错http://blog.cs

2021-11-25 17:34:48 628

转载 微信小程序登录流程+介绍wx.login和auth.code2Session

微信小程序登录流程+介绍wx.login和auth.code2Session几个核心API和核心字段wx.login() 调用接口获取登录凭证(code)code2Session 登录凭证校验,为了获取会话秘钥session_keywx.checkSession() 检查登录态是否过期wx.getSetting() 获取用户的当前设置wx.getUserInfo 获取用户信息,获取之后需要解密数据session_key 会话秘钥,是通过调用接口获取登录凭证获取的,是有时效性的微信小程序登录

2021-11-15 14:23:36 5446

原创 1.Nocas的下载,安装和使用

Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。2.1 Nacos与eureka注册中心对比对比项目\注册中心 Spring Cloud Nacos Spring Cloud Eureka CAP模型 支持AP和CP模型 AP模型 客户端更新服务信息 使用注册+DNS-f+健康检查模式。 DNS-F客户端使用监听模式push/pull拉取更新信息 客户端定时轮询服务端获取其他服务ip信息并对比,相比之下服

2021-10-25 17:39:49 1561

原创 Redis高并发场景出现的问题和解决办法

先看一段代码分析此段代码会发现在高并发的情况下,redis里的商品可能会出现重复扣减的问题。我们一般情况下通常想到的办法是把这块代码块放在synchronized代码块中,这样可以避免并发的问题。但是注意这种办法只适用在单体应用中,而在分布式系统中,由于一个项目部署在多个服务器中,仍然会出现重复扣减的问题。而redis是所有分布式项目的都会调用的系统,所以redis分布式锁能很好的解决这种情况。加上redis分布式锁后我们在来看上面的代码加上了分布式锁,设置了过期时间,并且加上了删除key的

2021-10-18 20:24:20 915

原创 面试题总结

1.如何监听所哟双Spring Boot 微服务?2.SpringCloud主要组件以及作用3.编程题 设计一个生产电脑类和搬运电脑类,要求生产一台电脑就要搬走一台电脑,如果没有新的电脑生产,搬运类要等待新的电脑产出,如果生产出的电脑没有搬走,则等待电脑搬运之后再生产,并统计出生产了多少台电脑。4.过滤器怎么实现,自定义过滤器?5.监听器怎么实现,用的注解、6.线程的声明周期?...

2021-10-18 16:55:49 120

转载 kafka安装

辅导费阿斯蒂芬是

2020-07-28 17:19:43 155

原创 面试题-总结

一.sql注入了解吗,说说怎么防止sql注入?1、普通用户与系统管理员用户的权限要有严格的区分。如果一个普通用户在使用查询语句中嵌入另一个Drop Table语句,那么是否允许执行呢?由于Drop语句关系到数据库的基本对象,故要操作这个语句用户必须有相关的权限。在权限设计中,对于终端用户,即应用软件的使用者,没有必要给他们数据库对象的建立、删除等权限。那么即使在他们使用SQL语句中带有嵌入式的恶意代码,由于其用户权限的限制,这.

2020-06-11 16:41:02 228

原创 Java-Hashcode相关问题

1.Hashcode和equals的区别? Hashcode如果相等的情况下,对象的值不一定相等。equals比较对象的内容相同,hashcode一定相等。2.为什么重写equals一定要重写hashcode?因为遵循hashcode相等的情况下对象的值不一定相等。equals比较对象的内容相同,hashcode一定相等的原则,所以重写equals一定要重写hashcode保证原则不变。3.HashMap和HashTable的区别? 1)线程安全上:HashMap是线程不安全的,H...

2020-06-02 22:54:40 182

转载 JVM

https://blog.csdn.net/qq_41701956/article/details/100074023

2020-05-11 10:37:19 93

原创 十六进制和二进制相互转换(快速转换)

简介:二进制:逢2进1;由0和1组成十六进制:逢16进1,十六进制由0-9,A-F组成与十进制的对应关系0 1 2 3 4 5 6 7 8 9 A B C D E F0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15贴士:十六进制一般会以“0x”开头,或者以“H”结尾。0x是1...

2019-10-23 20:20:06 39107 3

原创 位运算——左移和右移

<<(左移) 1.运算规则: 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 2.语法格式: 需要移位的数字 << 移位的次数 例如: 3 << 2,则是将数字3左移2位 计算过程: 3 << 2 首先把3转换为二进制数字0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最...

2019-10-23 10:05:39 15711 1

转载 算法的时间复杂度

转载自:https://www.cnblogs.com/reposkeeper-wx/p/suan-fa-xi-lie-zhi-liu-suan-fa-shi-jian-fu-za-du-j.html算法的时间复杂度的计算是一个可以无限深入的课题。但是对于程序员来说,能够大概的评估出复杂度就已经足够用了。在算法这个系列之前的几篇文章里,介绍了算法的使用和原理,但是我故意的将复杂度的介绍没有...

2019-10-11 18:07:53 614

转载 设计模式了解

一.什么是设计模式? 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。如果要强行举例子的话,我觉得有点像古代留下的三十六计,什么情况下用什么计谋。什么情况下用什么设计模式一样。二.了解UML类图 简单来说就是描述类之间关系的图。...

2019-09-11 14:49:55 133

原创 java设计模式-观察者模式

一.什么是观察者模式观察者设计模式定义了对象间一对多的组合关系,一个对象发生改变,依赖它的多个对象会收到通知并自动更新二.观察者模式的应用场景1、拍卖的时候,拍卖师观察最高标价,然后通知给其他竞价者竞价。2.节目订阅后,一旦有更新及时推送给订阅者三.观察者模式优点1、观察者和被观察者是抽象耦合的。 2、建立一套触发机制。四.用例图package observe...

2019-05-16 15:09:17 140

转载 java-内省

最近在做一个功能有一个场景:比较两个对象相同属性的值,是否相同。一般做法:获取属性直接调用对象的get方法,然后获取另外一个对象相同属性的值,进行比较。缺点:不利于对象属性的扩展,一旦新增或修改对象的属性,就要重新修改比较的代码。这儿就要引出内省。一.什么是内省内省是java语言对javabean对象的属性,事件的一种缺省方法。 JavaBean是一种特殊的类,主要用于传递数据信息,这...

2019-05-06 16:32:51 240

原创 设计模式——策略模式

一.什么是策略模式? 百度解释:策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。简单来说就是对算法的封装,将每一个算法封装到具有共同接口的独立类中,从而使他们可以相互替换。二.策略模式的原则? 封装变化的原则(主要特点) 针对接口,超类编程而不是针对实现编程 多用组合少用继承三.使用场景?举例子:例子1:出行旅游时候...

2019-04-11 16:31:45 115

翻译 XML解析——Java中XML解析方式DOM4j

参考:https://www.cnblogs.com/longqingyang/p/5577937.html          https://www.cnblogs.com/hongwz/p/5514786.html1.什么是XML?   xml是一种通用的数据交换格式,具有平台无关性,语言无关性,系统无关性,给数据集成带来了极大方便。XML在不同语言中解析方式都是一样的,只是的语法...

2018-12-05 10:37:33 143

原创 面试整理(他人)

1.十六进制转化为二进制需要多少位?8位参考:https://zhidao.baidu.com/question/285581727.html 二进制往左移动一位是原来的几倍?2倍参考:https://baike.baidu.com/item/%E5%B7%A6%E7%A7%BB%E8%BF%90%E7%AE%97%E7%AC%A6/7726536?fr=aladdin2.项目常用到注解参考:ht...

2018-06-14 17:39:21 171

原创 面试

1.Collection和Collections的区别?参考:https://blog.csdn.net/snipergzf/article/details/53368685Collection是提供对集合对象通用的接口,Collections是一个包装类,包含静态多态方法,类似工具类。2.根据对象属性,对集合进行排序参考:https://www.cnblogs.com/lan-writenboo...

2018-06-14 13:21:17 184

原创 面试整理---

1.Thread线程类有哪些方法?String getName()返回该线程的名称void seName(String name) 改变线程名称,使之与参数 name相同,int getPriority()返回线程的优先级,void setPriority(int newPriority) 更改线程的优先级boolean isDaemon()是否为守护线程,void setDeamon(boolean on)将改线程标记我欸守护线程或者用户线程static void sleep(long..

2018-03-12 13:46:27 332 1

原创 总结-Mybatis

    我自己总结了一下重要的Mybatis知识点。因为我老是忘记,记性不是很好。1.#{}和${}的区别是什么?这道题好像是Mybatis经常问到的一题,但是我看完老是忘记。a:#{}相当于jdbc里的PrepareSatatement,在预编译阶段,会被解析为一个参数占位符?,最后的参数都会加上“”号。b:${}替换为变量的值,数据直接显示在sql中c:正因此#{}可以有效的防止sql注入,一...

2018-03-06 16:54:24 188

原创 算法-递归算法

一.什么是递归算法?    递归算法是一种直接或者间接调用自身的算法的过程。二.递归的特点?   1.递归就是在过程或者函数里调用自身。   2. 在使用递归过程中必须有个明确的递归结束条件,成为递归出口   3.递归算法通常很简洁,但递归算法解题的运行效率较低,一般不提倡这种算法   4.在递归调用的过程中系统为每一层的返回点,局部量等开辟栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用...

2018-02-27 17:40:01 966

原创 java基础之反射

一.什么是反射?   百度:java反射机制实在运行状态下,对于任意一个类,都能知道这个类的所有属性和方法;对于任意一个对象,调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言 的反射机制。二.反射应用的场景  1)基础框架,反射是很多java框架的基石。如hibernate框架,spring框架。       在xml文件或者properties里

2018-01-25 17:25:28 213

原创 java中的集合

一.什么是集合? 数组,一旦被定义,长度不能变化。而在实际开发中,我们经常需要保存一些变长的数据集合,需要能动态的保存我们数据。于是就有了集合框架。二.层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口如图:java 中所有的集合类都实现了 Collection接口,它是集合类的根接口Map和collection接口没有直接关系,是相互独立的,但都属于集合类的一部分

2018-01-19 10:17:42 246

原创 java中的Io(二)

Java.IO流类库    java.io包中包含了流式I/O所需要的所有类。在java.io包中有四个基本类:InputStream、OutputStream及Reader、Writer类.一. 字节流InputStream/OutputStream 1.   InputStream 抽象类   InputStream 为字节输入流,它本身为一个抽

2018-01-15 17:45:01 332

GitHub入门与实践

2017-05-04

activityMQ-Demo

JVM -ActivityMQ

2017-04-13

空空如也

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

TA关注的人

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