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

网站如何做进一步优化新闻今天最新消息

网站如何做进一步优化,新闻今天最新消息,广州开发网站平台,地址二地址三2021变更HashMap 如何解决 哈希冲突? HashMap 是拉链法解决。 发生哈希冲突时,同一个槽位上,会形成一个链表。 一个槽位上的节点达到树化的阈值后,会树化为红黑树。 拉链法:哈希冲突时,同一个哈希槽拉成一个链表…

HashMap 如何解决 哈希冲突?

HashMap 是拉链法解决。

发生哈希冲突时,同一个槽位上,会形成一个链表。

一个槽位上的节点达到树化的阈值后,会树化为红黑树。

  • 拉链法:哈希冲突时,同一个哈希槽拉成一个链表,HashMap采用该方法
  • 开放寻址寻找其他位置,这就保证了一个哈希槽最多存有一个元素
    • 线性探测:哈希冲突时,按顺序往后查找,直到找到第一个为空的槽位,ThreadLocalMap采用该方法
    • 二次探测:与线性探测类似,但有规律,比如每次步长是1,2,4,8,16。。。
    • 再哈希法:哈希冲突时,换个哈希函数再次哈希

jdk 1.6 之后头插法为什么改为尾插法?

头插法会有扩容死链问题。

  • 多线程环境下,一起扩容会有扩容死链问题。

JDK8为什么改用尾插法?

  • 插入时,顺便遍历一下,得到链表的长度,决定是否要转化为红黑树。
  • 避免多线程下扩容可能产生的死循环

foreach 遍历容器时,在循环内部修改集合为什么会抛出异常?

foreach 底层是迭代器。迭代器在调用 next() 方法时,会比较 modCount、expectModCount ,不同就抛异常。

调用集合的修改方法,只更新了 modCount,没有更新 expectModCount。

非 static 方法为什么不会调用非static的变量或者方法?

static 方法,在类的加载时候,就已经初始化好了。

非 static 的变量,是在对象实例化之后,才初始化的。

你总不能访问没有初始化的东西。

为什么Integer中 100==100 , 1000 !=1000 ?

Java 中包装类的缓存机制

  • Byte、Short、Integer、Long 创建了 [-128,127] 对应的缓存数据。
  • Character 创建了数值在 [0,127] 范围的缓存数据。
  • Boolean 直接返回 True / False。
  • Float、Double 没有实现缓存机制。

JVM是如何实现多态的 ?

创建多态对象时使用 invokespecial 字节码,

调用对象方法时使用 invokevirtual 字节码(核心

  • 对象实际类型(对象头中的类指针)。
  • 虚方法表的动态查找(子类重写的方法覆盖父类方法地址)。

invokevirtual 指令解析过程:

  1. 通过对象头,获取到对象的实际类型,
  2. 在该类中(虚方法表 [方法指针数组])寻找,对应的方法,找到的话,返回这个方法的引用。
  3. 找不到的话,按照继承关系从下往上,查找父类中是否有这个方法。
  4. 如果始终没有找到合适的方法,则抛出 java.lang.AbstractMethodError 异常。

防止指令重排序是如何实现的?

首先指令重排是为了优化代码执行效率的机制。

防止指令重排通过内存屏障实现。

在 Java 中就是 volatile 关键字。

volatile 变量在读写时分别加入不同的屏障,阻止其他读写操作越过屏障。

内存屏障本质是什么 ?

  • 内存屏障本质其实就是 CPU 的指令,其能保证指令不重排,有序性。
  • 通过屏障,能保证执行到 volatile 变量时,
    • 其前面的所有语句都必须执行完,后面所有的语句都未执行。
    • 且前面语句的结果对 volatile 变量及其后面语句可见

可重复读 innodb 引擎是如何防止的?

RR 隔离级别下,解决了大部分的幻读、不可重复读

锁 + MVCC

  • 快照读,MVCC 保证,第一次 SELECT 时,生成 readview ;
  • 当前读,锁,保证。

三大日志的区别与作用 ?

undoLog、redoLog、binLog。

undoLog 回滚日志,用于实现 MVCC 和 保证事务的原子性。 逻辑日志,记录 SQL。

redoLog 重做日志,用于崩溃恢复 和 保证事务持久性。物理日志,记录数据。

binLog 二进制日志,用作主从复制。逻辑日志,记录 SQL。

B+ 树 索引的优势是什么 ?

磁盘 I/O 固定,稳定在 3 ~ 4 次

支持范围查询

树的结构变化不大,有冗余节点

什么情况下 B+树 索引表现为劣势?

  • 高并发场景:锁的竞争激烈,导致频繁地页分裂、页合并。
  • 高频的点查询:这时 Hash 索引,优于 B+ 树索引。
  • 模糊匹配场景:模糊匹配时,索引可能失效。
  • 短生命周期数据

https 流程是什么?

首先三次握手,三次握手之后 SSL/TLS 握手。

SSL/TLS 握手流程:

  1. 客户端生成第 1 个密钥,将自己支持的 SSL/TLS 版本、密码套件发送给服务端。
  2. 服务端生成第 2 个密钥,将自己支持的 SSL/TLS 版本、密码套件、数字证书 发送给客户端。
  3. 客户端解密数字证书,生成第 3 个密钥,使用这 3 个密钥共同生成会话密钥。发送给服务端。客户端握手结束通知。
  4. 服务端根据 3 个密钥生成会话密钥,服务端握手结束通知。

手撕

单例模式

LFU缓存

http://www.dtcms.com/wzjs/320004.html

相关文章:

  • 房产网站建设方案百度快速收录网站
  • 移动app做的好的网站潍坊网站排名提升
  • 网站建设会计分录怎么写河南做网站的公司
  • 无锡手机网站制作费用百度搜索排行seo
  • 厦门孚珀科技 网站开发seo推广专员工作内容
  • 网站开发需要注册几类商标营销成功的案例
  • 做外贸公司网站电商seo是指
  • 网站建设 ui设计百度搜索推广流程
  • .net 接单网站公司seo是什么职位
  • 能用VUE做网站web网页制作教程
  • 网络平台建站流程手机app安装下载
  • 农业网站建设模板下载优化大师百科
  • 做网站顺序怎么网上推广自己的产品
  • 商洛做网站多少钱南京怎样优化关键词排名
  • 苏州市建设安全监督局网站网络营销是什么工作
  • 亚马逊免费视频北京seo网站设计
  • dw可以做有后台的网站么sem是什么电镜
  • 政府网站 建设网站优化北京seo
  • 建设银行信用卡提额网站百度站长平台电脑版
  • 企业设计网站建设最佳磁力吧ciliba磁力链
  • 百度爱采购专业的seo搜索引擎优化培训
  • 咸阳做网站公司百度搜索app下载
  • 网站负责人姓名如何做好品牌推广工作
  • 印度网站建设开电商需要多少钱
  • 免费开商城网站吗百度seo优化收费标准
  • 郓城网站建设网络推广项目
  • mssql网站开发seo优化6个实用技巧
  • 网站诊断示例seo怎么刷排名
  • dz网站建设器东莞seo托管
  • 高端上海网站设计公司免费奖励自己的网站