zoukankan      html  css  js  c++  java
  • 面试相关

    HashMap与HashTable、ConcurrentHashMap

    HashMap:线程不安全 在多线程情形下会导致死循环

    HashTable:线程安全但是效率低下synchronized保证线程安全弊端 进入等待或轮训场景既不能put也不能get。

    ConcurrentHashMap:分段锁 锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。

    vector,list

    ArrayList :线程不安全,内部是通过数组实现的,它允许对元素进行快速随机访问

    LinkedList : 链表形式,方便插入,不方便查询

    vector:线程安全 效率低.

    进程线程差异:

    进程中包括有多个线程,进程与进程之间是相对比较独立的。

    TCP三次握手:客户端给服务端发送syn包(syn=x),更改状态为SYN_SEND状态;服务端返回SYN(ack=x+1)给客户端将状态改为SYN_RECV;客户端再次发送服务端ACK(ack=y+1),更改状态为ESTABLISHED完成三次握手。

    四次挥手

    第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。
    第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
    第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
    第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

    talk is cheap. show me the code.
  • 相关阅读:
    linux命令备忘
    java搭建finagle(2)
    记一次Time-Wait导致的问题
    读loadBalance技术的一些笔记
    Immutable.js尝试(node.js勿入)
    python flask 部署
    一个奇怪的html上url参数问题
    xxx-servlet.xml vs applicationContext.xml
    大数据环境安装部署步骤
    数据迁移
  • 原文地址:https://www.cnblogs.com/yushizhang/p/12956830.html
Copyright © 2011-2022 走看看