上一页 1 2 3 4 5 6 7 ··· 16 下一页
摘要: 一. 缓存穿透 当热点数据为空时,将会有大量请求到缓存,一旦数据库承受不了用户请求,查询就会变慢,大量的请求也会阻塞在数据库查询上,造成应用服务器的连接和线程资源被占满,最终导致系统崩溃,这样称为缓存穿透。 通常解决方案: 返回空值 我们从数据库中查询到空值或者发生异常时,我们可以向缓存中回种一个空 阅读全文
posted @ 2022-08-24 16:32 言思宁 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 1. Cache Aside(旁路缓存) 这个策略数据以数据库中的数据为准,缓存中的数据是按需加载的。 数据更新: 更新数据库中的记录; 删除缓存记录 从缓存中读取数据; 如果缓存命中,则直接返回数据; 如果缓存不命中,则从数据库中查询数据,并将数据写入到缓存中,并且返回给用户。 2. read、W 阅读全文
posted @ 2022-08-24 16:31 言思宁 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 六、分布式Trace简述 1. 请求要在多个服务之间调用,如何排查慢请求问题? 给同一个请求的每一行日志增加一个相同的标记,比如我们可以在程序的入口处生成一个requestId,然后把它放在线程的上下文中,这样就可以在需要时随时从线程上下文中获取到requestId了。 String request 阅读全文
posted @ 2022-08-24 16:26 言思宁 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 4.6 轻量级锁、偏向锁——Monitor升级 JDK6之前的加锁方式是:关联锁对象到Monitor进行加锁,Monitor是由操作系统提供的,加锁代价高。 JDK6之后,对加锁方式进行了优化,引入了轻量级锁、偏向锁等。 1. 轻量级锁 如果一个对象虽然有多个线程要加锁,但是加锁的时间是错开的(没有 阅读全文
posted @ 2022-08-24 16:22 言思宁 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 4.5 Monitor (重量级锁) Monitor被翻译为监视器或管程, 在Java中每个对象可以关联一个Monitor对象,Monitor是操作系统提供的、用于实现对象的加锁机制的角色。 使用Monitor(重量级锁)给synchronized对象加锁的过程: Java对象被加锁,则MarkDo 阅读全文
posted @ 2022-08-24 16:10 言思宁 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 4.3 线程安全类 线程安全类:String、Integer、StringBuffer、Random、Vector、Hashtable、java.util.concurrent(JUC)包下的类 注意:它们每个方法是原子的,但是多个方法的组合不是原子的。 String和Integer String和 阅读全文
posted @ 2022-08-24 16:09 言思宁 阅读(191) 评论(0) 推荐(0) 编辑
摘要: Java对象由对象头+对象体组成。对象头大小为64比特,用于存储对象信息。对象头的分类为: 普通对象头: 64b 32b Mark Word:对象信息 32b Klass World:类名信息 数组对象头:96位 32b Mark Word:对象信息 32b Klass World:类名信息 32b 阅读全文
posted @ 2022-08-24 16:09 言思宁 阅读(29) 评论(0) 推荐(0) 编辑
摘要: zebra是一个基于JDBC API协议上开发出的高可用、高性能的数据库访问层解决方案。通俗来说就是数据库访问的中间件,在JDBC和数据库连接池之上实现读写分离、分库分布等功能。一般来说Zebra在数据访问架构中位置如下^[2]^: Zookeeper/OCTO/Nacos:注册中心,存储了数据库的 阅读全文
posted @ 2022-08-24 15:59 言思宁 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 一、mapStruct映射工具 1.1 功能 在编译时期是处理映射注解,实现类到类之间的映射 MapStruct vs BeanUtils BeanUtils: 在运行时根据反射动态赋值 缺点:动态赋值,存在大量的反射调用,性能较低;内存占用多,不适合高并发应用场景 MapStruct:在编译时静态 阅读全文
posted @ 2022-08-24 15:52 言思宁 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 十、正则表达式 1. 匹配符 . 匹配除回车“\n”以外的任意字符 () 自定义字符串分组(a|b) a或b [] 自定义一个匹配的字符 [0-9] [a-z] [^] 自定义取反的一个匹配字符 [^0-9] 非数字 \ 转义字符 2. 限定符 * 某个字符之后加星号表示该字符不出现或出现多次 a* 阅读全文
posted @ 2022-08-24 15:50 言思宁 阅读(323) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 16 下一页