简介
每一个微服务在部署以后,我们都需要对其进行监控、追踪、审计、控制等。 Spring Boot就提供了Actuator场景,使得我们的应用快速引用即可获得生产级别的应用监控、审计等功能。
Spring Boot Actuator是一个用于监控和管理Spring Boot应用程...
1年前 (2023-06-14) 3497℃
4喜欢
前言
在JDK 19中提供了一个非常重要的新特性就是虚拟线程,虚拟线程 换成go语言就是对应的协程
为什么需要虚拟线程
为什么要虚拟线程,它到底解决了什么问题?
这就要涉及到标准的普通线程了
要知道在我们操作系统层面上,要进行高并发的程序处理,都要创建一个一个普通的线程,而这个线...
2年前 (2023-05-17) 6659℃
0喜欢
volatile 介绍
volatile是一个特征修饰符,被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象
volatile的两大特性
1、可见性:立即刷新回主内存+失效处理。
2、有序性:禁止指令重排,存在数据依赖关系的禁止重排。
...
2年前 (2023-02-04) 7887℃
1喜欢
JMM介绍
JMM是指JAVA内存模型,JVM是java虚拟机的意思,两者是截然不同的两个东西,他们两个之间的关系类似于雷锋和雷锋塔的关系
JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在它仅仅描述的是一组约定或规范,通过...
2年前 (2023-02-04) 1501℃
0喜欢
LockSupport是什么
Lock Support从字面意思直接翻译过来是锁的支撑类,是一个改进类。下面就看一下这个技术为什么会出现,解决了那些老技术不方便不灵活的问题。
官方解释:用于创建锁和其他同步类的基本线程阻塞原语。
核心就是park()和unpark()方法
pa...
2年前 (2023-02-03) 1150℃
0喜欢
SPI 介绍
在进行应用程序开发的时候,经常有这样一类需求,在不修改源代码的情况下,动态的为我们的程序提供一系列特性,比如我们可以为每一个方法在执行前,执行后动态的运算它的执行时间;或者收集jvm、内存、cpu的运行指标等等,像这些灵活扩展的功能该如何实现呢?在springboo...
2年前 (2023-01-29) 1006℃
1喜欢
LRU 算法简介
LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰
LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时...
2年前 (2023-01-15) 6808℃
2喜欢
什么是中断机制
首先:
一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。
所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。
其次:
在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,...
2年前 (2022-12-09) 3506℃
5喜欢
Future 介绍
Future 是Java5新加的一个接口,它提供了一种异步并行计算的功能。
如果主线程需要执行一个很耗时的计算任务,我们就可以通过future把这个任务放到异步线程中执行。主线程继续处理其他任务或者先行结束,在通过Future获取计算结果。
一句话:Futur...
2年前 (2022-12-07) 1429℃
0喜欢
介绍
SpringBoot拦截器,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。
示例场景说明
示例场景:在SpringBoot中自定义一个拦截器,判断用户的请求中是否携带了token,要是用户请求携带了token则让用...
2年前 (2022-11-20) 1172℃
4喜欢