作者:Administrator

不变性(final 关键字)

1.不变性是什么 对象被创建后,状态就不能被修改 2.final 的作用 1.类防止被继承、方法防止被重写、变量防止被修改 2.天生是线程安全的,不需要额外的同步开销 3.3种用法(修饰变量、方法、类) 1.修饰变量 被final 修饰的变量,值不能被修改,如果是对象,对象的

Administrator Administrator 发布于 2024-11-03

CAS

1.什么CAS CAS 是 Compare and Swap(比较并交换)的缩写,是一种用于实现多线程同步的原子操作。CAS 操作包括三个步骤:比较内存中的值和预期值,如果相等则将新值写入内存,否则不做任何操作。CAS 操作是一种乐观锁的实现方式,它可以避免使用传统的锁机制(如 synchroniz

Administrator Administrator 发布于 2024-11-03

原子类

1.Adder 累加器 高并发下LongAdder 比AtomicLong 效率高,本质是空间换时间 竞争激烈的时候,LongAdder把不同线程对应到不同的Cell上进行修改,降低了冲突的概率,是多段锁的理念,提高了并发性 原因:AtomicLong 在cpu(多核)核心中,假设第一个核心数据改变

Administrator Administrator 发布于 2024-11-03

关于Springboot 中文件下载中 下载出内容乱码解决方案

1.方案一 检查 字符编码 以及contentType,导出文件名名称明确后缀 docx 还是xlsx response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.do

Administrator Administrator 发布于 2024-11-02

锁的类型

悲观锁:就像是担心别人会抢你的东西,所以一开始就紧紧抓住不放。Synchronized 和 lock 接口;适用情况:适用于临界区持锁时间比较长的情况,悲观锁可以避免大量的无用自旋等消耗,典型情况:1.临界区有IO操作;2.临界区代码复杂或者循环量大;3.临界区竞争非常激烈。 乐观锁:相信别人不会和

Administrator Administrator 发布于 2024-10-26

Bigdicimal 理解及运用

1.为什么使用Bigdicimal 浮点数的运算会有精度丢失的风险 1.浮点数为什么存在精度丢失的问题 计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的

Administrator Administrator 发布于 2024-10-21

Springboot 环境下 Websocket简单实现

1.添加依赖 <!-- Spring Boot WebSocket依赖 --> <!-- <dependency>--> <!-- <groupId>org.springframework.boot</groupId>--> <!--

Administrator Administrator 发布于 2024-10-08

nginx 设置反向代理

server { listen 80; server_name your_domain.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $ho

Administrator Administrator 发布于 2024-10-08

SpringBoot项目bootstrap.yml配置无法识别问题

SpringBoot项目bootstrap.yml配置无法识别问题 1.方法一 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</

Administrator Administrator 发布于 2024-10-04

Ubuntu 环境下安装Drone

Ubuntu 环境下安装Drone 1.docker-compose.yml 安装 version: '3' # 使用 Docker Compose 文件版本 3 services: drone-server: # 定义名为 drone-server 的服务 restart: al

Administrator Administrator 发布于 2024-10-04