java

java / 2024-02-22

前段时间做项目,有一个场景是在后端接收到信号的时候将消息推送给前端,前端在展示给用户。就是后端主动向前端推送消息的功能。这样的场景可以让前端轮询,但是因为消息比较多,比较频繁,所以如果让前端轮询的话,就有可能实时性不太好,而且由于http协议的请求头比较长,进行轮询会浪费大量的带宽,服务器的压力也会

java / 2023-02-09

听说这是工作中常用的方式,咱也不知道,学着玩呗。

java / 2023-01-04

七、异步编排1、创建异步对象2、计算完成时回调方法whenComplete可以处理正常和异常的计算结果,exceptionally处理异常情况。whenComplete和whenCompleteAsync的区别:whenComplete:是执行当前任务的线程继续执行whenComplete任务whe

java / Spring / 2022-12-04

一、事务的概念对一组操作而言,要么全部成功,要么全部失败,就叫做事务。01 特性原子性(Atomicity):一个事务中的所有操作,要么全部成功,要么全部失败,如果中间发生异常,则全部回滚一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏隔离性(Isolatio

java / 2022-10-23

ThreadLocal初衷是在线程并发时解决变量共享问题,但由于过度设计,比如弱引用和哈希碰撞,导致理解难度大、使用成本高,反而成为了故障高发点。容易出现内存泄漏、脏数据、共享对象更新等问题。01引用类型强引用:Object obj = new Object();这就属于强引用。只要对象有强引用,并

java / 2022-08-22

LockSupportpackage com.fzkj.juc.locksupport;import java.util.concurrent.locks.LockSupport;/** * @DESCRIPTION */public class LockSupportDemo { /**

java / 2022-08-22

一、公平锁/非公平锁公平锁在并发环境下,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会加入等待队列,然后按照FIFO的规则进行等待。非公平锁一上来就获取锁,如果失败,再采用公平锁的方式。二、可重入锁/递归锁这两个锁其实是一个锁的两种叫法,本

java / 2022-08-22

一、ArrayList集合1、现象 /** * 1、可能会抛出 * java.util.ConcurrentModificationException(并发修改异常) * 2、导致原因 * * 3、解决方案 * @param */

java / 2022-08-22

volatile是java虚拟机提供的一种轻量级的同步机制,它有三个重要的特性:保证可见性不保证原子性禁止指令重排要理解这三个特性,就需要对JMM(JAVA内存模型)有一定的了解才行。一、JMM(JAVA内存模型)JMM是 Java 虚拟机规范中所定义的一种内存模型,Java 内存模型是标准化的,屏

java / 2022-08-22

一、CAS是什么cas全称compare and swap,比较并交换,是一条CPU并发原语。解决多线程环境下使用锁导致上下文切换导致性能消耗的一种机制。它的功能是判断内存中某个地址的值是否是期望的值,如果是就修改为新的值,整个过程是原子的。这是一种非阻塞算法,线程在获取资源失败时,不需要挂起,因此