自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 es 模版索引的使用

【代码】es 模版索引的使用。

2023-05-19 16:46:52 355

原创 2022 面试宝典

其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负

2022-07-05 22:38:30 2310

原创 sharding-jdbc入门程序

GitHub仓库地址

2020-09-28 11:00:05 148

原创 一次由于SecureRandom使用不当引起的线程阻塞

问题起因一个对外提供的接口,中间需要调用第三方接口,涉及到三方机密问题,其中使用到了安全随机数之前的写法如下public static String randomCode() { Random r = new Random(); StringBuilder str = new StringBuilder(); for (int i=0;i<6;i++){ ...

2020-05-06 15:24:30 1649

原创 如何在springboot中注册severletFilter

问题起源之前好好的项目突然之间访问不了,在postman测试所有接口都显示AES解密失败,推测可能是请求接口时加入了解密,查看配文件发现多了一个配置xxx.cipher.enabled=true注释写的是启用加密如是就去探究了一下这个加密是如何实现实现发现了这个类,可以看到当配置的值value为true时这个配置类就会生效(@ConditionalOnProperty满足条件时配置类...

2020-04-14 20:59:27 212

原创 docker常用命令

一、CentOS7常用命令https://blog.csdn.net/qq_34916059/article/details/79552397https://blog.csdn.net/qq_40087415/article/details/79367151nohup command & 后台执行某操作tail -200f XXX 查看日志systemctl stop fir...

2020-04-03 15:13:44 320

原创 自定义阻塞队列

自定义阻塞队列这个自定义阻塞队列基本就是jdk阻塞队列的实现public class MyBlockQueue<E> { /** * 锁 保证并发安全 */ private ReentrantLock lock = new ReentrantLock(); /** * 队列元素 */ private fina...

2019-09-25 21:04:32 373

原创 线程池的使用和工作原理

开篇本文将从以下三个方面介绍线程池线程池的七个参数线程的使用自定义一个线程池一个任务提交会经历哪些步骤JDK线程池是如何保证核心线程一直存活的线程池的七个参数java源码/** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * ...

2019-09-24 22:26:59 225

原创 ReentrantLock的实现原理

ReentrantLock的加锁时序图ReentrantLock类图分析的几个问题ReentrantLock是如何实现加锁的当锁被其他线程占用时当前线程是如何处理的带着这两个问题分析一下ReentrantLock加锁过程ReentrantLock的加锁过程很简单就是采用CAS操作将锁标记设置成有锁状态源码如下final void lock() { //当没有线程占用锁资源...

2019-08-04 20:30:17 432

原创 一段代码查看线程状态

DEMOpackage thread;import java.util.concurrent.TimeUnit;public class ThreadStatusDemo { public static void main(String[] args) { new Thread(new Runnable() { public void ru...

2019-07-29 22:02:47 407

原创 责任链设计模式

责任链设计模式概念场景利用责任链设计模式实现责任链设计模式优化结束语概念责任链(chain of responsibility)模式很像异常的捕获和处理,当一个问题发生的时候,当前对象看一下自己是否能够处理,不能的话将问题抛给自己的上级去处理,但是要注意这里的上级不一定指的是继承关系的父类,这点和异常的处理是不一样的。所以可以这样说,当问题不能解决的时候,将问题交给另一个对象去处理,就这样一直...

2019-07-25 23:19:36 172

原创 ThreadLocal

ThreadLocal是什么ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。通常我们在使用jdbc做数据库连接时是需要手动控制事物的,这个时候就要保证数据库连接connection在同一个线程中的唯一性,而connection又不是单...

2019-03-17 18:35:51 156

原创 redis入门学习(比较全面)

一、 安装在centOs下安装redis首先需要安装gcc依赖用于编译解压后的redis就把gcc当成c语言编译器, g++当成c++语言编译器用就是了yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake下载redis压缩包并且解压编译$ wget http://download.redis.io/rele...

2019-02-26 01:21:32 1472

原创 Spring注解式开发(六):五分钟搞定Spring AOP开发

AOP功能AOP(Aspect Oriented Programming):面向切面编程 指在程序运行期间动态的将某段代码切入到指定方法指定位置运行的编程方式进行aop开发时首先要导入spring aop的依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId...

2019-01-20 19:35:38 283

原创 Spring注解式开发(五):属性赋值和自动装配

引言上篇文章介绍 的是spring底层对BeanPostProcessor的使用,今天介绍一下bean属性的赋值和自动装配@Value注解@Value注解可以写直接的数值也可以使用SPEL表达式#{ }$ {}去取配置文件中的值${}去除配置文件中的值在根目录下创建一个person.propertiesZHANSAN.name=false创建配置类@Configuration...

2019-01-13 19:36:13 319

原创 Spring注解式开发(四):Spring底层对BeanPostProcessor的应用

引言上篇文章介绍了BeanPostProcessor的原理,这周加了一周的班,周末静下心来继续spring注解式开发的学习。Spring提供了哪些BeanPostProcessorspring为我们提供了很多BeanPostProcessor,使用开发工具可以看到下图,我们就挑几个介绍一下这只是其中的一部分1.ApplicationContextAwareProcessor的使用Ap...

2019-01-12 15:50:40 307

原创 Spring注解式开发(三):BeanPostProcessor的工作原理

BeanPostProcessor的工作原理本次通过debug的方式追踪BeanPostProcessor的工作原理容器启动时的方法调用栈首先进入 AnnotationConfigApplicationContext方法,也就是创建容器的方法,通过方法的注释可知道该方法是使用给定的配置类创建一个新的AnnotationConfigApplicationContext,并自动刷新上下文/*...

2019-01-06 20:19:53 834

原创 Spring注解式开发(二):组件生命周期

引言上篇文章介绍的是spring注解式开发的组件注入,这篇文章将介绍一个bean组件的生命周期内我们可以对bean组件做什么做什么。使用场景(这里只是举一个简单的例子):可以通过bean的初始化方法来指定数据源的创建也可以通过bean的销毁方法指定数据源的连接关闭也可以通过bean的销毁方法指定数据源的连接关闭1.在@Bean标签中指定初始化和销毁方法在要注入放入bean组件中定义...

2019-01-06 16:11:56 563

原创 Spring注解式开发(一):组件注册

Spring注解式开发(一):组件注册引言使用配置类代替配置文件1.定义一个配置类2. 加载启动Spring配置类使用注解直接注入组件使用@ComponentScan指定Spring要扫描的组件Spring关于组件的其他注解@Scope设置bean是单例还是多例@Lazy懒加载,只针对单例@Conditional 当满足条件时才加载bean到ioc容器@Import注解快速批量注入bean到ioc...

2019-01-05 16:30:45 275

空空如也

空空如也

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

TA关注的人

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