原创 9.線程池的實現,源碼中常用的方法

一:程池的作用       線程池可以使線程複用,避免了每次線程都new一個新的線程,另外我們可以給線程池一個固定大小,從而避免了大量線程對CPU的佔用。 二:線程池的創建         在Java用有一個Executors工具類,可以

原创 1.java 線程常用工具類

一 Timer 定時器 Timer 類主要是用來完成定時任務的功能,比如鬧鐘這種週期性變化的事物。 ** 1 一個最簡單的定時器** 兩秒鐘後引爆一個定時炸彈。 @Test public void test() {

原创 6.corePoolSize和maxPoolSize的區別

       受限於硬件、內存和性能,我們不可能無限制的創建任意數量的線程,每一臺機器允許的最大線程是一個有界值。因此ThreadPoolExecutor管理的線程數量是有界的。線程池就是用這些有限個數的線程,去執行提交的任務。但是對於多

原创 7.線程池中的阻塞隊列無限大是否合適

      在設置線程池隊列長度時,如果長度設置的不合理就無法發揮出多線程的威力。設置線程池的隊列長度取決於使用場景;比如全程異步的系統,隊列可以設置爲0,corePoolSize設置爲cpu核數。研究tomcat、Dubbo等業界成熟的

原创 5.線程池中變量的定義

1.線程池的概念        線程:進程中負責程序執行的執行單元。一個進程中至少有一個線程。        多線程:解決多任務同時執行的需求,合理使用CPU資源。多線程的運行是根據CPU切換完成,如何切換由CPU決定,因此多線程運行具有

原创 3.多線程的理解

1.多線程的概念        解決多任務同時執行的需求,合理使用CPU資源。多線程的運行是根據CPU切換完成,如何切換由CPU決定,因此多線程運行具有不確定性。 2.多線程的優勢 (1)發揮多核CPU的優勢        隨着工業的進步

原创 8.線程池的隊列一般設置多少

一、ThreadPoolExecutor的重要參數 corePoolSize:核心線程數         核心線程會一直存活,及時沒有任務需要執行        當線程數小於核心線程數時,即使有線程空閒,線程池也會優先創建新線程處理  

原创 4.線程池的運行機制

一、線程池原理 1.1 使用線程池的好處 第一:降低資源消耗。通過重複利用已創建的線程降低線程創建和銷燬造成的消耗。 第二:提高響應速度。當任務到達時,任務可以不需要等到線程創建就能立即執行。 第三:提高線程的可管理性。線程是稀缺資源,如

原创 2.線程的生命週期

線程的生命週期       線程是一個動態執行的過程,它也有一個從產生到死亡的過程。 (1)生命週期的五種狀態 新建(new Thread)       當創建Thread類的一個實例(對象)時,此線程進入新建狀態(未被啓動)。 例如:

原创 目錄

1:線程的工具類 2:線程的生命週期 3:多線程的理解 4:線程池的運行機制 5:線程池中變量的定義 6:corePoolSize和maxPoolSize的區別 7:線程池中的阻塞隊列無限大是否合適 8:線程池的隊列一般設置多少 9:線程

原创 目錄

1:hashMap的原理,hash衝突如何解決 2:hashMap如何保證線程安全 3:hashMap的數據結構,hashcode進行了幾次轉換 4:hashMap的數據結構,get和put方法如何實現 5:hashMap查詢的時間複雜度

原创 目錄

1:什麼情況下發生GC 2:生產環境如何打印Dump快照,如何查詢Dump 3:jvm的流程,各區都存儲什麼數據信息 4:jvm的內存圖和原理 5:系統優化和內存調優有哪些方法 6:分析服務器運行狀態的方式 7:JVM的內存模型 8:虛擬

原创 在Eclipse下安裝C++插件CDT

cdt是在eclipse中編寫C++程序的插件,雖然還不是很完美,但是是在windows中編寫linux下C++程序(GNU C++)的一個好途徑。 按照eclipse的官方網站的要求,要下載如下的東東: 1.eclipse(htt

原创 餓了麼:日訂單量超900萬的架構設計及演進之路

網站在剛開始的時候大概只是一個想法:一個產業的模型,快速地將它產生出來。“快”是第一位的,不需要花太多精力在架構設計上。在網站進入擴張期才需要對架構投入更多的精力來承載網站在爆發時的流量。   餓了麼成立已經8年,現在日訂單量突破9

原创 計算機網絡

協議體系結構TCP協議 概念三次握手爲什麼三次握手四次揮手爲什麼四次揮手SYN攻擊對應的協議UDP協議TCP和UDP區別面向連接和非面向連接的服務的特點是什麼 面向連接非面向連接瀏覽器輸入wwwbaiducom後執行的全過程