这些年背过的面试题——个人项目篇
对比性能最好的fasthttp,虽然fasthttp在请求延迟低于10ms时性能优势明显,但其底层使用的对象池容易让人踩坑,导致其易用性较差,所以没必要过于追求性能而忽略了稳定性。至于RPC框架,我推荐选用gRPC,因为它的扩展性和性能都非常不错。在秒杀系统中,Redis中的数据主要是给秒杀接口服务使用,以便将配置从管理...
Java面试题46-55
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。)sleep就是正在执行的线程主动让出cpu,cpu去执行其他线程,在sleep指定的时间过后,cpu才会回到这个线程上继续往下执行,如果当前...
这些年背过的面试题——实战算法篇
最开始还是用哈希分流的思路来处理,把包含百亿数据量的词汇文件分流到不同的机器上,具体多少台机器由面试官规定或者由更多的限制来决定。对每一台机器来说,如果分到的数据量依然很大,比如,内存不够或其他问题,可以再用哈希函数把每台机器的分流文件拆成更小的文件处理。处理每一个小文件的时候,哈希表统计每种词...
10道线程池面试题,没多少人能全部答得上来
TIDYING:线程池自主整理状态,调用terminated()方法进行线程池整理。TERMINATED:线程池终止状态。面试题9:知道线程池中线程复用原理吗?线程池将线程和任务进行解耦,线程是线程,任务是任务,摆脱了之前通过Thread创建线程时的一个线程必须对应一个任务的限制。在线程池中,同一个线程可以从阻塞队列中不断获取新...
长沙Java培训:高并发编程JUC包面试题及答案
在Java5.0提供了java.util.concurrent(JUC)包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步IO和轻量级任务框架。下面长沙Java培训机构给大家分享一下高并发编程JUC包面试题及答案:(1)多线程和单线程的区别和联系答:在单核CPU中,将CPU分为很小...
常见的中级java工程师面试题
常见的中级java工程师面试题1.如何在两个线程间共享数据通过在线程之间共享对象就可以了,然后通过wait/notify/notifyAll、await/signal/signalAll进行唤起和等待,比方说阻塞队列BlockingQueue就是为线程之间共享数据而设计的2.如果你提交任务时,线程池队列已满,这时会发生什么...
程序员面试题分享,掌握八成便可BAT一试!
面试之前多刷刷网上的面试题,尤其是出现概率比较高的题是很有帮助的。面试中主要涉及的知识点有Redis(源码、集群和持久化)、Hashmap(原理和容量)、Hashset的源码、Object类、hashcode和equals、排序算法(快速排序等)、隔离(概念,Mysql的隔离级别)、线程池、Java(内存模型、垃圾回收)、数据库索引... 如果之前刷...
史上最全Java面试题之相关概念部分(带全部答案)
intern()方法会首先从常量池中查找是否存在该常量值,如果常量池中不存在则现在常量池中创建,如果已经存在则直接返回。比如Strings1=”aa”;Strings2=s1.intern();System.out.print(s1==s2);//返回trueObject中有哪些公共方法?1.equals()...
Java 中 ThreadPoolExecutor 线程池必备知识点:工作流程、常见...
>>号外:关注“Java精选”公众号,回复“2021面试题”关键词,领取全套500多份Java面试题文件。1.Java的线程池①合理使用线程池的好处Java的线程池是运用场景最多的并发框架,几乎所有需要异步或者并发执行任务的程序都可以使用线程池。合理使用线程池能带来的好处:...
面试官:如何评估一个线程池需要设置多少个线程
1.2向线程池提交任务时线程创建过程那当用户向线程池提交一个任务的时候,线程池会如何创建线程呢?首先线程池会判断当前已创建的线程是否小于corePoolSize(核心线程数),如果小于,则无论已创建的线程是否空闲,都会选择创建一个新的线程来执行该任务,直到已创建的线程等于核心线程数。