当前位置: 首页 > news >正文

网站换一家做还用备案么一个网站需要多大的空间

网站换一家做还用备案么,一个网站需要多大的空间,网站建设+设计那种连接线厂家,济南网站建设有限公司1. HashMap有了解吗 解答 HashMap是基于哈希表的Map接口实现,使用数组链表/红黑树(JDK8)存储数据。通过hash(key)计算桶位置,解决哈希冲突采用链地址法。当链表长度≥8且数组长度≥64时,链表转为红黑树提升查询效率&…

1. HashMap有了解吗

解答

HashMap是基于哈希表的Map接口实现,使用数组+链表/红黑树(JDK8+)存储数据。通过hash(key)计算桶位置,解决哈希冲突采用链地址法。当链表长度≥8且数组长度≥64时,链表转为红黑树提升查询效率;当树节点≤6时退化为链表。


2. HashMap的扩容

解答

触发条件:元素数量超过阈值(容量×负载因子,默认0.75)。
扩容过程:

  1. 创建新数组(原容量×2)
  2. 重新计算所有元素位置(index = (n-1) & hash
  3. 链表/树节点拆分到新桶(JDK8优化:高位差判断,避免全量重哈希)

3. HashMap是线程安全的吗?

解答

❌ 非线程安全。并发场景下可能导致:

  • 多线程扩容引发死循环(JDK7链表头插法导致)
  • 数据覆盖(多线程同时插入相同桶位)
    替代方案:
  • ConcurrentHashMap(分段锁/CAS)
  • Collections.synchronizedMap()

4. 列举几个线程安全的集合

解答

类型实现类特点
JUC集合ConcurrentHashMap分段锁+CAS
CopyOnWriteArrayList写时复制
ConcurrentSkipListMap跳表实现
同步包装类Collections.synchronizedList同步锁封装
Collections.synchronizedMap同步锁封装

5. 说一下CopyOnWriteArrayList

解答

原理

  • 写操作(add/set/remove)时复制新数组,修改后替换原数组
  • 读操作无锁直接访问原数组
    ​优点​​:读性能极高,适合读多写少场景
    ​缺点​​:
  • 写操作内存占用高(复制全量数据)
  • 数据弱一致性(读操作可能读到旧数组)
    ​适用场景​​:监听器列表、配置信息缓存

6. 说一下ReentrantLock

解答

基于AQS(AbstractQueuedSynchronizer)的可重入锁,特性:

公平/非公平模式

  • 公平锁:按队列顺序获取
  • 非公平锁:直接竞争(默认)
  1. 可中断lockInterruptibly()支持响应中断

  2. 条件变量Condition实现精准线程唤醒

  3. 锁重入:同一线程可多次获取锁(计数+1)


7. ReentrantLock非公平锁是怎么实现的

解答

流程

  1. 尝试直接CAS抢锁(无视等待队列)
  2. 若失败则入队,再次CAS抢锁
  3. 仍失败则进入阻塞状态
    ​代码关键点​​:
final boolean nonfairTryAcquire(int acquires) {if (CAS(state, 0, acquires)) { // 直接尝试修改状态setExclusiveOwnerThread(currentThread());return true;}// ...重入逻辑
}

优势:减少线程切换,吞吐量更高
​劣势​​:可能导致线程饥饿


8. 说一下Spring中的AOP

解答

核心概念

概念说明
切面(Aspect)模块化横切关注点(如日志、事务)
连接点(Joinpoint)方法执行/异常抛出等时机
通知(Advice)增强逻辑(@Before/@After等)
切点(Pointcut)定义哪些连接点执行通知
实现原理:动态代理(JDK Proxy或CGLIB)

9. 说一下动态代理的两种方式

解答

方式原理限制性能
JDK Proxy基于接口,反射生成代理类目标类需实现接口较快
CGLIB字节码框架(ASM)生成子类无法代理final方法/类首次加载慢
Spring策略:有接口用JDK Proxy,否则用CGLIB

10. SpringBoot比Spring好在哪里

解答

核心优势

  1. 自动配置@EnableAutoConfiguration自动装配Bean
  2. 内嵌容器:Tomcat/Jetty无需单独部署
  3. 简化配置application.properties替代XML
  4. 起步依赖spring-boot-starter-*整合常用库
  5. 生产就绪:Actuator提供健康检查/监控端点

11. 说一下SpringBoot中的约定大于配置

解答

核心理念:通过预定义规则减少显式配置
​典型约定​​:

  • 项目结构:src/main/java为代码根目录
  • 配置文件:application.properties/yml自动加载
  • 包扫描:主类所在包及其子包自动扫描
  • 端点路径:Actuator监控端点统一为/actuator/*
    ​优势​​:开发效率提升50%+,配置复杂度降低70%+

12. 说一下MySQL的存储引擎有哪些

解答

引擎事务锁粒度外键适用场景
InnoDB行锁OLTP、高并发写
MyISAM表锁读密集型、数据仓库
Memory表锁临时表、缓存
Archive行锁(插入)日志归档

13. InnoDB和MyISAM的区别

解答

特性InnoDBMyISAM
事务✅ ACID兼容
锁机制行锁、间隙锁表锁
外键
崩溃恢复Redo Log保证
索引结构聚簇索引(数据存B+树叶节点)非聚簇索引(数据分离)

14. 聚簇索引和非聚簇索引

解答

聚簇索引(Clustered Index)

  • 数据行物理存储顺序与索引一致(如InnoDB主键索引)
  • 每表仅有一个聚簇索引
    ​非聚簇索引(Secondary Index)​​:
  • 索引与数据分离(如MyISAM所有索引)
  • 叶子节点存储数据行指针(InnoDB中为主键值)
    ​查询流程​​:非聚簇索引需回表查询(通过主键二次查找聚簇索引)

15. MySQL中的事务

解答

ACID特性

  • 原子性(A):Undo Log回滚
  • 一致性©:约束(主键/外键)保证
  • 隔离性(I):MVCC+锁机制
  • 持久性(D):Redo Log刷盘
    ​隔离级别​​:
    读未提交读已提交可重复读(默认)串行化
    (隔离性增强,并发性下降)

16. ACID四大特性是怎么实现的

解答

特性实现机制
原子性Undo Log:记录数据修改前状态,回滚时反向补偿
一致性应用层逻辑+数据库约束(唯一键/外键)
隔离性MVCC + 锁(行锁、间隙锁)
持久性Redo Log:事务提交前先写日志,宕机后重放恢复

17. 说一下MVCC

解答

**多版本并发控制(MVCC)**核心组件:

隐藏字段

  • DB_TRX_ID:最近修改事务ID
  • DB_ROLL_PTR:回滚指针指向Undo Log

ReadView

:事务开启时生成,包含:

  • m_ids:活跃事务ID列表

  • min_trx_id:最小活跃事务ID

  • max_trx_id:预分配事务ID
    ​可见性规则​​:

  • < min_trx_id:已提交,可见

  • ≥ max_trx_id:将来事务,不可见

  • 在m_ids中:未提交,不可见


18. 说一下MySQL中的锁

解答

按粒度分

  • 表锁:MyISAM默认,开销小但并发低
  • 行锁:InnoDB支持,分三类:
    • 记录锁(锁定单行)
    • 间隙锁(锁定区间)
    • 临键锁(记录锁+间隙锁)
      ​按模式分​​:
  • 共享锁(S):允许并发读
  • 排他锁(X):禁止其他读写
  • 意向锁(IS/IX):避免表级冲突检查

19. 什么是幻读?可重复读会发生幻读吗?

解答

幻读:同一事务中多次范围查询结果集行数不同(因其他事务插入/删除数据)
​可重复读(RR)下的表现​​:

  • 快照读(普通SELECT):MVCC避免幻读
  • 当前读(SELECT FOR UPDATE):可能幻读(需间隙锁阻塞插入)
    ​解决方案​​:
  1. 显式加锁:SELECT ... FOR UPDATE
  2. 提升隔离级别:SERIALIZABLE

20. MySQL三大日志

解答

日志作用层级
Binlog主从复制、数据恢复(逻辑日志)MySQL Server层
Redo Log崩溃恢复(物理日志)InnoDB引擎层
Undo Log事务回滚、MVCC(逻辑日志)InnoDB引擎层
协同机制:两阶段提交保证Binlog与Redo Log一致性

21. 说一下Redo Log

解答

作用:确保事务持久性,宕机后恢复未刷盘数据
​流程​​:

  1. 事务修改数据页 → 写入内存Buffer Pool
  2. 生成Redo Log记录 → 写入Log Buffer
  3. 事务提交时Log Buffer刷盘(策略由innodb_flush_log_at_trx_commit控制)
    ​特点​​:
  • 顺序写(比随机写快10倍+)
  • 循环写入文件组(ib_logfile0/1

22. 你知道什么是事务的两阶段提交吗

解答

目的:保证Redo Log与Binlog逻辑一致性
​阶段​​:

Prepare

  • 写Redo Log并标记PREPARE
  • 写Binlog到内存

Commit

  • Binlog刷盘

  • Redo Log标记COMMIT
    ​崩溃恢复逻辑​​:

  • Binlog完整 → 提交事务

  • Binlog不完整 → 回滚事务


23. 说一下Redis的持久化几种

解答

方式原理优点缺点
RDB定时内存快照(SAVE/BGSAVE)恢复快、文件小可能丢失最后一次快照数据
AOF追加写操作命令数据更安全文件大、恢复慢
混合RDB+AOF(Redis 4.0+)速度与安全兼顾复杂度高
生产建议:启用RDB+AOF混合模式

24. 说一下RDB和AOF的刷盘策略

解答

RDB触发条件

  • 手动触发:SAVE(阻塞)/BGSAVE(后台fork)
  • 自动触发:save <seconds> <changes>配置阈值
    ​AOF刷盘策略​​:
  • always:每条命令刷盘(安全,性能差)
  • everysec:每秒刷盘(平衡,默认)
  • no:由OS决定(性能好,可能丢数据)
    ​优化​​:定期执行BGREWRITEAOF压缩AOF文件

25. 说一下分布式锁的实现

解答

方案原理缺点
数据库唯一索引利用唯一键冲突插入锁记录性能低、无自动失效机制
Redis SETNXSET key value NX EX + 过期时间主从切换可能导致锁失效
ZooKeeper创建临时有序节点,最小节点获锁性能较低
RedLock多Redis实例(N/2+1成功即获锁)实现复杂
推荐方案:Redis单实例或Redisson框架

26. Redisson怎么实现分布式锁

解答

核心流程

加锁

  • Lua脚本原子操作:SET lock_key uuid NX PX expire
  • 启动看门狗线程自动续期(默认每10秒续约)

解锁

  • Lua脚本校验锁归属(UUID匹配)后删除

  • 发布解锁消息唤醒等待线程
    ​特性​​:

  • 可重入:通过计数器实现

  • 公平锁:基于ZooKeeper顺序节点

  • 红锁(RedLock):多实例容错


27. 说一下MySQL和Redis的数据一致性问题

解答

常见方案对比

策略操作顺序问题
先更DB后删缓存更新DB → 删除缓存删缓存失败导致脏读
先删缓存后更DB删除缓存 → 更新DB更新DB失败时缓存已删
优化方案
  1. 延时双删
    删缓存 → 更新DB → 休眠 → 再删缓存
  2. Binlog监听
    Canal监听Binlog → 更新/删除缓存(最终一致)
  3. 设置缓存过期
    容忍短期不一致,依赖过期时间兜底
    ​关键原则​​:强一致性难实现,优先保证DB正确性
http://www.yayakq.cn/news/690353/

相关文章:

  • 机关单位网站建设管理制度群晖wordpress端口无法登陆
  • 静态购物网站模板免费网站站长
  • 网站运营名词解释公司的网站建设费应该怎么入账
  • 临沂的网站建设怎么做类似豆瓣的网站
  • 海珠区建设和水务局网站php 手机网站
  • 网站建设与运营在线考试创新驱动发展战略内容
  • 兰州做网站咨询兰州做网站公司短网址还原工具
  • 网站开发加设计要多少钱做网站 什么语言好
  • 河南郑州网站建设哪家公司好甘肃省建设工程网上投标网站
  • 大连市城市建设档案馆网站天猫网站的建设
  • 网站上传用什么软件做视频教程重庆网站建设大概需要多少钱
  • 二手购物网站建设方案备案系统
  • 网站小图标怎么做软件工程月薪一般多少
  • 网站开发技术及开发环境高端电商设计公司
  • 怎样做宣传网站商城小程序
  • 2018做网站站长免费的项目管理软件
  • 良庆网站建设手工做衣服的网站
  • 代理网站地址深圳南头网站建设公司
  • 公司网站建设开发室内装修公司名字大全
  • 新房地产网站开发免费上外国网站的浏览器
  • 淄博网站制作服务推广wordpres做影视网站
  • 站长资源平台百度云加速
  • 南京企业免费建站太原网站制作公司哪家好
  • 做外贸外文网站怎么做好品牌网站建设磐石网络优等
  • 搜索引擎网站排名seo网站推广佛山
  • wordpress站内信网页小游戏下载
  • 柴沟堡做网站备案时的网站名称
  • 网站常用英文字体域名安全检测中心
  • 如何进行医药网站建设现在注册一个公司要多少钱
  • 汽贸做网站有用处吗株洲新区发布