自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【SQL优化】

sql优化导图

2022-10-24 17:01:23 107 1

原创 Java中的四种引用类型

设计这些引用的目的,是让程序员可以通过代码来控制对象的生命周期,让对象在不同情景下能够在不同时候被回收。运行结果表示,手动完成GC后,软引用对象包裹的byte[]还没被回收,但是新建了一个10M的byte[]后,当内存不足时,会触发JVM 的 gc ,如果gc后,内存还是不足,就会把软引用包裹的对象回收掉。当内存足够时,就能正常拿到缓存,当内存不够时,就把缓存回收掉,不至于马上抛出OOM。从运行结果可以看到,只要发生了GC,即使内存充足,弱引用包裹的对象也会被回收。,否则会抛出OOM。

2022-10-24 11:05:51 182

原创 垃圾回收与算法

垃圾回收算法有四种,分为标记清除算法,复制算法,标记整理算法,和大部分jvm所采用的分代收集算法,即把内存区域划分为新生代和老年代,采用不同算法去回收对象。

2022-08-29 20:59:48 171

原创 jvm基础

JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA 堆、方法区】、直接内存

2022-08-26 00:26:57 76

原创 InnoDB的体系架构-后台线程与内存

文章目录一、InnoDB体系架构二、后台线程1.Master Thread :2.IO Thread :3.Purge Thread :4.Page Cleaner Thread三、内存1. 缓存池2. LRU List、Free List、Flush List一、InnoDB体系架构Innodb存储引擎缓存池用于缓存磁盘数据,以及缓存对磁盘文件中数据的修改,缓存redo log(innodb才有),维护所有进程、线程需要访问的内部数据结构。后台线程的作用是刷新内存池中的数据,保证内存池中的数据是最新

2021-12-15 17:11:06 1063

原创 MySQL索引

MySQL索引一、索引1、索引是什么2、索引的优势和劣势二、索引的类型1.按数据结构维度区分2.按物理存储维度区分3.按逻辑维度区分三、InnoDB和MyISAM区别一、索引1、索引是什么1.索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。2.索引一般存储在磁盘的文件中,它是占用物理空间的。3.适当的索引能提高查询效率,过多的索引会影响数据库表的写(insert、update、delete)功能2、索引的优势和劣势优势:(1)可以提高数据检

2021-11-30 15:03:57 480

原创 ConcurrentHashMap源码详解

我们知道,HashMap在jdk1.7到1.8中,由数组+链表的结构转为数组+链表+红黑树,这是因为在某个节点的链表长度大于8时,选择转化为红黑树的结构,可以实现优化查询。但是HashMap是线程不安全的,无法满足多线程的场景,所以就延伸出了ConcurrentHashMap,它在兼顾性能的同时,也满足了多线程的场景需要。那ConcurrentHashMap是如何实现的呢,我们看看它的源码是如何进行数据操作的。当我们往ConcurrentHashMap类型的map里put一个键值对时,会发生以下步骤:a

2021-11-22 16:48:11 561

原创 HashMap底层实现

HashMap底层实现一、HashMap存储结构二、HashMap初始化三、(重点)put()方法四、get()方法总结一、HashMap存储结构JDK1.7前是数组+链表,JDK1.8中当数组长度大于64且链表长度大于8时,会从数组+链表转化为数组+红黑树。这里我们可以想到,为什么要在数组长度大于64且链表长度大于8时才转化呢?答:因为在数组长度比较短的时候,比如16时,如果此时链表长度大于8,进行转化,当我们要对数组进行扩容时,会对所有的键值对进行再哈希,这样就会把红黑树拆散,放到新的位置上,

2021-11-05 15:04:33 303

原创 Hash的优劣及具体应用

Hash的优劣及具体应用前言什么是hash解决冲突优缺点应用场景二、HashMap、HashTable、ConcurrentHashMap三者的区别1.HashMap和HashTable的区别2.ConcurrentHashMap底层原理总结前言当进行数据查询时,数组可以直接通过下标迅速访问数组中的元素。而链表则需要从第一个元素开始一直找到需要的元素位置,显然,数组的查询效率会比链表的高。当进行增加或删除元素时,在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其

2021-11-03 15:06:25 3081

原创 常见的数据结构类型

常见的数据结构目录常见的数据结构数据结构是什么?数据结构分类1、数组2、链表3、栈4、队列5、树6、图7、哈希表数据结构是什么?数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构可根据数据访问的特点分为线性结构和非线性结构。线性结构包括常见的链表、栈、队列等,非线性结构包括树、图等。如图所示:数据结构分类1、数组数组一般用来存储相同类型的数据,可通过数组名和下标进行数据的访问和更新,数组下标从0开始。数组中元素的存储是按照先后顺序进行的

2021-10-11 08:37:39 3506

原创 这里是shiro框架的介绍及小白入门,不进来看看吗

这里是shiro框架的介绍及小白入门,不进来看看吗shiro框架简介Shiro主要组成简单说明Shiro配置密码匹配器,主要是定义密码匹配规则,可以自定义。如下图默认将密码明文MD5两次进行匹配缓存管理器,这里集成的是Ehcache缓存实现session管理器Realm,主要用作认证及授权Shiro的核心-SecurityManager 安全管理器登录控制器LoginControllershiro框架简介Apache Shiro 是 Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用

2021-09-26 16:14:46 173

原创 Redis入门教程(一)

Redis小白入门教程(一)这里写目录标题Redis小白入门教程(一)(一)Redis、Jedis、Spring Data Redis(二)How to use RedisTemplate1、pom.xml导入依赖2、配置application.properties3、RedisTemplate的使用4、String类型相关操作(一)Redis、Jedis、Spring Data RedisRedis:是一款开源的K-V数据库,它是用C语言编写的,性能优越,遵守BSD协议。主要特点如下:Redis

2021-09-07 15:54:23 141 1

原创 一篇小白学习搭建第一个SpringCloud项目的总结(一)

1.啥是SpringCloud,和SpringBoot有啥联系SpringCloud是基于SpringBoot的,他们的联系在于SpringBoot专注于开发单个个体微服务,而SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理、服务发现、断路器、路由、为代理、事件总栈、全局锁、决策竞选、分布式会话等等集成服务;每个SpringBoot项目都可以独立使用和开发,但Sprin...

2021-08-13 11:46:39 199 1

空空如也

空空如也

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

TA关注的人

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