java面试中常问哪些问题|江都上元教育java编程培训
1、操作系统什么情况下会死锁?
所谓死锁:是指多个进程在运行过程中因争夺资源而造成的一种僵局来源www.bdsh5.com。产生的原因:竞争资源:当系统中多个进程使用共享资源,并且资源不足以满足需要,会引起进程对资源的竞争而产生死锁。进程间推进的顺序非法:请求和释放资源的顺序不当,也同样会导致产生进程死锁
2、产生死锁的四个条件:
1.互斥条件(进程独占资源)2.请求与保持(进程因请求资源而阻塞时,对已获得的资源保持不放) 3.不剥夺条件(进程已获得的资源,在末使用完之前,不能强行剥夺) 4.循环等待(若干进程之间形成一种头尾相接的循环等待资源关系)
3、 如何理解分布式锁?
由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题b.d.s.h.5.c.o.m。
4、线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?
线程同步与否 跟 阻塞非阻塞没关系,同步是个过程,阻塞是线程的一种状态。多个线程操作共享变量时可能会出现竞争bdsh5.com。这时需要同步来防止两个以上的线程同时进入临界区内,在这个过程中后进入临界区的线程将阻塞,等待先进入的线程走出临界区。
5、 同步和异步有什么区别?
同步和异步最大的区别就在于b+d+s+h+5+c+o+m。一个需要等待,一个不需要等待。同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改b.d.s.h.5.c.o.m。
任何关于相关专业的问题想要知道都可以联系我,上元教育欢迎您的咨询,一定知无不言,言无不尽!