自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 G1和CMS垃圾回收器

回收器CMS初始标记(CMS initial mark)并发标记(CMS concurrent mark)重新标记(CMS remark)并发清除(CMS concurrent sweep)可以看出,CMS中有两个阶段是和当前线程并发的,并发标记和并发清除,可以有效的减少stw。使用标记清除算法,只针对老年代的数据,因为存活率高。低延迟,对cpu敏感。G1初始标记(Initial Marking)并发标记(Concurrent Marking)最终标记(Final Marking)筛

2021-07-09 09:57:07 92

原创 垃圾回收算法

常用垃圾回收算法标记清除算法方式标记阶段:先通过根节点,标记所有从根节点开始的可达对象,因此,未被标记的对象就是未被引用的垃圾对象;清除阶段:清除所有未被标记的对象。优点1. 标记和清除的过程效率不高(标记和清除都需要从头便利到尾)2. 会产生大量不连续内存碎片。缺点1. 标记和清除的过程效率不高(标记和清除都需要从头便利到尾)2. 会产生大量不连续内存碎片。复制算法方式1.将原有的内存空间分为两块,每次只是用其中一块,在垃圾回收时,将正在使用放内存中的存活的对象复制到位使

2021-07-09 09:32:58 71

原创 JVM基础及基本调优

JVM基础JVM组成堆内存堆内存的结构,主要分为新生代(伊甸园区,Survivor的from区,Survivor的to区),以及老年代。一、新生代1.伊甸园区是大部分对象被创建在此区域。2.Survivor的from区(随意挑选一个成为from区)当伊甸园区存满后触发Minor GC,没有被回收的对象将进入该区域等待下次的回收。3.Survivor的to区将 Eden 中存活下来的对象和 from 区域的对象,拷贝到这个“to”区域,防止内存碎片化。进一步清理无用对象二、老年代放置长

2021-07-08 09:46:55 90

原创 volatail的有序性和可见性

Volatail学习笔记文章目录Volatail学习笔记前言一、什么时候会用volatail二、作用框架JMM1.JMM内存模型2.物理映射三、Volatail发挥的作用1. 保证线程间的本地内存中的共享变量可见1.1 增加LOCK锁前缀,JVM会发送一个Lock前缀指令给CPU,CPU在执行完写操作后,会立即将新值刷新到主内存1.2 依赖MESI协议对其他线程中的本地内存中的该变量打上一个过期标识,如果其他线程使用的时候会识别过期标识,直接从主内存中获取当前线程刚写入的数据2.防止指令重排2.1 在执行

2021-07-08 09:39:27 292

原创 redis基础知识

Redis知识汇总数据类型Strings 字符型Hashes 字典Lists 集合Sets 不重复集合ZSet 有序集合bitmapredis优点速度快,数据在内存中,结构类似hashmap,查询时间复杂度是O(1)支持丰富数据类型支持事务,操作都是原子性丰富特性:用于缓存,消息,按key设置过期时间,过期删除Memcache对比可以持久化数据类型多样底层模型不同,有自己的vm机制,寄生系统调用系统函数时间单线程使用队列技术将访问串行化持久化RDB机制(

2021-07-07 13:49:39 58

原创 Bean再SpringBoot中的生命周期

Bean的生命周期(死记八股)1.实例化2.填充属性3.调用BeanNameAware的setBeanName方法4.调用BeanFactoryAware的setBeanFactory方法5.调用ApplicationContextAwaer的setApplicationContext方法6.调用BeanPostProcess的postProcessBeforeInitialization方法7.调用InitializingBean的afterPropertiesSet方法8.调用定制的初始

2021-07-07 13:48:41 129

原创 SpringBoot自动装配

SpringBoot自动装配1.@SpringBootApplication1.1 @SpringBootConfiguration继承了Configuration,表示当前是注解类1.1.1@Configuration //配置、注入bean依赖,1.1.1.1@Bean定义bean,方法名为默认的bean id标注了Bean的方法,返回值作为bean定义注册到SpringIoc容器2.@ComponentScan // 扫描路径设置自动扫描,加载符合条件的组件将这些bean定义

2021-07-06 16:39:52 78

转载 G1和CMS

G1和CMS是如何工作的,区别是什么https://www.cnblogs.com/heyonggang/p/11718170.html

2021-05-10 11:07:28 69

原创 mysql数据库索引

@MYSQL索引索引的应用场景索引的应用为一张表添加索引可以支持其查询时夹带索引字段达到快速查询除想要结果的作用,添加合适的索引可以提升十几倍的查询速度。在添加索引前要对表内数据有预估,是否到达需要添加索引的量级,之后还会讲到当建立索引不合理时也会导致适得其反的效果。索引的类型索引的类型分为三种:1.普通索引:最基本的索引,它没有任何限制,用于加速查询。创建方法:a. 建表的时候...

2020-03-27 23:07:20 101

原创 线程学习日记

线程学习日记线程的生命周期线程生命周期可以分7个状态1.新建2.就绪3.等待4.超时等待5.运行6.阻塞7.终止其各状态转换关系如图所示线程池的应用原理以及场景应用场景:当任务的执行时间短且需要执行的任务多时采用线程池。线程池原理图任务分配优先级1.核心线程2.队列等待3.额外线程4.拒绝策略...

2020-03-26 16:51:34 77

空空如也

空空如也

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

TA关注的人

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