1.不变性是什么 对象被创建后,状态就不能被修改 2.final 的作用 1.类防止被继承、方法防止被重写、变量防止被修改 2.天生是线程安全的,不需要额外的同步开销 3.3种用法(修饰变量、方法、类) 1.修饰变量 被final 修饰的变量,值不能被修改,如果是对象,对象的
1.什么CAS CAS 是 Compare and Swap(比较并交换)的缩写,是一种用于实现多线程同步的原子操作。CAS 操作包括三个步骤:比较内存中的值和预期值,如果相等则将新值写入内存,否则不做任何操作。CAS 操作是一种乐观锁的实现方式,它可以避免使用传统的锁机制(如 synchroniz
1.Adder 累加器 高并发下LongAdder 比AtomicLong 效率高,本质是空间换时间 竞争激烈的时候,LongAdder把不同线程对应到不同的Cell上进行修改,降低了冲突的概率,是多段锁的理念,提高了并发性 原因:AtomicLong 在cpu(多核)核心中,假设第一个核心数据改变
1.方案一 检查 字符编码 以及contentType,导出文件名名称明确后缀 docx 还是xlsx response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.do
悲观锁:就像是担心别人会抢你的东西,所以一开始就紧紧抓住不放。Synchronized 和 lock 接口;适用情况:适用于临界区持锁时间比较长的情况,悲观锁可以避免大量的无用自旋等消耗,典型情况:1.临界区有IO操作;2.临界区代码复杂或者循环量大;3.临界区竞争非常激烈。 乐观锁:相信别人不会和
1.为什么使用Bigdicimal 浮点数的运算会有精度丢失的风险 1.浮点数为什么存在精度丢失的问题 计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的
1.添加依赖 <!-- Spring Boot WebSocket依赖 --> <!-- <dependency>--> <!-- <groupId>org.springframework.boot</groupId>--> <!--
server { listen 80; server_name your_domain.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $ho
SpringBoot项目bootstrap.yml配置无法识别问题 1.方法一 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</
Ubuntu 环境下安装Drone 1.docker-compose.yml 安装 version: '3' # 使用 Docker Compose 文件版本 3 services: drone-server: # 定义名为 drone-server 的服务 restart: al