自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mysql事务

1.buffer pool mysql最大的缓冲区,page都放在里面默认大小128M,相当于缓存2.page进来后先存入free链表3.free链表记录buffer pool 哪些位置是空的指针4.buffer pool 放不下的时候会将最近最少的控制块删了用的是lru5.Lru链表最前面的节点就是最常用的节点6.换血的意思用不常用的数据替换了buffer pool 里面的热数据7.lru链表又分为热数据和冷数据,如下图前面5个是热的后面3个是冷8.9.当冷数据在大于1秒的时间又再次被访问

2021-09-21 21:56:44 73 1

原创 arthas 常用命令

1.arthas thread - b 查询死锁2.jmap - histo 服务端口号 | head 20 取这个服务前20内存占用最多的内存对象3.jmap -dump:format=b,file=20170307.dump 16048file后面的是自定义的文件名,最后的数字是进程的pid。4.dump导出来 用visual加载 选择类选项查看具体情况5.arthas jad +类名 = 反编译成代码 主要用在查看现在线上环境的代码6.redefine +类名 = 热部署..

2021-09-21 21:56:00 400

原创 jvm小结

1.jvm组成部分:类加载器,运行数据区也就是内存,字节码执行引擎2.虚拟机栈也就是线程栈,jvm给方法单独开辟一个空间,栈针可以理解为栈的id3.先分配的内存最后释放4.操作数栈是给放入栈的局部变量赋值运算的临时栈5.程序计数器的值是由执行引擎修改的6.栈里面有栈针,通过指针引用就可以找到堆里面的对象7.本地方法栈的空间也是在线程栈里8.元空间里是常量静态变量,类信息9.对象先存到eden区 满了之后由执行引擎开启垃圾收集minor gc10.可达性分析也就是以gc root 查找对象引

2021-09-21 21:54:46 85

原创 mysql结构

1.mysql 的b+树结构 底层的叶子结点的指针是双向的目的是为了范围查找。2.mysql里的节点是Page,大小16k3.Int类型4b大小 s字符串4.查找数据mysql进行磁盘io,把数据放入内存,cpu操作线程从内存中取出5.mysql数据会把数据一次性查找出放入page中6.插入磁盘的时候实际上是插入page对象7.Mysql插入的时就进行了排序8.根据页目录查找,页目录存放最小值9.innerdb 是六条对应一组10.总之如果查找一个page就是一次io查找所有数据放入内存,

2021-09-21 21:49:35 63

原创 AQS+ReentrankLock

AQS+ReentrankLock介绍什么是AQS?AQS是JUC包下的一个同步队列器,他是大部分并发工具类的核心。AQS的作用AQS的主要作用是使用state去控制资源数,并使用队列去维护没有获取到资源的线程。他使用模版方法设计模式把操作资源的方法交给子类实现,其中最典型的实现就是ReentantLock。AQS的应用场景线程协作Semaphore、CountDownLatch、(CyclicBarrier没有,内部使用lock好像**)线程安全ReentrantReadWriteLo

2021-09-21 21:46:29 97

原创 订单模块优化

一、Redis缓存的使用场景1.页面缓存页面缓存的主要思路为,将一些用户经常请求的页面,例如/goods/to_list–商品列表页面,存储到redis缓存中,在用户请求的时候直接在缓存中获取并返回,如果取缓存失败,则利用thymeleaf的手动渲染,渲染后存入缓存,并且返回。我们可以很明显的知道,不使用页面缓存的请求,每次都先访问数据库,然后经thymeleaf渲染,然后返回,其中渲染的过程可能需要从磁盘中读取html模板,而使用页面缓存以后,直接在内存缓存中读取,无需查库和渲染,只有失效的情况下才需

2021-02-27 10:43:56 215

原创 日常收集

日常收集jsonobject中取出jsonarray然后遍历jsonarray放进pagefilter Listlist去重List按属性排序(比较器)jsonobject中取出jsonarray然后遍历JSONArray ids=parameter.getJSONArray(“ids”);if (ids.size()>1) {ids.stream().forEach(id -> {CloudPlatform cloudPlatform = platformJPA.findById(i

2021-02-27 09:05:22 82

转载 HashMap

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-10-15 15:38:21 55

个人学习的总结,不喜勿喷

个人学习的总结,不喜勿喷

2021-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除