成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

后端ing

roadtogeek / 2804人閱讀

摘要:當(dāng)活動(dòng)線程核心線程非核心線程達(dá)到這個(gè)數(shù)值后,后續(xù)任務(wù)將會(huì)根據(jù)來(lái)進(jìn)行拒絕策略處理。線程池工作原則當(dāng)線程池中線程數(shù)量小于則創(chuàng)建線程,并處理請(qǐng)求。當(dāng)線程池中的數(shù)量等于最大線程數(shù)時(shí)默默丟棄不能執(zhí)行的新加任務(wù),不報(bào)任何異常。

spring-cache使用記錄

spring-cache的使用記錄,坑點(diǎn)記錄以及采用的解決方案

深入分析 java 線程池的實(shí)現(xiàn)原理

在這篇文章中,作者有條不紊的將 java 線程池知識(shí)點(diǎn)的來(lái)龍去脈都介紹了一遍。

史上最全設(shè)計(jì)模式導(dǎo)學(xué)目錄

設(shè)計(jì)模式

Java線程池、Executor原理分析

基于源碼,分析Java線程池實(shí)現(xiàn)。

java 線程池使用和詳解

java 線程池使用和詳解

JS正則表達(dá)式完整教程(略長(zhǎng))

親愛(ài)的讀者朋友,如果你點(diǎn)開(kāi)了這篇文章,說(shuō)明你對(duì)正則很感興趣。 想必你也了解正則的重要性,在我看來(lái)正則表達(dá)式是衡量程序員水平的一個(gè)側(cè)面標(biāo)準(zhǔn)。 關(guān)于正則表達(dá)式的教程,網(wǎng)上也有很多,相信你也看了一些。 與之不同的是,本文的目的是希望所有認(rèn)真讀完的童鞋們,都有實(shí)質(zhì)性的提高。 本文內(nèi)容共…

Java 線程池藝術(shù)探索

文章一開(kāi)始講了線程池的介紹和好處,然后分析了線程池中最核心的 ThreadPoolExecutor 類中構(gòu)造器的七個(gè)參數(shù)的作用、類中兩個(gè)重要的方法,然后在對(duì)比研究了下 JDK 中自帶的四種線程池的用法和內(nèi)部代碼細(xì)節(jié),最后寫了一個(gè)自定義的線程池。

Redis的并發(fā)控制

有關(guān)使用Redis對(duì)并發(fā)控制的實(shí)戰(zhàn)解決方案

如果有人問(wèn)你數(shù)據(jù)庫(kù)的原理,叫他看這篇文章

數(shù)據(jù)庫(kù)

【我整理的 Java 開(kāi)源項(xiàng)目】

整理出一些使用比較廣或者個(gè)人覺(jué)得比較好的java開(kāi)源項(xiàng)目和資料供參考。

如果你覺(jué)得好但是我沒(méi)有列出的開(kāi)源項(xiàng)目請(qǐng)告訴我,方便我添加到列表里。

如果你發(fā)現(xiàn)信息描述有誤請(qǐng)聯(lián)系我,我會(huì)及時(shí)修改或刪除。

文章里面的內(nèi)容會(huì)不斷進(jìn)行變更和補(bǔ)充,后續(xù)除了會(huì)新增開(kāi)源項(xiàng)目,…


學(xué)習(xí)依賴注入與控制反轉(zhuǎn)

學(xué)習(xí)依賴注入與控制反轉(zhuǎn)

JAVA回憶錄之泛型篇

泛型是JDK1.5版本中加入的,在沒(méi)有泛型之前,從集合中讀取到的每一個(gè)對(duì)象都必須進(jìn)行轉(zhuǎn)化。如果有有人不小心插入了類型錯(cuò)誤的對(duì)象,在運(yùn)行時(shí)的轉(zhuǎn)化處理就會(huì)出錯(cuò)。有了泛型之后,可以告訴變一起每個(gè)集合中接受那些對(duì)象類型。編譯器自動(dòng)地為你的插入進(jìn)行轉(zhuǎn)化,并在編譯時(shí)告知是否插入了類型錯(cuò)誤的對(duì)象。

從使用到原理學(xué)習(xí) Java 線程池

關(guān)于 Java 線程池的使用,及原理分析, 分析角度新穎

線程池執(zhí)行原則及參數(shù)詳解

本文介紹關(guān)于線程池的執(zhí)行原則以及構(gòu)造方法的參數(shù)詳解。

線程池的好處

引用自?http://ifeve.com/java-threadpool/?的說(shuō)明:

降低資源消耗。通過(guò)重復(fù)利用已創(chuàng)建的線程降低線程創(chuàng)建和銷毀造成的消耗。

提高響應(yīng)速度。當(dāng)任務(wù)到達(dá)時(shí),任務(wù)可以不需要的等到線程創(chuàng)建就能立即執(zhí)行。

提高線程的可管理性。線程是稀缺資源,如果無(wú)限制的創(chuàng)建,不僅會(huì)消耗系統(tǒng)資源,還會(huì)降低系統(tǒng)的穩(wěn)定性,使用線程池可以進(jìn)行統(tǒng)一的分配,調(diào)優(yōu)和監(jiān)控。

創(chuàng)建線程池
// 參數(shù)初始化

private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
// 核心線程數(shù)量大小
private static final int corePoolSize = Math.max(2, Math.min(CPU_COUNT - 1, 4));
// 線程池最大容納線程數(shù)
private static final int maximumPoolSize = CPU_COUNT * 2 + 1;
// 線程空閑后的存活時(shí)長(zhǎng)
private static final int keepAliveTime = 30;

// 任務(wù)過(guò)多后,存儲(chǔ)任務(wù)的一個(gè)阻塞隊(duì)列
BlockingQueue  workQueue = new SynchronousQueue<>();

// 創(chuàng)建線程的工廠
ThreadFactory threadFactory = new ThreadFactory() {
    private final AtomicInteger mCount = new AtomicInteger(1);

    public Thread newThread(Runnable r) {
        return new Thread(r, "AdvacnedAsyncTask #" + mCount.getAndIncrement());
    }
};

// 線程池任務(wù)滿載后采取的任務(wù)拒絕策略
RejectedExecutionHandler rejectHandler = new ThreadPoolExecutor.DiscardOldestPolicy();

// 線程池對(duì)象,創(chuàng)建線程
ThreadPoolExecutor mExecute = new ThreadPoolExecutor(
        corePoolSize, 
        maximumPoolSize,
        keepAliveTime,
        TimeUnit.SECONDS,
        workQueue,
        threadFactory, 
        rejectHandler
);
具體參數(shù)介紹

corePoolSize

線程池的核心線程數(shù)。在沒(méi)有設(shè)置 allowCoreThreadTimeOut 為 true 的情況下,核心線程會(huì)在線程池中一直存活,即使處于閑置狀態(tài)。

maximumPoolSize

線程池所能容納的最大線程數(shù)。當(dāng)活動(dòng)線程 (核心線程 + 非核心線程) 達(dá)到這個(gè)數(shù)值后,后續(xù)任務(wù)將會(huì)根據(jù) RejectedExecutionHandler 來(lái)進(jìn)行拒絕策略處理。

keepAliveTime

 非核心線程  閑置時(shí)的超時(shí)時(shí)長(zhǎng)。超過(guò)該時(shí)長(zhǎng),非核心線程就會(huì)被回收。若線程池通過(guò) allowCoreThreadTimeOut() 方法設(shè)置 allowCoreThreadTimeOut 屬性為 true,則該時(shí)長(zhǎng)同樣會(huì)作用于核心線程,AsyncTask 配置的線程池就是這樣設(shè)置的。

unit

keepAliveTime 時(shí)長(zhǎng)對(duì)應(yīng)的單位。

workQueue

線程池中的任務(wù)隊(duì)列,通過(guò)線程池的 execute() 方法提交的 Runnable 對(duì)象會(huì)存儲(chǔ)在該隊(duì)列中。

ThreadFactory

線程工廠,功能很簡(jiǎn)單,就是為線程池提供創(chuàng)建新線程的功能。這是一個(gè)接口,可以通過(guò)自定義,做一些自定義線程名的操作。

RejectedExecutionHandler

當(dāng)任務(wù)無(wú)法被執(zhí)行時(shí) (超過(guò)線程最大容量 maximum 并且 workQueue 已經(jīng)被排滿了) 的處理策略,這里有四種任務(wù)拒絕類型。
線程池工作原則

1、當(dāng)線程池中線程數(shù)量小于 corePoolSize 則創(chuàng)建線程,并處理請(qǐng)求。

2、當(dāng)線程池中線程數(shù)量大于等于 corePoolSize 時(shí),則把請(qǐng)求放入 workQueue 中, 隨著線程池中的核心線程們不斷執(zhí)行任務(wù),只要線程池中有空閑的核心線程,線程池就從 workQueue 中取任務(wù)并處理。

3 、當(dāng) taskQueue 已存滿,放不下新任務(wù)時(shí)則新建非核心線程入池,并處理請(qǐng)求直到線程數(shù)目達(dá)到 maximumPoolSize(最大線程數(shù)量設(shè)置值)。

4、如果線程池中線程數(shù)大于 maximumPoolSize 則使用 RejectedExecutionHandler 來(lái)進(jìn)行任務(wù)拒絕處理。

任務(wù)隊(duì)列 BlockingQueue

任務(wù)隊(duì)列 workQueue 是用于存放不能被及時(shí)處理掉的任務(wù)的一個(gè)隊(duì)列,它是
一個(gè) BlockingQueue 類型。

關(guān)于 BlockingQueue,雖然它是 Queue 的子接口,但是它的主要作用并不是容器,而是作為線程同步的工具,他有一個(gè)特征,當(dāng)生產(chǎn)者試圖向 BlockingQueue 放入 (put) 元素,如果隊(duì)列已滿,則該線程被阻塞;當(dāng)消費(fèi)者試圖從 BlockingQueue 取出 (take) 元素,如果隊(duì)列已空,則該線程被阻塞。(From 瘋狂 Java 講義)
任務(wù)拒絕類型

ThreadPoolExecutor.AbortPolicy:

當(dāng)線程池中的數(shù)量等于最大線程數(shù)時(shí)拋 java.util.concurrent.RejectedExecutionException 異常,涉及到該異常的任務(wù)也不會(huì)被執(zhí)行,線程池默認(rèn)的拒絕策略就是該策略。

ThreadPoolExecutor.DiscardPolicy():

當(dāng)線程池中的數(shù)量等于最大線程數(shù)時(shí), 默默丟棄不能執(zhí)行的新加任務(wù),不報(bào)任何異常。

ThreadPoolExecutor.CallerRunsPolicy():

當(dāng)線程池中的數(shù)量等于最大線程數(shù)時(shí),重試添加當(dāng)前的任務(wù);它會(huì)自動(dòng)重復(fù)調(diào)用 execute()方法。

ThreadPoolExecutor.DiscardOldestPolicy():

當(dāng)線程池中的數(shù)量等于最大線程數(shù)時(shí), 拋棄線程池中工作隊(duì)列頭部的任務(wù)(即等待時(shí)間最久的任務(wù)),并執(zhí)行新傳入的任務(wù)。
參考

聊聊并發(fā)(三)Java 線程池的分析和使用

Android 線程池(二)——ThreadPoolExecutor 及其拒絕策略 RejectedExecutionHandler 使用示例

多線程 線程池 ThreadPoolExecutor 介紹


ThreadPoolExecutor 核心實(shí)現(xiàn)原理和源碼解析

本文將詳細(xì)分析 ThreadPoolExecutor 的實(shí)現(xiàn)原理,并結(jié)合源碼介紹 ThreadPoolExecutor 的重要操作,對(duì)理解 ThreadPoolExecutor 非常有幫助。本文中源碼基于 JDK1.7

反射進(jìn)階,編寫反射代碼值得注意的諸多細(xì)節(jié)

本文詳細(xì)解釋了運(yùn)用反射進(jìn)行代碼編寫時(shí)遭遇到的各種常見(jiàn)的 Exception,以及使用反射時(shí)需要注意的一些細(xì)節(jié)問(wèn)題。

ThreadPoolExecutor線程池

ThreadPoolExecutor線程池

分析 Java 線程池執(zhí)行原理

分析線程池源碼

JAVA中的靜態(tài)代理、動(dòng)態(tài)代理以及CGLIB動(dòng)態(tài)代理

代理模式是java中最常用的設(shè)計(jì)模式之一,尤其是在spring框架中廣泛應(yīng)用。對(duì)于java的代理模式,一般可分為:靜態(tài)代理、動(dòng)態(tài)代理、以及CGLIB實(shí)現(xiàn)動(dòng)態(tài)代理。對(duì)于上述三種代理模式,分別進(jìn)行說(shuō)明。

經(jīng)典算法面試題 | 最少操作數(shù)使數(shù)組元素相等 I & II 大合集

專欄 | 九章算法 網(wǎng)址 | www.jiuzhang.com 最少操作數(shù)使數(shù)組元素相等 I 題目描述 給定一個(gè)長(zhǎng)度為n的非空整數(shù)數(shù)組,找出使數(shù)組所有元素均相等的最少操作數(shù),其中一次操作將其中n-1個(gè)數(shù)加上1。 樣例 輸入: [1,2,3] 輸出: 3 說(shuō)明: 最少3次操作到達(dá)…

hash算法原理詳解

主要是對(duì)hash算法中運(yùn)用到的知識(shí)進(jìn)行進(jìn)一步的解析,幫助初學(xué)者進(jìn)一步揭開(kāi)hash算法的神秘面紗。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/68337.html

相關(guān)文章

  • 那些年,我的前端/Java后端書(shū)單

    摘要:全文為這些年,我曾閱讀深入理解過(guò)或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書(shū)籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(guò)(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書(shū)籍。全文為純?cè)瓌?chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書(shū)籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書(shū)...

    fxp 評(píng)論0 收藏0
  • 那些年,我的前端/Java后端書(shū)單

    摘要:全文為這些年,我曾閱讀深入理解過(guò)或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書(shū)籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(guò)(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書(shū)籍。全文為純?cè)瓌?chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書(shū)籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書(shū)...

    Tecode 評(píng)論0 收藏0
  • 那些年,我的前端/Java后端書(shū)單

    摘要:全文為這些年,我曾閱讀深入理解過(guò)或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書(shū)籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(guò)(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書(shū)籍。全文為純?cè)瓌?chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書(shū)籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書(shū)...

    VPointer 評(píng)論0 收藏0
  • 那些年,我的前端/Java后端書(shū)單

    摘要:全文為這些年,我曾閱讀深入理解過(guò)或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書(shū)籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(guò)(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書(shū)籍。全文為純?cè)瓌?chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書(shū)籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書(shū)...

    idealcn 評(píng)論0 收藏0
  • 個(gè)人的web商城網(wǎng)站

    摘要:于是在查找了大量資料,思考著技術(shù)選型,終于決定做一個(gè)展現(xiàn)商品的全棧網(wǎng)站。當(dāng)然這個(gè)網(wǎng)站還有許許多多需要完善并增加的功能,在此之后也會(huì)不斷去完善這個(gè)網(wǎng)站。所幸的是問(wèn)題都已經(jīng)解決,項(xiàng)目也順利部署。 項(xiàng)目介紹 1、作為前端的菜鳥(niǎo),每每看到Github上有很多大神分享著自己的項(xiàng)目時(shí),內(nèi)心都是蠢蠢欲動(dòng),這次終于下定決心要給自己一段時(shí)間來(lái)完成屬于自己的一份作品。2、于是在查找了大量資料,思考著技術(shù)選...

    quietin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<