
每日一题
文章平均质量分 50
一天了解一个计算机知识
快看小脚鱼
自己记录学习笔记
展开
-
集合面试题
答:首先加载因子是表示hashmap的扩容阈值,当元素数量到达数组长度的0.75就会发生扩容。0.75是默认的加载因子,我们也可以设置成自己想要的值,为什么0.75,首先加载因子的选择是一种权衡,如果加载因子较小,就到导致频繁的扩容发生,导致哈希表的填充度较低,可能会浪费空间。如果加载因子较大虽然减少了扩容的频率,也会导致更多的哈希冲突的发生,导致链表的长度增加,从而影响性能。所以默认的0.75在大多数情况下能够提供较好的性能和空间利用率。原创 2024-06-16 19:53:08 · 695 阅读 · 0 评论 -
JAVA基础面试题
答:自定义注解的话是通过元注解实现的,元注解包括:①Target:指定注解可以修饰的类型,像可以设置为在方法上或者在类上。②Retention:表示注解的作用域或者叫生命周期,可以设置为只保留在源文件,或者保留到class文件,还是说执行的时候依然存在。③Docmented:指定注解是否加入JavaDoc。④@Inherited:表示注解是否可以被继承答:首先不同于面向过程的注重事情的步骤和顺序,面向对象更注重事情有哪些参与者以及各自需要做什么。原创 2024-06-15 00:09:53 · 671 阅读 · 0 评论 -
MQ面试题
答:MQ是一个存放消息的先进先出的队列,主要用于消息传递或者通信。MQ的三大特点:①异步调用,将同步操作转换为异步操作,提高系统的响应速度。例子:像一个用户访问订单业务,如果是同步的话,需要等待系统在数据库中更新完数据再返回结果回来,然后再把成功的结果返回给用户。如果用MQ的话用户访问完订单业务就不需要等待数据库的结果,直接把结果返回给用户,然后通过消息队列异步去操作数据库。原创 2024-06-15 00:06:14 · 866 阅读 · 0 评论 -
Redis面试
答:①首先如果采用的是更新数据库和更新Redis的方案,不管是哪种方案,都会产生数据不一致的问题。先R再S,如果更新完R但是更新S失败了,也会导致数据不一致。②先删除缓存,再更新数据库:但是如果是并发情况下,A来更新数据,A删除缓存后,然后去操作数据库,此时B来查询,B看到Redis是空的,然后去数据库查询数据(脏数据)再写到缓存中,而此时A还没有更新数据库,也会导致数据不一致。这样可以节省CPU的资源,但是对内存非常不友好,因为当有很多过期的key但是没有去使用的时候,就会导致大量过期的key没有清除。原创 2024-06-12 01:38:37 · 809 阅读 · 0 评论 -
MySQL面试
答:即当使用一个联合索引时,查询语句中的索引列必须从最左列开始,并且不跳过某一个索引列,如果跳跃了后面字段的索引全部失效。但是当全部列都出现时,并且使用的是=筛选条件时,其顺序可以不做要求,因为SQL的优化器会优化,选择执行效率最高的执行方案。答:不管是直接的先写binlog还是先写redolog都是会造成数据不一致的情况发生。两阶段提交:首先将redolog写了,然后将其标为prepare状态。原创 2024-06-11 00:27:20 · 954 阅读 · 0 评论 -
JVM面试
jvm原创 2024-06-10 00:58:37 · 1022 阅读 · 0 评论 -
每日一题: 为什么要使用Spring?
提供了功能更加强大且灵活的web框架支持。②通过切面增强功能减少代码的侵入性。①简化企业级应用程序的开发。十分的庞大且提供完善的支持。把业务逻辑和系统服务分开。①首先Spring的。③IoC/DI:通过。原创 2024-04-01 00:13:23 · 763 阅读 · 0 评论 -
每日一题:InnoDB和MyISAM索引实现的区别
InnoDB和MyISAM索引实现的区别原创 2024-03-26 00:49:45 · 145 阅读 · 0 评论 -
每日一题:Redis什么是缓存穿透、雪崩、击穿以及如何解决
即用户的请求直接跳过缓存直接访问数据库,即使数据库的所有数据都在缓存中,比如恶意攻击发送一个id=-1的请求。由于某种原因,用户请求的数据在缓存中找不到,大量的请求直接访问到数据库导致数据库崩掉。1、无意义数据放入缓存,下一次相同请求就会命中缓存;由于缓存热点键到时失效导致用户请求直接访问数据库。2、让缓存节点分布在不同的物理节点上;1、生成随机失效的缓存时间数据;2、IP过滤,把ip直接拉黑;3、生成不失效的缓存数据;4、定时任务更新缓存数据;原创 2024-03-20 08:57:32 · 475 阅读 · 1 评论 -
每日一题:Redis单线程进程为什么还这么快?
3.基于I/O多路复用技术提升了Redis的I/O利用率。2.正由于是单线程,就没有线程转换的开销。4.高效的数据存储结构:全局哈希表。1.命令执行是基于内存操作。原创 2024-03-19 11:31:55 · 331 阅读 · 1 评论 -
每日一题:ArrayList和LinkedList的区别(即数组与链表)?
Arralist是基于索引的数据接口,他的底层是数组,一个数据挨着一个数据排列存储。而linkedlist是以元素列表的形式存储数据,每一个元素中有存储的数据和指向下一个元素的指针。插入:array的插入是把目标位置及目标位置后面所有的数据往后移动一个单位然后再把数据插入进去。删除:array的删除与插入即是相反的,删除目标位置的数据之后要把后面的数据往前移动一个单位。而linkedlist删除目标位置数据后也只需要把前后两个元素的指针指向。原创 2024-03-17 12:47:14 · 348 阅读 · 1 评论 -
每日一题:Java面向对象有哪些特征?
主要是提高了代码的复用性。原创 2024-03-17 12:26:12 · 334 阅读 · 1 评论 -
每日一题:MySQL事务的四大特性ACLD以及实现原理
原创 2024-03-16 15:09:45 · 225 阅读 · 1 评论 -
每日一题:Cookie和Session的含义与区别
你第一次向服务器发出网络请求之后,当你第二次再次发出网络请求后,服务器并不知道是又你发出的网络请求。原创 2024-03-15 10:52:03 · 272 阅读 · 1 评论 -
每日一题:Http网络请求返回的各种状态码的含义?
首先可以根据状态码判断是哪里出了问题然后再细找问题出在哪里原创 2024-03-14 10:17:23 · 420 阅读 · 1 评论 -
每日一题:HTTP和HTTPS的区别?
HTTP:是互联网上应用最广泛的基于tcp的一种网络通信协议HTTPS:是HTTP的加强版,可以看做HTTP+SSL(Secure Socket Layer)是在HTTP上增加了一系列的安全机制区别:原创 2024-03-13 08:49:40 · 218 阅读 · 0 评论 -
每日一题:Redis和MySQL如何保持数据一致性?
Redis是一个高性能的key-value数据库。是应用层和数据库之间读写操作的一个缓冲层,主要目的是去减少数据库的IO,提高性能。原创 2024-03-12 10:32:33 · 346 阅读 · 1 评论