BAT最多见的5个Java面试题,赶忙收藏起来

进程和线程的区别是什么?

进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程能够有多个线程。线程又叫作轻量级进程。spa

线程的划分小于进程,线程隶属于某个进程。 进程是程序的一种动态形式,是CPU、内存等资源占用的基本单位,而线程是不能占有这些资源的。 进程之间相互独立,通讯比较困难,而线程之间共享一块内存区域,通讯比较方便。 进程在执行的过程当中,包含比较固定的入口,执行顺序,出口,而线程的这些过程会被应用程序所控制线程

进程和线程的区别是什么?

进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程能够有多个线程。线程又叫作轻量级进程。对象

线程的划分小于进程,线程隶属于某个进程。 进程是程序的一种动态形式,是CPU、内存等资源占用的基本单位,而线程是不能占有这些资源的。 进程之间相互独立,通讯比较困难,而线程之间共享一块内存区域,通讯比较方便。 进程在执行的过程当中,包含比较固定的入口,执行顺序,出口,而线程的这些过程会被应用程序所控制进程

什么是死锁(deadlock)?

所谓死锁是指多个进 程因竞争资源而形成的一种僵局(互相等待),若无外力做用,这些进程都将没法向前推动。死锁产生的4个必要条件:内存

  • 互斥条件:进程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某 资源仅为一个进程所占有。此时如有其余进程请求该资源,则请求进程只能等待。
  • 不剥夺条件:进程所得到的资源在未使用完毕以前,不能被其余进程强行夺走,即只能 由得到该资源的进程本身来释放(只能是主动释放)。
  • 请求和保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源 已被其余进程占有,此时请求进程被阻塞,但对本身已得到的资源保持不放。
  • 循环等待条件:存在一种进程资源的循环等待链,链中每个进程已得到的资源同时被 链中下一个进程所请求。

Java中垃圾回收有什么目的?何时进行垃圾回收?

垃圾回收是在内存中存在没有引用的对象或超过做用域的对象时进行。资源

垃圾回收的目的是识别而且丢弃应用再也不使用的对象来释放和重用资源。作用域

JVM的永久代中会发生垃圾回收么?

垃圾回收不会发生在永久代,若是永久代满了或者是超过了临界值,会触发彻底垃圾回收(Full GC)。若是你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的。这就是为何正确的永久代大小对避免Full GC是很是重要的缘由。请参考下Java8:从永久代到元数据区垃圾回收

(注:Java8中已经移除了永久代,新加了一个叫作元数据区的native内存区)循环

 

爱惜贞操的小编给你们推荐咱们公众号,会不按期更新Java相关技术文章引用

扫一扫关注我,么么哒

相关文章
相关标签/搜索