java难点面试题_【Java】java面试题难点总结(3)

21-1-12

关于分片/哨兵总结

1.Redis分片主要的作用实现内存的扩容,缺点:没有实现高可用的效果.

2.Redis哨兵主要的作用实现了redis节点高可用. 缺点:没有实现内存扩容

Redis哨兵机制实质就是引入第三方的监控,但是需要保证第三方的高可用.就必须引入更多的资源.

redis相关问题

1).redis集群中一共可以存储16384个数据?

不对: redis中存储多少数据完全由内存决定

hash(key1)=3000

hash(key2)=3000

2).redis集群中最多可以有多少个redis主机? 16384台主机 一台主机管理一个槽位.

Redis集群宕机条件

问题:9个redis节点最少宕机几台集群才崩溃

Redis的所有节点都会保存当前redis集群中的全部主从状态信息.并且每个节点都能够相互通信.当一个节点发生宕机现象.则集群中的其他节点通过PING-PONG检测机制检查Redis节点是否宕机.当有半数以上的节点认为宕机.则认为主节点宕机.同时由Redis剩余的主节点进入选举机制.投票选举链接宕机的主节点的从机.实现故障迁移.

特点:集群中如果主机宕机,那么从机可以继续提供服务,

当主机中没有从机时,则向其它主机借用多余的从机.继续提供服务.如果主机宕机时没有从机可用,则集群崩溃.

答案:9个redis节点,节点宕机5-7次时集群才崩溃.

Redis hash槽存储数据原理

说明: RedisCluster采用此分区,所有的键根据哈希函数(CRC16[key]%16384)映射到0-16383槽内,共16384个槽位,每个节点维护部分槽及槽所映射的键值数据.根据主节点的个数,均衡划分区间.

算法:哈希函数: Hash()=CRC16[key]%16384

懒汉式–面试的重点!!! — 延迟加载 + 线程不安全

class Student{

//1,私有化构造

private Student(){}

//2,自己创建一个对象

static private Student s ; //null

//3,对外提供的一个get()

synchronized static public Student getS() {

// 4, 在多线程编程中,共享资源s,被多条语句操作,一定会有安全隐患 -- 必须加锁

// 锁加在 同步方法或者同步代码块都可以,

// 如果共享资源是静态资源,那么,锁对象必须 固定是 类名.class

// 如果方法是普通方法锁对象默认是this,如果是静态方锁对象默认是类名.class

// synchronized (Student.class){

if(s == null){//如果是默认值null,就创建对象--保证了单例!!

s = new Student();

}

return s;

// }

}

}

饿汉式–学习工作中使用的方式!!!

class Person{

//1, 私有化构造方法 -- 不让外界随便new

private Person(){}

//2,在 类的内部 提供一个new好的对象

//加static -- 因为静态只能调用静态,所以,想要被静态的getP()调用,必须修饰成静态的

static private Person p = new Person();

//3,提供公共的访问方式getXxx(),获取p对象

//加static -- 目前无法通过创建对象来调用getP(),所以变成静态的,直接通过类名来调用getP()

static public Person getP(){

return p ;//把创建好的对象p,返回给调用位置

}

}

伪静态说明

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。伪静态技术是指展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。

总结: 以.html结尾的动态页面的技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值