lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 184 下一页

2023年2月18日

摘要: --todo https://blog.csdn.net/zy_whynot/article/details/121608851?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edef 阅读全文
posted @ 2023-02-18 15:01 白露~ 阅读(28) 评论(0) 推荐(0)

摘要: 被volatile修饰的变量在编译成字节码文件时会多个lock指令,该指令在执行过程中会生成相应的内存屏障,以此来解决可见性跟重排序的问题。内存屏障的作用:1.在有内存屏障的地方,会禁止指令重排序,即屏障下面的代码不能跟屏障上面的代码交换执行顺序。2.在有内存屏障的地方,线程修改完共享变量以后会马上 阅读全文
posted @ 2023-02-18 11:25 白露~ 阅读(823) 评论(0) 推荐(0)

2022年12月28日

摘要: 简介:RocketMQ 作为一款基于磁盘存储的中间件,具有无限积压能力,并提供高吞吐、低延迟的服务能力,其最核心的部分必然是它优雅的存储设计。 RocketMQ 作为一款基于磁盘存储的中间件,具有无限积压能力,并提供高吞吐、低延迟的服务能力,其最核心的部分必然是它优雅的存储设计。 存储概述 Rock 阅读全文
posted @ 2022-12-28 17:27 白露~ 阅读(46) 评论(0) 推荐(0)

2022年12月26日

摘要: 一、基本概念 字符串匹配是计算机科学领域中最古老、研究最广泛的问题之一,层出不穷的前辈们也总结了非常多经典的优秀算法,例如 BF 算法、RK 算法、BM 算法、KMP 算法,今天我介绍的主角是 BM 算法。 字符串匹配可以简单概括为前缀匹配,后缀匹配,子串匹配,下面的讲解我都以最常见的子串匹配为例。 阅读全文
posted @ 2022-12-26 23:55 白露~ 阅读(269) 评论(0) 推荐(0)

摘要: BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算 阅读全文
posted @ 2022-12-26 23:30 白露~ 阅读(203) 评论(0) 推荐(0)

摘要: /** * rk字符串匹配算法,主要引入了hash的概念, * 利用子串的hash值依次对比主串相应长度的子串hash值 * 并对hash值相同的子串进行匹配对比 */ public class RKSearch { /** * rk算法入口 * @param t 主字符串 * @param p 子 阅读全文
posted @ 2022-12-26 23:27 白露~ 阅读(115) 评论(0) 推荐(0)

摘要: 文章目录一、前言二、类加载器三、双亲委派机制 1、什么是双亲委派 2、为什么要双亲委派? 四、破坏双亲委派 1、直接自定义类加载器加载 2、跳过AppClassLoader和ExtClassLoader 3、自定义类加载器加载扩展类 4、Tomcat中破坏双亲委派的场景 5、一个比较完整的自定义类加 阅读全文
posted @ 2022-12-26 15:44 白露~ 阅读(3343) 评论(0) 推荐(2)

摘要: 为什么需要AtomicInteger原子操作类? 对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的。num++解析为num=num+1, 明显,这个操作不具备原子性,多线程并发共享这个变量时必然会出现问题。 测试代码如下: public class 阅读全文
posted @ 2022-12-26 01:13 白露~ 阅读(247) 评论(0) 推荐(0)

2022年12月25日

摘要: 一. 性能对比 阿里开发手册推荐jdk8使用LongAdder替代AtomicLong 示例代码 题目:热点商品点赞计算器,点赞数加加统计,不要求实时精确。50个线程,每个线程100W次,统计总点赞数 比较synchronized、AtomicInteger、AtomicLong、LongAdder 阅读全文
posted @ 2022-12-25 22:56 白露~ 阅读(89) 评论(0) 推荐(0)

摘要: 1. 概述 AtomicLong通过循环CAS实现原子操作,缺点是当高并发下竞争比较激烈的时候,会出现大量的CAS失败,导致循环CAS次数大大增加,这种自旋是要消耗时间cpu时间片的,会占用大量cpu的时间,降低效率。 那这个问题如何解决呢? JUC给我们提供了一个类,LongAdder, 它的作用 阅读全文
posted @ 2022-12-25 22:49 白露~ 阅读(250) 评论(0) 推荐(0)

上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 184 下一页