spring event机制
摘要:Spring增加了event事件机制,方便了日常项目中需要业务解藕的开发场景,也支持异步和重试机制,很多场景都可以使用 目前开发的项目中需要记录一些异常单据信息的记录,主流程中正常单据接单的流程不动,在识别出某种异常后记录,但是这种记录不应该影响主流程,所以考虑用Spring的event异步事件处理
阅读全文
posted @
2020-01-31 15:19
Flower2021
阅读(4603)
推荐(1)
字节码的组成
摘要:之前看了美团技术团队推送的一篇文章,介绍了字节码增强技术,写的很好,自己也记录一下,增强一下记忆,也方便日后巩固学习,有兴趣的可以去搜索美团技术团队的原文 字节码是JVM的底层基础知识,如果能够掌握对于排查问题会有更深层次的理解 1.什么是字节码 首先我们看看什么是字节码,找到一个.class文件,
阅读全文
posted @
2020-01-28 19:04
Flower2021
阅读(833)
推荐(0)
ClassLoader是怎么工作的
摘要:ClassLoader是为Java的底层技术,它是为了来加载class文件的,负责将字节码形式的Class文件转换为内存形式的Class对象,这个加载的字节码可以是磁盘文件的class文件, 也可以是jar包中的class,也可以是服务调用中来自远程服务提供的字节流,字节码的本质是一个字节数组[]b
阅读全文
posted @
2020-01-28 18:32
Flower2021
阅读(368)
推荐(0)
Mysql使用的B+树索引和存储引擎的关系
摘要:这个知识点的参考文章是:原文链接:https://blog.csdn.net/b_x_p/article/details/86434387 Mysql是使用B+树作为索引的数据结构,Mysql有两种不同的数据存储引擎:MYISAM 和 INNODB,在Mysql5.5版本之前采用的是MYISAM,5
阅读全文
posted @
2020-01-28 13:03
Flower2021
阅读(576)
推荐(0)
Mysql索引为啥用B+树
摘要:项目中一直使用Mysql,对于慢sql优化也一直在做,但是一直没有梳理清楚,这里简单总结一下 首先看一下mysql为什么要使用索引 1)索引是帮助Mysql高效获取数据的 排好序的 数据结构 2)索引存储在文件里 首先说明一下,Mysql是使用B+树作为索引的 在没有索引的情况下,如果要找到一条记录
阅读全文
posted @
2020-01-28 12:23
Flower2021
阅读(2200)
推荐(0)
HashMap的resize自动扩容
摘要:在之前学习的HashMap触发红黑树条件的知识点中,有一个步骤是resize(), 再来了解一下这块的知识 HashMap是JAVA最常用的集合之一,用来存储Key-Value这种键值对形式的数据,内部通过哈希表,让存取的效率最好的时候可以达到O(1),实际使用中可能存在hash冲突,引入了链表和红
阅读全文
posted @
2020-01-27 17:59
Flower2021
阅读(585)
推荐(0)
HashMap、HashTable、LinkedHashMap、TreeMap使用和区别
摘要:1.HashMap继承AbstractMap 实现Map接口,Map在java.util包中是独立的接口,不是继承Collection接口,继承Collection接口的有: /** * @see Set * @see List * @see Map * @see SortedSet * @see
阅读全文
posted @
2020-01-27 12:51
Flower2021
阅读(306)
推荐(0)
HashMap什么时候会触发链表转红黑树
摘要:日常工作中,被同事突然问到的一个问题,hashmap是我们JAVA程序中使用频率非常高的key-value键值对形式的数据类型 结论是目前能触发转化的两个条件是:一个是链表的长度达到8个,一个是数组的长度达到64个 为什么要触发这个转换,目前官方的解释: Because TreeNodes are
阅读全文
posted @
2020-01-27 11:33
Flower2021
阅读(9233)
推荐(0)
Java静态分派和动态分派
摘要:文章参考:https://blog.csdn.net/ns_code/article/details/17965867 public class StaticDispatch { static abstract class Humnan {} static class Man extends Hum
阅读全文
posted @
2020-01-26 11:53
Flower2021
阅读(579)
推荐(0)
缓存雪崩、缓存击穿、缓存穿透
摘要:1.缓存雪崩 通常我们在数据量请求大或者热点数据都会做缓存,通常情况缓存的数据是通过定时任务刷新,或者查询不到后,通过数据库查询后更新的,定时任务刷新的场景就会有问题,因为所有的key会在同一时间失效,那么在秒杀的场景中,如果缓存失效,大量的请求全部落入数据库,数据库必然是扛不住的,可能还没收到报警
阅读全文
posted @
2020-01-26 11:14
Flower2021
阅读(173)
推荐(1)
redis数据存储结构
摘要:1.redis中以key-value的形式存储,key固定是字符串,使用字符串对象进行表示,value可以是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(ZSet)。 2.在内存中,每个Key-Value都被划分成DictEntry、RedisObject以及
阅读全文
posted @
2020-01-26 10:38
Flower2021
阅读(932)
推荐(0)
log4j2使用配置
摘要:log4j2支持配置滚动文件及删除策略,正确使用的场景下可以固定服务器的磁盘使用在设定的阀值内,不用关注磁盘被刷爆的情况,以下是项目中使用到的配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" monitorI
阅读全文
posted @
2020-01-19 15:13
Flower2021
阅读(502)
推荐(0)