面试
文章平均质量分 50
m0_71799964
这个作者很懒,什么都没留下…
展开
-
i++是线程安全的吗?如何解决线程安全性?
AtomicInteger 的效率高是因为它是互斥区非常小,只有一条指令,而 Lock 的互斥区是拿锁到放锁之间的区域,至少三条指令。如果想要保证其多线程下的安全性,可以使用原子变量(AtomicInteger,参考 Java并发编程之原子变量)、如果是方法里定义的,一定是线程安全的,因为每个方法栈是线程私有的;如果是类的静态成员变量,i++则不是线程安全的,因为 线程共享栈区,不共享堆区和全局区。在这三步之间的都可能会有CPU调度,造成i的值被修改。如何解决线程安全性呢?读值,从内存到寄存器。原创 2024-02-01 08:10:11 · 455 阅读 · 1 评论 -
项目逐字稿
优惠券的规则信息表有:优惠券id,优惠券的名称、优惠券的名称、优惠券的类型、折扣类型、是否限定作用的范围、折扣力度(几折或者满多少减多少)、使用门槛、最高优惠金额、获取的方式(手动直接领取,兑换码兑换)、开始发放时间、结束发放时间、优惠券有效天数、优惠券有效期的开始时间,总数量、已发放的数量,已使用的数量、没人限领的数量、创建时间、更新时间、创建人、更新人;用户领取优惠券的记录:用户券id,优惠券模板id,优惠券有效期开始时间、优惠券有效期结束时间、优惠券使用时间、优惠券状态、创建时间、更新时间;原创 2024-01-30 17:15:18 · 367 阅读 · 1 评论