游客frjdafvyggdzq_个人页

个人头像照片 游客frjdafvyggdzq
个人头像照片
0
131
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2022年05月

正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2022-05-10

    JDK的核心接口有哪些?

    Publisher/Subscriber/Subscription,Processor

    踩0 评论0
  • 回答了问题 2022-05-10

    Broker有什么具体的劣势?

    网络上多了一跳,性能是有一定损耗的,Broker是中心化设计,类似我们平时全局的Nginx一样,但是Broker的优雅启停显然更加复杂,受限于整个Broker集群的瓶颈等等。

    踩0 评论0
  • 回答了问题 2022-05-10

    Broker有什么具体的优势?

    发布服务不需要监听端口,无需Sidecar,服务注册变得简单,无需zk、etcd之类,LoadBalance变得简单,也更安全,没监听端口后很难攻击。

    踩0 评论0
  • 回答了问题 2022-05-10

    RSocket有哪些玩法?

    1,IoT的场景;2另外最经典的玩法就是Broker了,Broker类似一种“软路由”的方案,可以让服务的发布访问变得简单。

    踩0 评论0
  • 回答了问题 2022-05-10

    数据载体的由什么部分组成?

    由两个二进制部分组成:Metadata——元数据,类似HTTP的header;Data——数据,类似HTTP的body

    踩0 评论0
  • 回答了问题 2022-05-10

    什么是RSocket的内部实现?

    1 帧的设计;2 数据载体——Payload;3 架构;4 玩法;5 关于RSocket Broker

    踩0 评论0
  • 回答了问题 2022-05-10

    帧的概念是什么?

    帧(Frame)是RSocket协议报文的最小单位。一个帧由6 bytes的Header和剩余的Body构成

    踩0 评论0
  • 回答了问题 2022-05-10

    与HTTP相比较,Rsocke的特点是什么?

    RSocket的效率更高,支持的通讯场景更丰富,也没有队头阻塞的问题。与SocketIO这种基于纯事件的框架相比,RSocket的请求具有很清晰的上下文,API精炼易用。

    踩0 评论0
  • 回答了问题 2022-05-10

    RSocket的其他特性?

    1二进制协议,紧凑高效。 2多路复用。 3基于帧(Frame)的背压,与ReactiveStreams语义契合。 4灵活的传输层切换: TCP/UDP/WebSocket等

    踩0 评论0
  • 回答了问题 2022-05-10

    双向通讯Bi-Directional的逻辑是什么?

    RSocket的Client连接到Server,这个过程称为Setup,在连接成功后,会约定收发消息的方向逻辑:当Client请求Server时,发送的请求ID永远为奇数;当Server请求Client时,发送的请求ID永远为偶数

    踩0 评论0
  • 回答了问题 2022-05-10

    RSocket 四种通讯模式是什么?

    1即发即忘FireAndForget2请求响应RequestResponse 3流RequestStream4通道RequestChannel

    踩0 评论0
  • 回答了问题 2022-05-10

    什么是RSocket的主要特性?

    首先,RSocket是高效一个二进制的网络通讯协议,能够满足很多场景下使用。其次,RSocket是一个激进的响应式捍卫者,激进到连API都跟响应式无缝集成。

    踩0 评论0
  • 回答了问题 2022-05-10

    函数 futex_wait_setup主要做哪两件事呢?

    一是对uaddr进行hash,找到futex_hash_bucket并获取它上面的自旋锁,二是判断*uaddr是否为预期值。如果不相等则会立即返回,由用户态继续trylock。

    踩0 评论0
  • 回答了问题 2022-05-10

    futex_wait_queue_me主要做几件事?

    将当前进程插入到等待队列,就是把futex_q 挂到futex_hash_bucket上2启动定时任务3主动触发内核进程调度。

    踩0 评论0
  • 回答了问题 2022-05-10

    futex解决什么问题?

    futex的解决思路是:在无竞争的情况下操作完全在user space进行,不需要系统调用,仅在发生竞争的时候进入内核去完成相应的处理(wait 或者 wake up)。所以说,futex是一种user mode和kernel mode混合的同步机制,需要两种模式合作才能完成,futex变量位于user space,而不是内核对象,futex的代码也分为user mode和kernel mode两部分,无竞争的情况下在user mode,发生竞争时则通过sys_futex系统调用进入kernel mode进行处理。

    踩0 评论0
  • 回答了问题 2022-05-10

    futex 设计了三个基本数据结构是什么?

    futex_hash_bucket,futex_key,futex_q。

    踩0 评论0
  • 回答了问题 2022-05-10

    pthread将futex的锁状态定义为哪3种?

    0,代表当前锁空闲无锁,可以进行快速上锁,不需要进内核。1,代表有线程持有当前锁,如果这时有其它线程需要上锁,就必须标记futex为“锁竞争”,然后通过futex系统调用进内核把当前线程挂起。2,代表锁竞争,有其它线程将要或正在内核的futex系统中排队等待锁。

    踩0 评论0
  • 回答了问题 2022-05-10

    park的具体实现是什么?

    当调用park时,先尝试能否直接拿到“许可”,即_counter>0时,如果成功,则把_counter设置为0,并返回。2如果不成功,则把线程的状态设置成_thread_in_vm并且_thread_blocked。_thread_in_vm 表示线程当前在JVM中执行,_thread_blocked表示线程当前阻塞了。3拿到mutex之后,再次检查_counter是不是>0,如果是,则把_counter设置为0,unlock mutex并返回4如果_counter还是不大于0,则判断等待的时间是否等于0,然后调用相应的pthread_cond_wait系列函数进行等待,如果等待返回(即有人进行unpark,则pthread_cond_signal来通知),则把_counter设置为0,unlock mutex并返回。

    踩0 评论0
  • 回答了问题 2022-05-10

    park的思路是什么?

    parker内部有个关键字段_counter, 这个counter用来记录所谓的“permit”,当_counter大于0时,意味着有permit,然后就可以把_counter设置为0,就算是获得了permit,可以继续运行后面的代码。如果此时_counter不大于0,则等待这个条件满足。

    踩0 评论0
  • 回答了问题 2022-05-10

    ReentrantLock的FairSync的tryAcquire的逻辑有哪些?

    如果此时state(private volatile int state)是0,那么就表示这个时候没有人占有锁。但因为是公平锁,所以还要判断自己是不是首节点,然后才尝试把状态设置为1,假如成功的话,就成功的占有了锁。2如果此时状态不是0,那么再判断当前线程是不是锁的owner,如果是的话,则state 递增,当state溢出时,会抛错。如果没溢出,则返回true,表示成功获取锁。上述都不满足,则返回false,获取锁失败。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息