由于blog各种垃圾评论太多,而且本人审核评论周期较长,所以懒得管理评论了,就把评论功能关闭,有问题可以直接qq骚扰我

标签:java

JAVA

volatile与内存屏障

volatile与内存屏障
volatile 介绍 volatile是一个特征修饰符,被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象 volatile的两大特性 1、可见性:立即刷新回主内存+失效处理。 2、有序性:禁止指令重排,存在数据依赖关系的禁止重排。 ...

1年前 (2023-02-04) 6472℃ 0喜欢

JAVA

JMM 内存模型

JMM 内存模型
JMM介绍 JMM是指JAVA内存模型,JVM是java虚拟机的意思,两者是截然不同的两个东西,他们两个之间的关系类似于雷锋和雷锋塔的关系 JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在它仅仅描述的是一组约定或规范,通过...

1年前 (2023-02-04) 829℃ 0喜欢

JAVA

LockSupport和线程等待唤醒机制

LockSupport和线程等待唤醒机制
LockSupport是什么 Lock Support从字面意思直接翻译过来是锁的支撑类,是一个改进类。下面就看一下这个技术为什么会出现,解决了那些老技术不方便不灵活的问题。 官方解释:用于创建锁和其他同步类的基本线程阻塞原语。 核心就是park()和unpark()方法 pa...

1年前 (2023-02-03) 740℃ 0喜欢

JAVA

JAVA—SPI机制

JAVA—SPI机制
SPI 介绍 在进行应用程序开发的时候,经常有这样一类需求,在不修改源代码的情况下,动态的为我们的程序提供一系列特性,比如我们可以为每一个方法在执行前,执行后动态的运算它的执行时间;或者收集jvm、内存、cpu的运行指标等等,像这些灵活扩展的功能该如何实现呢?在springboo...

1年前 (2023-01-29) 700℃ 1喜欢

算法

LRU最近最少使用算法

LRU最近最少使用算法
LRU 算法简介 LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰 LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时...

1年前 (2023-01-15) 6396℃ 2喜欢

JAVA

JAVA 线程中断机制

JAVA 线程中断机制
什么是中断机制 首先: 一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。 所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。 其次: 在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,...

1年前 (2022-12-09) 3028℃ 5喜欢

多线程

Future 异步编程

Future 异步编程
Future 介绍 Future 是Java5新加的一个接口,它提供了一种异步并行计算的功能。 如果主线程需要执行一个很耗时的计算任务,我们就可以通过future把这个任务放到异步线程中执行。主线程继续处理其他任务或者先行结束,在通过Future获取计算结果。 一句话:Futur...

1年前 (2022-12-07) 860℃ 0喜欢

JAVA

SpringBoot定义拦截器

SpringBoot定义拦截器
介绍 SpringBoot拦截器,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。 示例场景说明 示例场景:在SpringBoot中自定义一个拦截器,判断用户的请求中是否携带了token,要是用户请求携带了token则让用...

1年前 (2022-11-20) 844℃ 4喜欢

JAVA

SpringAOP与自定义注解实现共性需求

SpringAOP与自定义注解实现共性需求
说明 本文档根据B站UP主分享内容整理,视频原版连接:【IT老齐140】非常实用!Spring AOP与自定义注解实现共性需求 介绍 Spring AOP可以帮助我们Java在不修改源代码的前提下实现功能增强,其底层实现基于Java动态代理 或者CGLIB。 以往我们使⽤exec...

1年前 (2022-11-20) 677℃ 0喜欢

JAVA

ThreadPoolExecutor创建线程池

ThreadPoolExecutor创建线程池
介绍 在java.util.concurrent中,提供了工具类Executors(调度器)对象来创建线程池,可创建的线程池有四种: 1、CachedThreadPool:可缓存线程池,如果数据请求过多,它会不断创建新的线程,并且它还可以灵活回收空闲的线程 2、FixedThre...

1年前 (2022-11-19) 1222℃ 1喜欢