摘要:一圖讀懂線程與進程一個進程可以包含一個或多個線程。棧幀中保存了該函數的返回地址和局部變量。公眾號貓說現架構設計碼農兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不定期干貨。
本博客 貓叔的博客,轉載請申明出處前言
本系列將由淺入深,學習Java并發多線程。
一圖讀懂線程與進程1、一個進程可以包含一個或多個線程。(其實你經常聽到“多線程”,沒有聽過“多進程”嘛)
2、進程存在堆和方法區
3、線程存在程序計數器和棧
4、堆占最大內存,其為創建時分配的,是多線程共享的,主要存放new創建的對象
5、方法區也是多線程共享的,主要存放類、常量、靜態變量
6、CPU的基本執行單位是線程(注意!不是進程)
7、由此,線程需要一個程序計數器記錄當前線程要執行的指令地址
8、當CPU的時間片用完,讓出后記錄當前執行地址,下次繼續執行(時間片輪詢)
9、只有執行Java代碼時pc技數器記錄的才是下一條指令的地址,執行native方法,則記錄的是undefined地址
10、線程中的棧,只要存儲線程局部變量、調用棧幀
棧幀:C語言中,每個棧幀對應著一個未運行完的函數。棧幀中保存了該函數的返回地址和局部變量。公眾號:Java貓說
現架構設計(碼農)兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不定期干貨。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73320.html
摘要:再者,現在互聯網的面試中上點的都會涉及一下或者的問題個高級多線程面試題及回答后端掘金在任何面試當中多線程和并發方面的問題都是必不可少的一部分。假如源碼分析之掘金概念是中集合的一種實現。 攻破 JAVA NIO 技術壁壘 - 后端 - 掘金現在使用NIO的場景越來越多,很多網上的技術框架或多或少的使用NIO技術,譬如Tomcat,Jetty。學習和掌握NIO技術已經不是一個JAVA攻城獅...
摘要:導讀閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步了解一個資深架構師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己進行查漏補缺,覺得本文對你有幫助的話,可以點贊關注一下。目錄一基礎篇二進階篇三高級篇四架構篇五擴 導讀:閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步了解一個資深架構師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己...
線程池ExecutorService 一. new Thread的弊端 執行一個異步任務你還只是如下new Thread嗎? new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start(); 那你就太out了,...
閱讀 3405·2021-11-24 09:39
閱讀 1796·2021-11-17 09:33
閱讀 3502·2021-10-12 10:12
閱讀 5018·2021-09-22 15:51
閱讀 1111·2019-08-30 13:11
閱讀 3570·2019-08-30 10:59
閱讀 563·2019-08-30 10:48
閱讀 1311·2019-08-26 13:48