自定义博客皮肤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)
  • 收藏
  • 关注

原创 2021-10-09

手写lru算法lru 算法是指least recently used 最近最少使用算法,一种常用的页面置换算法,选择最近最久未使用的数据予以淘汰。存在读写操作,就要按照命中率的思路考虑,需要考虑读写的时间复杂度。然后因为存在排序的要求,因此需要区分最近和最少使用的数据进行排序。由于LinkedHashMap可以记录Map中元素的访问顺序,所以可以轻易实现LRU算法,只需要将构造accessOrder传人true,并重写removeEldestEntry方法即可。accessOrder设置为true时

2021-10-10 18:47:54 126

原创 面试题收集

面试20问1,讲一下JVM的运行时数据区 有哪些,作用分别是什么 ?2,CountDownLatch和CyclicBarrier的区别?3,了解Redis持久化机制吗?4,Map了解多少,就讲1.8?5,Java反射与动态代理了解多少?6,事务嵌套的场景,A方法调用B方法事务的传播机制,B方法抛出异常以及发生异常被Catch时A会 发生什么场景7,事务失效的场景?8,AOP有用过吗?什么场景下?原理是什么?9,介绍下mysql的索引 ?10,ABC三列字段,让你来建立索引,你会怎么建?为

2021-09-29 19:53:40 116

原创 mysql存在的索引

Mysql的索引类别:Primary Key(主键索引),Unique(唯一索引),Key(普通索引),FULLTEXT(全文索引)和SPATIAL(空间索引)。Primary Key(主键索引):InnoDB存储引擎的表会存在主键(唯一非null),如果建表的时候没有指定主键,则会使用第一非空的唯一索引作为聚集索引,否则InnoDB会自动帮你创建一个不可见的、长度为6字节的row_id用来作为聚集索引。Unique(唯一索引):索引列的值必须唯一,但允许有空值。若是组合索引,则列值的组合必须唯一。主

2021-09-17 11:15:39 154

原创 Redis的优缺点

优势:1,redis 是将所有数据存放在内存中,因此能够提升系统的响应能力,能够提升用户的体验。2,服务端使用缓存能够减轻数据库服务器的压力。3,提升系统性能指标;例如:缩短响应时间;减少网络传输时间和应用延迟时间;增加用户并发;提高数据库资源的利用率;缺点:1,需要额外服务器;(硬件成本增加)(缓存是一种软件系统中以空间换时间的技术,需要额外的磁盘空间和内存空间来存储数据;搭建缓存服务器集群需要额外的服务器,采用云服务器的缓存服务就不用额外的服务器了;)2,高并发缓存失效;(维护成

2021-09-08 18:29:17 827

原创 Redis存在的缓存问题

缓存穿透缓存穿透是当用户查询的key在redis中不存在,对应的ID在数据库也不存在,此时被非法用户进行攻击,大量的请求会直接打在db上,造成宕机,从而影响整个系统,这种现象称为缓存穿透。(在高并发下查询key不存在的数据,会穿过缓存查询数据库)。缓存穿透的解决方案:1,把空的数据也缓存起来;(比如空字符串,空对象,空数组)存在的问题:缓存太多空值占用了更多空间。3,参数校验,接口鉴权2,利用布隆过滤器。(判断一个元素是否存在一个数组里面,如图,利用二进制去做的一个存储,占用内存比较小,0代表

2021-09-08 18:05:52 457

原创 Redis数据类型

Redis基本数据类型String字符串类型Redis中的字符串是可以修改的字符串,在内存中它是以字节数组(byte[])的形式存在。用途:JPEG图像或序列化的对象信息。在C语言中字符串是以NULL作为结束符,但是在Redis里面字符串不是这么表示。因为在获取NULL结尾的字符串的长度使用的是C语言的strlen标准库函数,这个函数算法复杂度是O(n),它需要对字节数组进行遍历扫描,作为单线程的Redis承受不了。Redis的字符串是SDS(simple dynamic String)。它的结

2021-09-05 19:37:33 164

原创 sql调优相关知识点总结

SQL调优考量的情况影响性能1,用户自定义函数(UDF)SQL语句的select后面使用了自定义函数UDF,SQL返回多少行,那么UDF函数就会被调用多少次,这是非常影响性能的。2,text类型检查如果select出现text类型的字段,就会消耗大量的的网络和IO带宽。设置Max_allowed_packet设置会导致程序报错。3,内联子查询在select后面有子查询的情况称为内联子查询,SQL返回多少行,子查询执行多少次,影响SQL性能。4,from检查表链接方式在MySQL不建议使用

2021-08-14 10:16:35 106

原创 数据库同步相关问题总结

如何做到数据库间的同步Mysql异步同步Mysql在5.5版本之前都默认使用Replication实现从一个mysql实例复制到另一个实例。而Replication是一个异步复制的过程,由于是异步复制的过程,因此延迟会比较小。但是存在一个问题,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,因此主库如果crash掉了,此时主库上已经提交的事务可能并没有传到从库上。mysql Replication的实现原理整个复制操作主要由三个进程完成的,其中两个进程在Sla

2021-08-11 23:45:47 416

转载 Spring,Spring MVC,Spring Boot三者的关系

Spring,Spring MVC,Spring Boot三者的关系Spring一般指Spring Framework,它是一个轻量级Java开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为了开发Java应用程序提供了全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序开发。Spring最根本的使命是解决企业级应用开发的复杂性,提供了一个简单的开发方式,来简化J

2021-08-08 23:58:43 1665

转载 导致ThreadLocal内存泄露

前言在分析ThreadLocal内存泄露时,需要了解什么是内存泄露,强引用以及弱应用。内存泄露内存泄露为程序在申请内存后,无法释放已申请的内存空间。一次内存泄露危害可以忽略,当内存泄露堆积后果很严重,无论多少内存,迟早会被占光。广义并通俗的说,就是:某个对象或者变量不会再被使用,但是该对象的内存却无法被收回,就是内存泄露。强引用与弱引用强引用:使用最普遍的引用,一个对象具有强引用,不会被垃圾回收器回收。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也

2021-08-07 09:49:06 99

原创 线程池总结

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-25 19:05:18 65

原创 eclipse 反编译插件安装步骤

Eclipse  反编译插件 JadClipse 安装步骤:下载jadClipse的插件Jar包;链接:https://sourceforge.net/projects/jadclipse/jar包下载成功后,放入eclipse安装目录里的\plugins目录下;重启eclipse,如果Eclipse开着的话,File>restart一下就可以;下载jad的执行文件;链接:https:

2017-04-20 12:01:30 384

原创 jdk1.5,jdk6,jdk7,jdk8的特性总结

jdk1.5新特性:1. 泛型 2 自动装箱/拆箱 3 for-each 4 static import 5 变长参数jdk1.6新特性:1. 增强的for循环语句 为了迭代集合和数组,增强的for循环提供了一个简单、兼容的语法。2. 注解3. 枚举4.通配符 5. 泛型方法jdk1.7新特性:

2017-03-26 11:13:09 336

空空如也

空空如也

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

TA关注的人

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