synchronize和lock性能比较
中断了解吗?CPU在中断时会干嘛?
解释下这两个方法,ADD来加入一个事件,RUN来执行事件,有点像缓存这些事件,到点了把执行完的事件删除。123ADD(int x, func *y) // x 是等待秒数,y是函数指针,意思是这个函数x秒后会执行RUN() // 操作系统每一秒会执行一次操作系统提供API:获取time(从1970年至今的秒数)一开始想到了有序链表,ADDO(N)、RUNO(1);然后让我优化,想到了最小堆,ADDO(logN),RUN因为需要调整堆,也是O(logN);再然后类比LRU,想到用这个函数的开始执行时间(当前时间+等待秒数)作为key,然后value为链表中的节点位置,用HashMap来存储,用一个链表来存储事件指针,ADDO(1),在面试官提醒下发现删除可以再用一次搜索(搜索当前时间)O(1)。
栈空间在什么时候进行回收?Java的栈大小是多少?能不能把栈中的数据都分配在堆上?什么时候进行full GC?GC为什么要分代?
用SQL语句实现,在一个有唯一索引的表中插入一条数据,如果这个索引值已经存在,那么就更新这一行,如果不存在,直接插入
数据库如果数据很多,我想查询的数据偏后,怎么样可以快速查询,(回答了分页/limit/偏移量都不对)
为什么tcp三次握手的时候的seq初始化时随机地,而不是从0开始
网卡收到一条数据到进程处理数据,这之间经历了什么(中断的上半部下半部,网络层协议拆包)
大数据量(内存够用)下,快排与堆排序的对比(考察缓存命中率的对比)
暂无评论,快来抢首评~
相关推荐