自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(828)
  • 资源 (18)
  • 收藏
  • 关注

转载 Spring 核心扩展点

一般情况下,Spring通过反射机制利用bean的class属性指定支线类去实例化bean,在某些情况下,实例化Bean过程比较复杂,如果按照传统的方式,则需要在bean中提供大量的配置信息。使用场景:用户可以扩展这个类,来为要实例化的bean作一个代理,比如为该对象的所有的方法作一个拦截,在调用前后输出一行log,模仿。可以看到,该类用于执行各种驱动接口,在bean实例化之后,属性填充之后,通过执行以上红框标出的扩展接口,来获取对应容器的变量。其作用是在bean的初始化阶段,如果对一个方法标注了。

2024-04-04 21:31:08 17

转载 springcloud ConfigDataContextRefresher刷新central config

首次请求/adviser/loss/test接口,会发现返回=》张三:18,然后修改git上的配置,将年龄修改为20,再次请求/adviser/loss/test接口,发现配置并未更新。关于新版本的实现属实不太理解(功力尚浅),我个人也在学习和总结,后续如果有新的进展,我也会及时更新的,如果您有相关资料或见解,也烦请指教。在2处,重新加载配置,在当前的版本,有2中实现方式:一种是兼容旧版本的实现,一种是新版本的实现,这两种实现分别在。放入缓存中(缓存中没有则放入,有则返回原对象),然后调用。

2024-03-26 18:05:41 36

原创 @JsonProperty作用

JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty("name")。这里需要注意的是将对象转换成json字符串使用的方法是fasterxml.jackson提供的!jackson的maven依赖。

2024-03-25 17:01:18 230

转载 OAuth2.0通俗易懂的解释

是目前最流行的授权机制,用来授权第三方应用,获取用户数据。这个标准比较抽象,使用了很多术语,初学者不容易理解。其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OAuth 2.0 到底是什么。

2024-01-30 16:01:13 86

原创 谷歌浏览器启用实时字幕功能

您可对字幕进行自定义,以使其更便于阅读。使用字幕框上的箭头收起和展开字幕。选择字幕以将其移至浏览器中您偏好的位置。更改字幕字体、大小、颜色和不透明度。更改背景颜色和不透明度。在计算机上打开 Chrome。在右上角,依次选择“更多”图标设置。在“设置”页面底部,依次选择无障碍字幕偏好设置。在计算机的系统偏好设置中,选择您想使用的自定义项。

2024-01-05 20:32:38 1111

原创 ThreadLocal和Synchronized的用法和区别

和。

2023-12-22 13:46:00 325

原创 spring三级缓存

二级缓存:earlySingletonObjects。一级缓存:SingletonObjects。

2023-12-21 14:56:02 859

原创 TaskDecatator用法

方法的目的是让你可以在实际的任务执行之前,对任务进行一些额外的处理。只是一个自定义装饰行为的接口,具体的上下文传递逻辑需要根据你的实际应用场景来设计。例如,在执行异步操作时,你可能需要将主线程的一些上下文信息(比如用户身份验证令牌或请求上下文信息)传递给执行异步操作的线程。,它会捕获提交任务时当前线程的上下文,并在任务实际执行前将这个上下文设置到执行任务的线程中。方法中的逻辑会在你的任务代码之前执行,允许你设置或者修改线程的状态,以便这些状态可以在任务执行时被使用。方法,然后再执行你的任务代码。

2023-12-19 14:57:30 492

原创 redis实际应用实现合集

首先需要把10个观众的id(具体是什么id可以根据实际业务情况自己定义)放到redis 的 set 集合里。从10名观众中抽取奖项,其中一等奖1人,二等奖2人,三等奖3人。插入10个观众,act:002是活动的名字,后面分别是观众id。从10个观众中随机抽2名幸运观众。需要用到redis的。

2023-12-11 21:20:44 229

原创 springsecurity为什么说使用JWT就可以disable csrf

这个方案的实现方法是,在设置 JWT 的同时,设置一个额外的 CSRF Token Cookie,并将这个 CSRF Token 也返回给前端。攻击者可以在他们控制的网站上构造一个请求,当用户访问这个网站时,这个请求会在用户的浏览器中执行,并带有用户对目标网站的凭证(例如,cookies)。例如,你应当使用 HTTPS 来防止 MITM 攻击,使用适当的策略和技术(例如,Content Security Policy,对用户输入的严格检查和清理)来防止 XSS 攻击。

2023-12-07 20:22:10 246

原创 一文秒懂 springsecurity6.2实现自定义登录页

springsecurity原理和基础这里暂时不讲,网上资料太多了,这个大家可以自行查找学习,基本上没什么太大区别,看几篇文章就了解了,这篇文章主要是针对自定义登录页做一个demo,通过这个小 demo,大家可以直接理解springsecurity 处理登录的流程。这里只是简单的创建了一个 user,实际情况下可以在这里查询 db 里的user,为了简单化流程,这里就略过查询 db 的逻辑了,大家可以自行根据 mybatis 处理这一块内容。

2023-12-06 11:30:51 1306

原创 chrom谷歌浏览器删除表单填写记录

鼠标光标移动到删除的信息 shift+del就可以删除了

2023-12-05 11:16:36 211

原创 Failed to resolve org.junit.platform:junit-platform-launcher:1.9.3

springboot 跑 unit test 的时候,如果报错如题的话,可以更改idea 里的 HTTP Proxy 配置为:Auto-detect proxy settings。

2023-12-04 13:45:54 455

原创 Java通过central config 开关实现双写控制

最后获取开关的值可以配置在central config里,通过更改这个值就可以实现对双写的控制。

2023-11-14 19:52:05 192

转载 Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用

当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。我们前面提到的@Cacheable、@cacheEvict等也可以标注在接口上,这对于基于接口的代理来说是没有什么问题的,但是需要注意的是当我们设置proxy-target-class为true或者mode为aspectj时,是直接基于class进行操作的,定义在接口上的@Cacheable等Cache注解不会被识别到,那对应的Spring Cache也不会起作用了。下面是几个使用参数作为key的示例。

2023-11-14 10:33:36 948

原创 线程安全问题解析

多线程问题的根本原因是由于多个线程同时操作了同一个对象的成员变量,而且这个变量没有做同步处理,这就会有多线程问题,所以如果一个对象没有成员变量,那么就不会有多线程问题,因为如果一个对象只有方法的话,那么方法是在线程自己的内存空间执行的(线程内存里有栈帧,就是用来执行方法),所以在方法内所产生的对象都是存储在线程自己的内存空间的,不存在线程安全问题。这时候线程2 修改的数据在save到主内存之前,线程1是可见的,也就是说线程1的修改被线程2覆盖掉了,就破坏了线程1的原子性。5. 线程执行方法的过程。

2023-11-10 14:36:26 216

转载 Redis key 过期通知

默认 notify-keyspace-events "" 修改为:notify-keyspace-events Ex。//通知效果如图 RedisKeyExpirationListener.onmessage。只有当key被删除时候 才会通知 并不是在key过期后就马上删除的。

2023-11-09 10:09:02 428

原创 ThreadLocal用法

是的,使用同步可以解决问题,但是我们要看哪一种方式更合适,一般必须使用同步的场景是这个变量属于业务共享的,也就是说一个线程操作这个对象对别的线程是有业务影响的,是有业务逻辑关系的,再或者说其他线程操作这个变量要看当前线程操作的结果,比如商品库存,这个你总不能说用 ThreadLocal 去定义这个库存吧,那岂不是要疯了。这样,每个线程独立的拥有对象 t,虽然方法是公用的,但是里面的 t 对象是线程独有的,所有就解决了冲突问题。

2023-11-05 21:32:05 216

原创 Mybatis-plus 自定义拦截器动态修改sql

【代码】

2023-11-02 16:00:56 1306

原创 springboot 配置文件加载顺序

属性:如果存在`spring.config.name`属性,Spring Boot会尝试加载与该属性值匹配的文件,无论其扩展名是`.properties`还是`.yml`。例如,如果`spring.config.name=myapp`,则会尝试加载`myapp.properties`或`myapp.yml`。`属性,Spring Boot会按照该属性指定的路径加载配置文件。可以指定单个文件的路径,也可以指定包含通配符的路径。

2023-10-28 21:41:48 350

原创 springboot application 常用配置

【代码】springboot application 常用配置。

2023-10-27 13:44:53 98

原创 springboot actuator 常用接口

微服务作为一项在云中部署应用和服务的新技术是当下比较热门话题,而微服务的特点决定了功能模块的部署是分布式的,运行在不同的机器上相互通过服务调用进行交互,业务流会经过多个微服务的处理和传递,在这种框架下,微服务的监控显得尤为重要。而Actuator正是Spring Boot提供的对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信以及Web请求的详细信息等。

2023-10-25 22:03:37 1022

转载 Spring Cloud Gateway限流实战

链接:https://www.jianshu.com/p/09d20f7df004。商业转载请联系作者获得授权,非商业转载请注明出处。Spring Cloud Gateway限流实战。Spring Cloud Gateway限流实战。Spring Cloud Gateway限流实战。Spring Cloud Gateway限流实战。Spring Cloud Gateway限流实战。作者:Java弟中弟。

2023-10-19 14:22:45 154

原创 spring cloud config 占位符 application用法

这句达到了我们想要的效果,config client 端的 spring.application.name = demo-1,然后profile是dev,所以这么定义的结果就是在 config server端找 search-paths = demo-1 文件夹下的 demo-1-dev.yml 文件。,所以一旦这样做了,就必须要求config file的name是。的一样,或者直接使用。

2023-10-16 21:54:34 141

原创 对称加密和非对称加密以及CA证书

这些证书一般不会改变,而且需要很高的访问权限,比如系统级别的或者管理员级别的权限才可以访问或者修改这些证书,所以这里的证书被认为是整个信任体系的一个根节点,一般不会被篡改。server端在提供公匙给client端的时候,公匙被黑客篡改成了自己的公匙(黑客用非对称加密算法生成了公匙和私匙),这时候client端并不知情,所以拿了黑客的公匙对消息进行加密然后传输,不幸的是传输的过程,也被黑客劫持了,这样黑客就拿到了由他自己的公匙加密的密文,然后又用自己的私匙对密文解密,导致信息泄漏。

2023-10-14 17:41:08 171

原创 spring cloud config pattern 用法

看了官网,对pattern用法的讲解,感觉讲的不是很清楚,只是讲了 config server端的配置,没有讲清楚如果从 client 端连接 config server 端的话,需要怎么配置,其中最重要的就是怎么对pattern进行识别,摸锁了一段时间,搞清楚了pattern的用法。这样就可以匹配到 pattern ,并且拿到 config里的配置信息,而不是网上所说的这个pattern是client的spring.application.name。

2023-10-13 09:27:55 89

原创 Springboot编译报错:Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironmen

lombok,jdk17

2023-10-08 16:13:48 520 1

转载 java8到java17的蜕变

jdk17

2023-10-07 21:37:48 117

转载 spring cloud config 使用git和数据库作为配置数据源

Spring Cloud Config为微服务架构提供了配置管理的功能,通过Spring Cloud Config服务端提供配置中心,在各个微服务应用的客户端读取来自服务端配置中心的配置项,配置中心的数据源可以来自git、svn、数据库、操作系统的本地文件、jar包中的文件、vault、组合。可以看到,spring.cloud.config.server.git配置项变成了spring.cloud.config.server.jdbc,另外多个数据源的配置。

2023-09-24 22:17:08 165

转载 SpringCloud Config Server中{application}等占位符使用场景设置默认拉去分支

spring cloud config

2023-09-21 21:28:46 123

原创 巧妙的设计

常用设计

2023-09-12 21:51:10 416

原创 Kafka开启批量消费

kafka

2023-08-18 08:46:05 601

原创 数据库实体ER图

ER图

2023-08-16 13:54:58 112

原创 kafka集群搭建(Linux环境)

kafka集群

2023-07-29 22:04:28 1307

原创 如何在 Outlook 中将导航栏从左侧移动到底部?

您可以更快地完成工作。Office 刚刚在最新版本的 Outlook 365 中添加了一个选项。由于这次更新,您只需单击几下即可将导航栏更改回底部。4. 重新启动 Outlook。你会发现导航栏被移回了底部。弹出,提醒您必须重新启动此应用程序才能使更改生效。对于最新版本的 Outlook 的用户,这是。1. 启用 Outlook。

2023-07-22 17:37:47 2211

原创 Java Supplier用法

Supplier

2023-07-12 08:04:15 1140

转载 mysql同步数据到ES的方案

mysql es

2023-07-04 21:55:47 2001

转载 spring 常见扩展点

spring

2023-06-17 09:19:01 255

原创 浏览器跨域请求

CORS

2023-06-10 11:10:22 819

转载 Spring 注解面面通 之 @CrossOrigin 注解应用详解

默认情况下,只允许客户端访问:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。注意:CORS处理时,从Forwarded、X-Forwarded-Host、X-Forwarded-Port、X-Forwarded-Proto取请求源值。若为Cache-Control、Content-Language、Expires、Last-Modified、Pragma,则无需设置。

2023-06-10 07:59:39 2524

mercurial_extension.zip

该插件是解决Mercurial:Hg检出的时候:The system cannot find the path specified 报错的问题

2019-06-03

swagger-editor3.5.7最新版

swagger-editor3.5.7最新版,这个工具类非常好用,大家可以试着用一下

2018-11-14

mybatis逆向工程jar组件包

mybatis逆向工程jar包以及相关文档,包括mybatis-generator-core-1.3.2.jar 和MySQL-connector-Java-5.1.26.jar

2018-01-24

mysql5.7reference menu

mysql5.7 官网 reference menu,可以作为参考手册,写的很清楚

2018-01-03

黑马程序员Struts2笔记

黑马程序员Struts2笔记,包括前两天的内容,不包括源码,只是笔记文档

2017-11-28

c3p0-0.9.2.1和mchange-commons-java-0.2.3.3

c3p0-0.9.2.1和mchange-commons-java-0.2.3.3开发所需的两个包

2017-11-22

aspectjweaver-1.8.7和aopalliance1.0

spring AOP 开发所需的两个 jar 包:aspectjweaver-1.8.7和aopalliance1.0

2017-11-15

图像纹理特征提取完整版

上次没传完整,忘了上传那3个函数了,这次是完整版

2017-06-21

PDF页面合并器

一款很好用的pdf合并器,非常方便

2017-06-21

eps文件打开器

非常好的一款eps查看器,不需要ps那么大的内存,只有8M,而且打开速度比ps快上100倍,太给力了这个小软件

2017-03-22

SVM 测试样本点相关度打分

可以通过本代码得到 SVM 样本测试点的隶属分数

2017-01-20

libsvm 官方教程

libsvm 官方教程,包含两个文档,很详细,需要的可以看一下

2017-01-02

Windows下 libsvm3.22

2016年12月最新版 Windows 下的 libsvm3.22

2016-12-22

图像纹理特征提取 matlab 代码

利用MATLAB提取各种纹理特征

2016-04-19

Java包的作用

Java包的作用

2015-09-22

mnist图像库已转换为可视的图像格式

mnist手写体数据库原来的格式是不可视化的,现在转换为可视的图像格式,供大家参考查看,可以下载下来做深度学习的研究

2015-07-25

matlab-libsvm

安装libsvm-mat是在MATLAB平台下使用libsvm的前提,如果没有安装好也就无法使用,在MATLAB平台下安装libsvm-mat一般有以下几个大步骤: 1. 将libsvm-mat所在工具箱添加到matlab工作搜索目录 (File ——》 Set Path… ——》 Add with Subfolders...); 2. 选择编译器(mex -setup); 3. 编译文件(make)。 每一步都很重要【我就不在每一步前面说 这一步很重要了~】,下面我将 掰饽饽说馅【一句东北俚语i.e.翔实详尽】 的给大家详细说明。 1. 将libsvm-mat所在文件夹目录添加到MATLAB工作搜索目录(File ——》 Set Path…——》 Add with Subfolders...) 这第一步很重要,如果没有将libsvm-mat所在文件夹目录正确的添加到MATLAB工作搜索目录,使用的时候就会出现 ??? Undefined function or variable 'XXX'. 等等报错。 首先明晰一下MATLAB工作搜索目录(路径)和当前目录(路径)这两个概念: 当前目录[Current Folder]是指MATLAB当前所在的路径,MATLAB菜单栏下面有一个Current Folder可以在这里进行当前所在目录的更改。 工作搜索目录(路径)是指当你使用某一个函数的时候,MATLAB可以进行搜索该函数的所有的目录集合。

2015-04-05

空空如也

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

TA关注的人

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