進程是執行着的應用程序,而線程是進程內部的一個執行序列。一個進程能夠有多個線程。線程又叫作輕量級進程。spa
線程的劃分小於進程,線程隸屬於某個進程。 進程是程序的一種動態形式,是CPU、內存等資源佔用的基本單位,而線程是不能佔有這些資源的。 進程之間相互獨立,通訊比較困難,而線程之間共享一塊內存區域,通訊比較方便。 進程在執行的過程當中,包含比較固定的入口,執行順序,出口,而線程的這些過程會被應用程序所控制線程
進程是執行着的應用程序,而線程是進程內部的一個執行序列。一個進程能夠有多個線程。線程又叫作輕量級進程。對象
線程的劃分小於進程,線程隸屬於某個進程。 進程是程序的一種動態形式,是CPU、內存等資源佔用的基本單位,而線程是不能佔有這些資源的。 進程之間相互獨立,通訊比較困難,而線程之間共享一塊內存區域,通訊比較方便。 進程在執行的過程當中,包含比較固定的入口,執行順序,出口,而線程的這些過程會被應用程序所控制進程
所謂死鎖是指多個進 程因競爭資源而形成的一種僵局(互相等待),若無外力做用,這些進程都將沒法向前推動。死鎖產生的4個必要條件:內存
垃圾回收是在內存中存在沒有引用的對象或超過做用域的對象時進行。資源
垃圾回收的目的是識別而且丟棄應用再也不使用的對象來釋放和重用資源。作用域
垃圾回收不會發生在永久代,若是永久代滿了或者是超過了臨界值,會觸發徹底垃圾回收(Full GC)。若是你仔細查看垃圾收集器的輸出信息,就會發現永久代也是被回收的。這就是爲何正確的永久代大小對避免Full GC是很是重要的緣由。請參考下Java8:從永久代到元數據區垃圾回收
(注:Java8中已經移除了永久代,新加了一個叫作元數據區的native內存區)循環
愛惜貞操的小編給你們推薦咱們公衆號,會不按期更新Java相關技術文章引用
掃一掃關注我,麼麼噠