自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JustryDeng

欢迎大家关注相关公众号【Java你我他】

  • 博客(182)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 基于docker的test-containers环境百宝箱

笔者语录: 我开了个公众号【Java你我他】,欢迎大家关注。  在很多时候,程序猿们更关注代码本身,而不愿意把时间花费在环境搭建上,这也是Docker变得越来越受欢迎的原因之一。test-containe是Docker生态圈中的一颗新星,其 主要针对测试领域、背靠Docker实现环境百宝箱功能。  test-containers: 你要的环境,我都有~  假设我们现在需要一个redis-cluster环境来学习reids pipeline相关的代码知识,那么就需要搭建一套redis集群:环

2020-11-20 16:59:24 37 1

原创 扩展spring之ext-spring-cache

笔者语录: 这几天失眠了,有点焦虑了。  spring cacha提供了基于注解的操作支持,非常方便,但是不够灵活,使用起来不太如意,这就是笔者决定对其进行扩展的出发点。spring-cache核心流程(简述):  要扩展spring-chache,首先就得先了解一下spring-cache的流程,下面这张图描述了spring-cache的最核心的流程。ext-spring-cache实现的扩展概览:支持一级缓存Redis, 使用指定的RedisTemplate操作该缓存。支持一级缓

2020-11-10 05:40:49 34 1

原创 log4j2使用filter过滤日志

笔者语录: 近一段时间感情、事业、家庭都挺闹心,感觉走到人生的转折点了;刚开始以为必须有所舍弃才行,直到读了一本时间&精力相关的书后,才明白过来:合理利用时间,未必不可兼顾,加油打工人。背景说明:  log4j2作为log4j的升级版本,其性能自然是大大优于log4j的,同时其其性能又是优于logback的,甚至在部分领域,log4j2的性能远超logback几个数量级。  log4j2的亮点主要在这几个方法进行体现:异步、并发、配置优化、插件机制等。本文初步学习基于log4j2插件机制的F

2020-11-01 12:38:14 141 1

原创 logback使用filter过滤日志

笔者语录: 我发现我喜欢捣鼓一些小玩意儿,虽然官网(见文末)写得很明白了,但是咱们对感兴趣的部分来敲一遍代码好吧。过滤器简介:简介  logback具有过滤器支持。logbcak允许给日志记录器appender配置一个或多个Filter(或者给整体配置一个或多个TurboFilter),来控制:当满足过滤器指定的条件时,才记录日志(或不满足条件时,拒绝记录日志)。logback支持自定义过滤器,当然logback也自带了一些常用的过滤器,在绝大多数时候,自带的过滤器其实就够用了,一般是不需要自定

2020-08-18 13:02:33 493 3

原创 Fork/Join浅探与使用

声明: 本文部分文字介绍,直接摘录自《精通Java并发编程(第二版)》, 该书写得通俗易懂、且分析相对透彻,推荐阅读,具体信息见文末。声明: 本文不会介绍具体的方法调用API,但是给出CountedCompleter<T>、RecursiveTask<V>、RecursiveAction的简单使用示例。序言: JDK8开始,提供/优化了很多非常好用的并发组件,如parallelStream、CompletableFuture、ForkJoin等,本文初步学习ForkJoin。

2020-07-31 13:45:23 196 1

原创 CompletableFuture

声明: 本文这里只整理说明JDK8中的CompletableFuture, 暂不包含后续版本JDK新增的API方法。方法简述:方法简述runAsync无返回值的异步执行supplyAsync有返回值的异步执行whenComplete(同一个异步线程)消费前面future的异步结果注:无消费返回值、有future返回值。whenCompleteAsync(线程池分配的异步线程)消费前面future的异步结果注:无消费返回值、有future返回值。run

2020-06-20 18:43:31 237 1

原创 代理模式

声明: 本文主要以图片的形式进行说明,具体的代码可自行去文末的链接处下载。代理模式概念:  当一个对象(代理对象)以替身或占位符的形式,来控制程序对另一个对象(源对象)的访问时,就叫代理模式。注:代理对象与被代理对象(即源对象)之间的交互方式有很多,常见得有:组合(代理对象持有源对象)、继承(代理对象继承源对象)、远程调用(代理对象远程调用源对象)等等。注:分类标准不同,分类结果也就不同。如,按照功效分,有保护代理、虚拟代理等;按照实现分,有静态代理、动态代理(JDK动态代理、CGLIB动态代

2020-05-24 23:55:33 296 1

原创 【JSR269实战】之编译时操作AST,修改字节码文件,以实现和lombok类似的功能

笔者日常: 兄弟姐妹们,还是尽量少熬夜啊。我感觉我记性有所下降,难受。需求说明(本文以实现此需求为例进行说明):  现在有一个需求,就是要给枚举类生成一个内部类,这个内部类中以静态常量的形式记录外部枚举类所有枚举项的值,即:编译前是java文件是这样的:(编译时操作AST,)编译后的class文件是这样的:编译时操作AST,修改字节码文件:软硬件环境说明: JDK1.8、Mavne3.6.3、IntelliJ IDEA。项目整体(步骤)说明:第一步:创建一个普通的maven项目

2020-05-17 16:58:04 505 1

原创 Mybatis之一个SQL的运行过程

阅前必读:本文测试项目及相关总结资料,均放置在文末链接处。强烈建议去拽下来,看xmind脑图并结合源码进行理解。本人是先绘制的xmind脑图,然后根据xmind脑图发的此博文,无论是可读性、还是层次感,xmind脑图都由于文字。Mybatis中逻辑很多,而本文重点关注的是Mybatis中SQL相关的逻辑,其余部分会简述或直接略过。本文主要分享的内容是:启动项目时,与SQL相关的逻辑启动项目后,执行CURD方法时,与SQL相关的逻辑六问Mybatis插件文末链接指向的本人的测试项目,是

2020-05-10 01:55:13 481 2

原创 捕获异步线程异常的常用方式

声明: 捕获异步线程异常的方式有很多,本文只介绍(并示例)几种相对常用的方式。捕获异步线程异常的常用方式(结论):开启线程的方式使用线程池的情况捕获异步线程异常的常用方式Thread不使用线程池1. Thread.setDefaultUncaughtExceptionHandler设置默认的线程异常处理器。2. Thread实例.setUncaughtExcepti...

2020-05-01 14:42:38 470 1

原创 Spring Security账号密码认证 + 自定义鉴权(示例)

声明: 本文先演示效果,然后再给出几个相对关键的类;完整测试项目,可详见文末链接。效果演示:说明:张三属于普通用户,能访问一些普通的页面以及/user页。李四属于数据库管理员,能访问一些普通的页面以及/user页、/dba页。王五属于超级管理员,能访问一些普通的页面以及/user页、/dba页、/admin页。演示:普通用户张三:数据库管理员李四:超级管理员王五...

2020-04-09 16:56:21 884 1

原创 使用axios发送请求

声明: 本文主要是照着官网教学自己对部分知识敲了一遍,纯属动手练习,没什么技术含量;更多细节、更多功能可详见https://github.com/axios/axios。axios发送请求的语法:写法一(以get为例):axios({ method: 'get', url: 'https://github.com/axios/axios', data: { ...

2020-04-07 18:13:24 543 7

原创 状态模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例参考该书并发善编写。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。状态模式概念:        允许对象在内部状态改变时改变它的行为,对象看起来就像修改了它的类。即:当一个对...

2020-04-06 18:58:11 117 1

原创 spring-boot-starter的关键、编写示例

笔者语录: 话不多说,直接开干。spring-boot-starter的关键:@SpringBootApplication注解源码是这样的:  @ComponentScan注解的作用是把(@SpringBootApplication所在的)入口类所在的包(及其子包)下的所有被@Component注解(或拓展了@Component的注解)标记了的bean注册到spring容器中。那么,处于...

2020-04-04 21:41:08 208 1

原创 过滤器

声明: 本文主要是照着官网教学自己敲了一遍,纯属动手练习,没什么技术含量。简介:  Vue2.x允许我们自定义过滤器,用来过滤模型数据,在显示之前对数据进行筛选、处理等操作。过滤器可分为全局过滤器和局部(本地)过滤器。注:Vue1.x存在一些内置的过滤器,但是在Vue2.x时,这些内置的过滤器被取消掉了;如果需要使用过滤器,那就只有靠我们自己定义了。自定义全局过滤器:测试代码:&lt...

2020-03-30 11:48:19 137 1

原创 迭代器与组合模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。提示: 迭代器与组合模式直接看文字表述,理解起来不易,建议阅读代码进行理解。背景说明:        ...

2020-03-25 00:50:27 96 1

原创 一个走心的RedisUtil工具类

声明: 本文原型参考自https://github.com/whvcse/RedisUtil,并作了进一步进行整理、修正、拓展。此RedisUtil工具类的功能:直接使用此RedisUtil工具类的所需条件:项目基于SpringBoot。pom.xml中需要引入依赖spring-boot-starter-data-redis。pom.xml中需要引入依赖lombok。pom.xml...

2020-03-16 01:32:48 2131 2

原创 Spring Retry重试组件、Guava Retry重试组件

个人看法: spring-retry更好。软硬件环境: IntelliJ IDEA、SpringBoot2.2.4.RELEASE。Spring的Retry组件:提示: spring-retry的使用方式可分为注解式和编码式,注解式采用代理模式依赖于AOP,而编程式则可以直接调用方法。注解式无疑更优雅,但是使用注解式的时候,要注意避免各个AOP执行顺序差异带来的问题,在这个环节的末尾,会简...

2020-02-27 00:15:19 889 1

翻译 模板

特别声明一: 本文主要学习并整理自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,讲师汤小洋,跳转链接见文末。特别声明二: 本文核心内容全部来自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,本人只是照着视频课程敲了一遍代码,所以本文定义为翻译。模板的概念:        Vue.js使...

2020-02-24 14:07:13 793 1

原创 模板方法模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。模板方法模式概念:        在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得...

2020-02-22 23:06:16 123 1

原创 适配器模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。提示: 适配器模式使用较灵活,本文只是对基本的使用方式进行了简单阐述。适配器模式概念:基本概念:       ...

2020-02-21 16:08:07 138 1

翻译 属性

特别声明一: 本文主要学习并整理自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,讲师汤小洋,跳转链接见文末。特别声明二: 本文核心内容全部来自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,本人只是照着视频课程敲了一遍代码,所以本文定义为翻译。属性:基本用法:使用on-bind:将html标签属性与vue属性绑定起来,可简写为:。示例:使用chrome打开...

2020-01-31 12:02:38 74 1

原创 命令模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。命令模式概念(白话):        现有命令执行者(对象)A,A本身有一大堆可以执行的指令(即:方法)...

2020-01-29 22:13:37 100 1

原创 工厂模式

声明一: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。声明二: 工厂模式使用灵活,在不同的情境下,可能有不同的表现形式。本文的重点在介绍工厂模式,而非使用工厂模式,所以在示例代码中的一些地方作了简化处理,更方便理解。在实际开发应用时,还可对...

2020-01-21 00:34:59 152 1

原创 vue事件

声明: 本文主要是照着官网教学自己敲了一遍,纯属动手练习,没什么技术含量。事件:事件监听(事件绑定):使用v-on:监听事件,v-on:可简写为@。示例:html中的代码:script中的代码:效果演示:事件的处理:简单逻辑可以直接写在指令中,复杂一点的逻辑需要写在方法里。示例:html中的代码:script中的代码:效果演示:事件触发方法时的参数传递...

2020-01-12 15:35:11 170 1

原创 Spring Security入门级使用(示例)

软硬件环境:jdk1.8IntelliJIdeaSpringBoot2.2.1.RELEASESpringSecurity5.2.1RELEASE声明: 本文主要示例入门级SpringSecurity,对其理论知识不作深入分析。准备工作:提供以下API,以供之后的演示。import lombok.extern.slf4j.Slf4j;import org.springfram...

2019-12-22 10:02:56 369 1

原创 Spring Security总体流程、认证流程、鉴权流程浅析

软硬件环境:jdk1.8IntelliJIdeaSpringBoot2.2.1.RELEASESpringSecurity5.2.1RELEASESpring Security总体流程分析:        SpringSecurity框架的FilterChainProxy$VirtualFilterC...

2019-12-15 16:37:37 653 1

原创 装饰者模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。装饰者模式概念:        动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代...

2019-12-04 13:18:30 160 1

翻译 vue基础练习 - 用户管理

特别声明一: 本文主要学习并整理自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,讲师汤小洋,跳转链接见文末。特别声明二: 本文核心内容全部来自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,本人只是照着视频课程敲了一遍代码,并对其中大部分bootstrap样式进行了注释说明。目的说明: 为了巩固前几篇vue博文学习的知识,本文这里做一个小练习。用户管理 - 练习:...

2019-12-02 13:23:55 178 1

原创 SpringBoot之Actuator入门

笔者寄语: 笔者最近去医院检查了一下,脂肪肝,反思了笔者之前的恶习,在这里给广大程序猿朋友们一些建议:少熬夜少久坐,多运动少点外卖,尽量自己做饭        Spring Boot Actuator主要用于监控和度量SpringBoot应用程序。主要有三种观察Actuator信息的方式:Web端点、远...

2019-11-29 14:18:16 431 3

原创 【基础排序】之冒泡排序

虽然很简单,但也要踏踏实实一步一步的进行学习啊!算法评价: 时间复杂度:平方阶。 空间复杂度:常量阶。 稳定性:稳定。 适用数据规模量:小规模。 算法复杂度与数据规模量关系图:算法原理简述(小白可读):冒泡排序的原理:若一个数组中共有n个元素,则一共会比较n-1轮,每一轮又会比较很多次。第一轮, 第一次:第一个数和...

2019-11-25 13:01:44 171 1

原创 事件监听(基于SpringBoot示例)

在实际开发中,业务代码与辅助代码的解耦是一个热点话题,如:通过AOP记录入参出参、使用事件监听记录错误信息等是一个不错的选择。概述:        事件的发布与监听从属于观察者模式;和MQ相比,事件的发布与监听偏向于处理“体系内”的某些逻辑。事件的发布与监听总体分为以下几个步骤:步骤相关事宜...

2019-11-25 12:57:17 290 1

原创 vue常用指令

声明一: 这里列出的只是一些常用的指令,更多指令、更多细节可参考vue中文官网。声明二: 本文主要学习并整理自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,讲师汤小洋,跳转链接见文末。vue常用指令:v-model:双向数据绑定(即:将vue实例的数据属性值与html元素的值进行绑定,一起发生变化),一般用于表单元素。示例:html中是这样:js中是这样的:效果...

2019-11-10 18:32:55 422 1

原创 【jdk1.8特性】之Stream(下)

笔者日常: Stream知识点真的是…太多了!!!声明: 由于Stream知识极多,所以本人将其分为两个部分进行学习。Stream(上)主要学习的内容有:Stream(下)主要学习的内容有:Stream学习(下)之.collect(…):.collect之Collectors.averagingInt、Collectors.averagingLong、Collectors.a...

2019-10-20 23:20:51 249 1

原创 观察者模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。观察者模式概念:        定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖...

2019-10-12 15:30:11 281 1

原创 vue入门示例

声明一: 本人为纯后端开发,因为一些非工作上的需要,本人必须得学一下前端Vue.js,此文章属于前端入门级。声明二: 本文主要学习并整理自51CTO课程《Vue.js 2.0之全家桶系列视频课程》,讲师汤小洋,跳转链接见文末。第一个vue程序(入门示例):提示: vue入门非常简单,这里就不使用文字进行说明了,直接看html代码示例即可明白。html内容为:<!DOCTYPE h...

2019-10-09 18:01:26 318 1

原创 策略模式

声明: 本文内容属于《Head First 设计模式》阅读笔记,文中涉及到的知识案例等直接或间接来源于该书。《Head First 设计模式》通过有趣的图表+文字的形式,让人自然学习设计模式,非常棒,推荐阅读。策略模式概念:        策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的...

2019-10-01 21:43:45 219 1

原创 ThreadLocal数据观察及原理验证

笔者日常: 需要学点前端的东西!从今天开始,以后发博客按照二后一前的规律进行发表!!!声明: 本文主要演示如何观察及证明ThreadLocal,ThreadLocal原理会几句话带过。ThreadLocal原理(简述):        Thread类有一个threadLocals字段,该字段类型为Thread...

2019-09-27 15:49:42 177 1

原创 【jdk1.8特性】之Stream(上)

笔者日常: Stream知识点真的是…太多了!!!声明: 由于Stream知识极多,所以本人将其分为两个部分进行学习。《Stream学习(上)》主要学习的内容有: ...

2019-09-23 20:11:59 380 1

原创 【jdk1.8特性】之Function

笔者日常: 来吧,Function~相关声明:本文按照以下顺序进行说明并给出简单的使用示例:序号接口1Function<T, R>2IntFunction<R>3DoubleFunction<R>4LongFunction<R>5ToIntFunction<T>6T...

2019-09-16 15:12:53 1781 1

WebService简单示例

这里示例了WebService的入门级搭建、使用。 ps.本人属于入门级程序员。文档中如果有不足之处,欢迎指正!

2018-06-05

justry_deng的留言板

发表于 2020-01-02 最后回复 2020-01-28

空空如也

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

TA关注的人 TA的粉丝

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