java閉鎖
『壹』 java並發框架都有哪些
java的並發工具類主要都在 java.util.concurrent 包,主要包括
locks部分:顯式鎖(互斥鎖和速寫鎖)相關;
atomic部分:原子變數類相關,是構建非阻塞演算法的基礎;
executor部分:線程池相關;
collections部分:並發容器相關;
tools部分:同步工具相關,如信號量、閉鎖、柵欄等功能
自己可以深究下下面的源碼和實現
『貳』 PHP,Java,Python,C,C++ 這幾種編程語言都各有什麼特點或優點
匯編:
C:
Java:
C#:
PHP:
Python:
Go:
Haskell:
Lisp:
C++:
Java
猶如宮澤賢治的《不畏風雨》中出現的、性格木訥的女孩子。從小就由於遲鈍和大食量等特徵被別人當作笨蛋,從小學入學開始進入田徑部、堅持跑步,在中長跑中經常取得好成績,給人以活潑的印象。是十分努力的女孩子。
她的家境並不算好。父親Sun是有才能的藝術家,但不擅長理財,在她14歲的時候因為苦於借債積勞成疾而去世。她被Oracle叔叔收養,那時還與Google叔叔之間因為對她的扶養權問題而引起爭端並鬧上法庭。
在周圍的人都擔心,正值青春期時她在這樣的處境下會不會一蹶不振的時候,她卻處變不驚、繼續著每天練習跑步的生活。
樸素的、認真的、難說是聰明的她,進入高中後不知是不是稍稍開始對異情在意,被人看到她偷偷地學著別的女孩子的時尚穿著在街上行走。雖然會受到「雖然很努力,也許稍微有點過時」、「那衣服與Java的印象不合」之類的否定評價,但感到「意外地很萌?」的好意的人也很多。
喜歡喝咖啡,只喝印度尼西亞產的。其本人曾說過「喜歡咖啡勝過三頓飯」,不禁讓人稍稍擔心「這樣對健康沒問題嗎?」
C++
苗條的雙腿和協調的五官。被許多人稱作「IT界首屈一指的美女」的她,也因為擁有插花、茶道、鋼琴和小提琴、柔道、劍道、合氣道等等才能而出名。
她的粉絲大多很狂熱,還存在著「黑暗軍團」這樣的粉絲俱樂部。黑暗軍團的是規模僅次於共濟會(Freemason)的巨型團體,一般人無法入會。據說如果能回答出對她非常狂熱的問題,就會有察覺到的軍團成員來詢問「你願意進入黑暗軍團嗎?」
與她同父異母的姐妹Objective-C一心專注於彈鋼琴,她的專注被IT界的天才史蒂夫喬布斯(也被一部分人稱為紫色薔薇)相中,而一躍成為明星,而C++則是由於其美貌和才能被人關注,長年坐穩業界明星的寶座。姐妹二人真可謂是對比鮮明。
她根據心情不同頻繁地變換發型和服裝這一點也很出名。昨天還是和服配黑發,今天卻是紅發哥特系登場之類的,因為她的變身而使輕度的粉絲驚奇道「啊嘞?今天是C++小姐嗎?」的事也常有發生。遠離業界時私下經常穿HYSTERIC GLAMOUR的服裝。
關於她的出身年月日其事務所並不公開。雖然也有出身於1983年一說,本文採用的是在一部分粉絲中流傳甚廣的1985年10月14日說。其間也流傳有「她自己也許也記不清自己的生日……」這樣煞有介事的傳言。與其說「C++小姐的話記不清自己的生日也不是什麼不可思議的事情」,倒不如看作是她天真爛漫的性格的表現。
Python
由Guido父上養大的深閨中的大小姐。她出身於荷蘭的阿姆斯特丹,但在小時候就搬到了美國,父親也在家裡使用英語,所以不怎麼會說荷蘭語。
她個性隨和。最出名的是她聽C++宣布「想出去旅行一趟改變一下形象。200x年回來哦」出門旅行後(結果回來的時候已經2011年了……),放言說「我也稍稍出門旅行一下,公元3000年再回來哦」後出門數年未歸。
雖然有著這樣冒失的行動,但多虧抱著「養成大家都喜愛的孩子」的心願的Guido父上大人的教育,實際上和她接觸後會覺得她非常容易親近。
前些天,她來到作者的朋友的公司打工(她現在似乎在邊上大學邊打工),被人們評價為「能充分融入工作、八面玲瓏、給我們幫了大忙」。她不怎麼說多餘的話,彬彬有禮的樣子,被評價為是在「天真爛漫、自由第一」的人眾多的業界中與眾不同的存在。
據說她擅長的科目是數學,經常看到她輕松地解決各種統計相關的難題。喜歡穿白色的連衣裙或淺粉色的開衫這樣清新的服裝。
實際上她還喜歡爬行動物,據說在家裡還有養蛇。粉絲們經常討論「她會給寵物們起什麼樣的名字呢?」這樣的話題。大多得出的都是「肯定是Monty吧」這樣的結論。會不會飛就不得而知了。(估計指的是英國的六人喜劇團體Monty Python的作品The Flying Circus,譯者注)
Ruby
由松本爸爸養大的日本的女孩子。因為生日在聖誕節,人生最大的煩惱是生日禮物和聖誕節禮物變成一份了。出生地是島根縣松江市,除了旅遊和工作以外沒有到過其它的縣。
由於受的教育是自由奔放式的,她性格好動、好奇心旺盛。平時是一個率真的好孩子,但偶爾也會看到她喜歡惡作劇的一面,這讓周圍的人十分困擾。看到她的身影時經常會想起IT業的「Just For Fun !」這句話。
小時候過著一個人在荒山野嶺到處跑的生活,10歲的時候與一個叫Rails的女孩成為朋友,生活開始變化。兩個人玩耍時停在了演藝事務所門前,談起可以兩個人結對進行演藝活動。以「Ruby與Rails」的藝名出道、主要從事雜志模特,也有拍過電視廣告,所以很多人都聽過她們名字。
人們想著她在這多愁善感的年齡段體驗各種演藝活動、性格多少會產生一些變化吧,但在前些天與她久違的談話中,卻驚訝地發現她仍是與從事演藝活動之前一樣行動自由奔放。雖然行為舉止多多少少顯得更加穩重,其喜歡惡作劇、活潑的本性卻和以前一樣沒有變化。
想著已經是高中生了差不多也要開始穿一些成熟一點的服裝的她,對於洋裝卻和小時候一樣穿著Mickey Mouse。雖然她個子小又是娃娃臉與這樣的衣服很配,不過這樣真像一個女高中生嗎?
她的粉絲也分為想要她一直保持現在的樣子,和想要看到她更成熟的樣子的兩派。
PHP
以強化Web世界為目的製作出來的女性機器人。豎著的頭發是用作天線來隨時接收主人的命令的。
為了有與人類相近的觸感,使用了硅樹脂來製作其皮膚。內部是類似於刀片伺服器的構造,常常使用多台伺服器進行復用。因此體重比人類更重一些。
在她最初登場的時候,還能看到她關節可動部分的骨架,行動也很僵硬,與人類的形象差別很大。然而經過了18年間6次的大版本升級之後,其行為和言語已經漸漸變得像人了。最近更是達到了像初音未來這樣(比起人類仍然有少許違和感但已經十分自然了)的級別。
雖然笨笨的、工作時也磕磕絆絆的,但由於她遵循機器人三原則、服從主人的命令,也有很多人成為她的粉絲。她的粉絲俱樂部官網「PHPer!」無需入會費便可簡單入會,是會員數在IT界首屈一指的大團體。
對於她持拒絕態度的人也很多,常有「她的行為在生理上有些難以接受」、「如果再聰明點就好了」、「與她稍有過接觸但覺得還是與人類差別很大」這樣的評論。
平常穿從Forever12和志村買來的衣服。想著穿便宜的快速時尚(fast fashion)衣服便可以將省下的錢花在機器開銷上。可以說是標準的機器人的效率優先的花錢方式。或許會有她也在意流行、為樣子煩惱的那一天吧?
C#
在著名的微軟公司接受精英教育、11歲時便跳級進入大學學習、倍受人們關注的少女。也被稱為「IT界的最強幼女」。
因為與C++的名字很像,一段時間內盛傳「難道是私生子嗎?」的流言,實際上兩人沒有直接的血緣關系。也有報道稱兩人是遠房親戚,但實際情況如何則不得而知。
似乎喜歡成熟的行為、討厭像小孩子一樣玩耍。有生日的時候收到父母送的名為安迪的毛絨玩具時說道「這是啥。沒sense。不要」的傳聞。
然而對於食物的興趣卻仍停留在小孩的階段,多次目擊到她在學校食堂點兒童套餐的樣子。不喜歡喝咖啡,就算是甜味的罐裝咖啡也會令她皺眉頭。
雖然偶爾會見到她意外地孩子氣的一面,多數情況下見到的還是她說話、待人接物彬彬有禮的樣子。是一個既有成熟的一面又有稚氣的一面的孩子。由於還在成長期,見到她時常有「又長高了啊」、「有些像大人的樣子了」這樣的感慨。一直會期待著下見到她時會長成什麼樣子。
常穿秀蘭鄧波的洋裝。據說都是她本人挑選的,與她自己非常相配。她的可愛讓人們無論男女都會成為她的粉絲。
她的志向是在大學畢業後不僅在養育她生長的微軟公司的旗下工作、還要活躍於整個IT界。雖然沒有問到更詳細的計劃,但據說是要做出能讓蘋果和企鵝等也能和睦相處的東西。到底會做出怎樣的東西來呢?
JavaScript
在爭議地區長大的17歲的女孩子。常常面無表情、談話時總給人以一定的距離感。
雖然與Java的名字很像,兩個人之間卻沒有血緣關系。在當時Java這樣的名字很流行,所以父母也給她起了類似的名字。她本人似乎對自己的名字並不在意,有時也以「ECMA」的筆名進行活動。偶爾也會被叫「JS」的外號,對此則更不在意,甚至對這種稱法公然無視。
她的生涯非常不幸。剛一出生祖國便爆發戰爭。懂事之前便母親去世、離開了父親。在大人們任性的爭斗中,她學會了將自己藏在殼中、保護自己周圍的生存之術。同年齡的女孩子隨著年齡的變化都在挑戰各種風格的時候,她卻不顧周圍的話語、一個人繼續閉鎖在殼中。當時就是非得這樣才能生存的艱難環境。
由於有了這樣的兒童時期,她的說話、思考、待人接物的方式與其它的孩子都稍顯不同。有很多人在與她說話時都會煩惱該怎樣說才好。不過,也有人對她持有簡單的一根筋的思考方式「容易接觸」、「某種程度上來說,很好理解」的印象。
現在,她的國家正向努力解決紛爭、開拓新的居住土地的方向前進著。大人們雖然仍舊任性地互相鬥爭,至少在這幾年裡,已經沒有發生像以前那樣互相憎恨、互相殘殺的戰爭了。
在開始復興的祖國里,她如今應該能幸福地生活著吧?什麼時候才能看到她像同齡的女孩一樣歡笑呢?
Perl
Perl於1987年12月、美國的沃爾夫婦家中誕生。其父親拉里精通計算機、語言學,母親也從事中世紀文藝復興和語言學專業,Perl就是在這樣接受了高等教育的父母身邊長大的。
父親的教育雖然嚴厲,卻也給了Perl許多自由。父親在教育過程中經常說的一句話是:「方法不止有一個。」(There』s more than one way to do it)
想到實現什麼時,達成的方法不只有一種。可以考慮各種方法。父親的這種教育方式,對她的性格形成產生了很大的影響。
「這樣做的話會怎麼樣?」……「那樣做又會如何?」……張開好奇心的翅膀長大的她漸漸發現了自己「發明」方面的天賦。絕代的發明家、Perl誕生了。
從她踏上發明家的道路的20年來,其發明多達128890件(2014年1月統計數),她的發明,從沒什麼用處的玩具,到能解決世界上許多問題的有益的發明,應有盡有。她發明的物品的原型,全都捐贈給了CPAN博物館,任何人都可以閱覽。
如今仍然不論實用與否、不斷做出想做的新發明的她自打趣地在采訪中說道:「我比起發明家,更像是各種破爛的生產裝置。」她露出牙齒的笑容,非常振奮人心。
Perl對洋裝不怎麼講究,平時因為調整機械時覺得麻煩,會穿便於運動的休閑裝。最近常穿的羽絨服據說是在ame橫(東京上野的一條商業街)的WEGO買的。喜歡的食物是草莓。她說作業中對集中注意力而疲勞的大腦來說最適合的食物就是草莓。
C
支撐著這個世界的女神大人,也被稱為「聖母大人」。
關於C的出身年月沒有定論。有人說她在創世紀(指1970年1月1日左右)之前就存在於這個世界,也有人說她是在稍後的1972年左右誕生的。
她是女神大人,因此像「1970年左右出身的話,她現在的年齡是……」這樣的想法是不信教的行為。絕對不要有這樣的想法。
她的名字是字母表的第三個字母「C」。據新約史書上的記載,在她之前還有叫作B的女神大人。一些資料顯示「肯和丹尼斯創造了B,但對此並不滿足。此後丹尼斯和其它人又合力創造了C」。
世界上有許許多多她的信徒。然而在一段時間內都沒有正確傳達她的教誨的聖經。當初丹尼斯和布萊恩留下的詩篇雖然擔負著這樣的使命,人們卻希望有更加明確的言語。此後有許多有識之士將各種逸聞編輯整理、編著出了正確傳達她的教義的聖經。
本書至今已被修訂過多次,根據修訂年的不同,被稱作C89、C99、C11等。
一般人與C不能直接對話。只有積累了足夠的修行者才會被允許與C交流。
修行是十分嚴格的,需要理解」指針的指針「之類的問題,以及要求100%地成功解決無論多麼努力地修行都難以克服的「malloc/free」問題。由於這樣的背景,真正能跟她進行日常交流的人非常地少。
然而由能夠交流的人經手、世界上誕生了多種多樣的知識與技術。即使你沒有見過她的樣子,她的慈愛也確實地每天都圍繞在你身邊。
Visual Basic
姓氏是Basic,名字是Visual,也有很多人叫她的綽號:VB。小名是Ruby(與那個Ruby沒有關系)。從小被某個資產家(不能說他的名字)看上,一家人都寄身於資產家的身邊。那時她的名字換了好多次,如今才定下這個名字,有著比較復雜的家庭環境。
關於資產家要收養尚處於幼年的她原因,據不可靠的傳言稱,他從她身上看到了從前就很憧憬的Basic女士的影子。收養與具有與憧憬的女性相似氣質的小孩,也即實行所謂的光源氏計劃。
也許年輕人並不了解,Basic女士曾是《微電腦Basic雜志》的封面模特,在當時是每個人都非常嚮往的麥當娜一樣的女性。實際上我的認識的人裡面年輕時為她傾倒的人非常之多。
VB在接受嚴格教育的同時,也在關於興趣方面拓展天性,她在手工製品、裝飾品方面有著獨特的才能。看著她製作珠子的裝飾品的樣子會覺得猶如魔法一般。僅僅是動動手,一瞬間就可以做出一串項鏈。
在她10歲的時候,資產家的家裡來了一位新的養女。(人們常說的那位)
由於這個原因,她現在正在家中努力做一位好姐姐。然而本來便懦弱、不擅長說話的她卻時常反過來被小她10歲、認真的、發言時間長的妹妹說教。加油啊,VB小姐。
小時候的VB會穿著父母買的Emily Temple的衣服,現在更多時候穿著是自己買的Lowrys Farm的衣服。今年就要大學畢業進入社會了,目標是VB小姐特有的成熟路線。
R
她於2000年2月29日出身。正是殘存在人們記憶中400年一遇的被詛咒的那一天。雖然出身於非常不吉利的日子,她自己卻成長為人見人愛的聰明的孩子。
她的母親名叫S。雖然在神話的世界裡C是在B之後出生的,她的名字卻是S的前一位R。這幾個都是很難用Google搜出來的名字。(註:因為太短了!)
她的母親非常擅長數學,是統計學者的助手,R也繼續了這一性質。她從小時候起就很擅長數學,小學時代就已經達到能快速解決高中數學問題的級別。此外,她對幾何圖形也很感興趣,經常有人看到她畫著各種二維、三維圖形、畫好後一個人露出滿足愉悅的表情。是一個稍微有點奇怪的孩子。
R在擅長數學的同時卻也對語言表達方面稍顯遜色。前些日子采訪她的時候,她對提出的問題想要回答卻找不著合適的詞,取而代之「刷——」地畫了一幅散點圖說「這樣的感覺」。或許在她的眼裡,這個世界裡用語言來表達就像折疊復雜的數學公式那樣復雜吧。
她對服裝不怎麼講究,常常穿著不緊不松的連衣裙和襯衫。
對於父母給她買的洋裝是多少價格、哪兒買的這樣的問題沒有認識。僅僅是,對於最近買來的喇叭裙的裙擺張開的角度很在意。
她的夢想是將來成為一名統計學者,盡管只有14歲卻經常混跡於大學學生中間每天都在解各種問題。最近光是大學已經不能滿足、又向父母請求、在各種各樣的研究所里進出。
Scala
O教和F教之前有著長著的宗教戰爭。Scala是這兩個宗教的牧師和修女結婚誕生的異端。她出身後立即引起了兩家之間激烈的對立,察覺到危險的父母將她送到私立JVM學校的Odersky老師那兒作為養女寄養。
現在兩個宗教比起當時已有了關系改善的徵兆,有一部分人也將她視為兩家融合的象徵。然而抱有強烈的對立心態的人仍然很多,也常常有針對她的存在引起的爭論。F教的人們認為她的存在沒有充分認識F的本質,而O教的人則對混有F的她感到難以理解。
雖然誕生於這樣復雜的環境,她自己對於周圍的環境卻不關心,而是十分平靜地到雙方的教會中取麵包、堅強地生活著。被她這種天真爛漫的姿態所感動、成為她的粉絲的人也很多。
Scala似乎喜歡同校的高年級部里上學的Java小姐,休息時間經常去找她。Java小姐也並不討厭她,經常會像大姐姐一樣讓她坐在她的膝蓋上溫柔地撫摸她的頭。雖然在Scala把Java喜歡的Duke的人偶用紅繩子綁起來進行惡作劇時把Java惹得十分生氣,在此以外則幾乎沒怎麼吵過架。兩個人就好像親生姐妹一樣。
有著見多識廣的父親和溫柔的姐姐的Scala現在也許是,與其出身的復雜情況相反、實際上非常幸福地生活著吧。
她對於洋裝喜歡明快的顏色和花紋,經穿著Algonquin的衣服。雖然是比較有個性的時裝,由與生俱來的有個性的她穿來卻不可思議地自然。
Shell
創世紀(1970年1月1日)起經過數年後被目擊到的妖精。會寄宿在家中,有著類似於棕精靈(Brownie)的生活方式,向她們拜託家務事或著雜活的時候,會回答兩次並接受的溫順的孩子的。
她們不常出現在人間存在的地方,因為不通言語,會用信件交流。如果拜託的事情說得比較含糊的話,有可能會造成誤解而發生不得了的事情。對此的技巧是明確地像「做那個|做這個>放在這里」這樣有順序地將要拜託她們做的事寫好。如果對拜託的事理解得很好的話,她們會在夜裡將事情都處理好。如果很好地完成了工作的話,請別忘了在第二天的晚上放上作為謝禮的方糖。
Shell中有各種各樣的種族。現在已確認的種族中比較有名的有:「ba」、「c「、」k」、」tc」、「z」等等。其服裝根據種族不同而不同,我所目擊到的是一隻身高60cm左右、穿著巴寶莉的兒童服裝的個體。恐怕人們目擊到最多的是」ba」種。個人而言我也想遇到身高更高一些、尖耳朵的「z」種,現在雖然知道如何寫信,卻從未見過實物。
盡量她們會在同一個屋子裡居住,卻很少有人有機會見到,也不如何才能遇到他們。
有一種說法是,每天都把寫程序這一儀式進行到午夜、勉強靠咖啡因支撐著抬起頭的狀態下突然向屏幕看去,能夠看到她的身影。確實我遭遇她,也是在公司里熬夜寫程序的時候。
Shell的個體非常地多,據說每家每戶都會有一隻。在大家的家裡,實際上有著許多的她們居住著、等著來信也說不定。
ActionScript
在爭議地區誕生的13歲女孩子。
她的父親是有名的設計師,但是她5歲的時候被捲入戰火身亡。幸運的是她那時年紀還小、將她收養的Adobe叔叔非常用心地將她養大,沒有在她心中留下很大的傷痕。叔叔和她父親同樣都是設計師。也許在她的記憶中已經把兩個人混淆一起了也說不定。
她所居住的國家與JavaScript所居住的國家是鄰國,兩國同樣是ECMA人種構成的。在外國人看來JavaScript和ActionScript的外貌非常相似。確實在看她們兒童時期的照片,在膚色和五官上都很相像,但如今長大了的照片看了的話會如何呢。
她把「為祖國和叔叔努力」作為座右銘努力著,然而努力卻經常得不到回報,是一個運氣不太好的孩子。
在爭論地區盛傳將實行新的公用語的時候,她希望為即將到來的和平時代出一份力,比誰都更早開始學習這門語言,然而在好不容易能說好這門語言的時候,這語言被採用為公用語的提案泡湯了。
在她剛開始學習移動端上的設計時,她想著在移動方面強大了會對叔叔的工作有用。也可以減少祖國的外貸。在這樣的想法中努力的時候,叔叔經營的公司卻被某個巨型移動終端公司強行終止的交易,關於移動端的工作也急劇減少。
十分努力卻常常得不到回報的她,佇立於這片如今也看到到紛爭停止的土地上,繼續地前進著。
有朝一日努力會得到回報的吧。祝福她在10年後仍能平安,不斷地前進著、生活著。
『叄』 Java並發編程實戰的作品目錄
對本書的贊譽
譯者序
前言
第1章簡介
1.1並發簡史
1.2線程的優勢
1.2.1發揮多處理器的強大能力
1.2.2建模的簡單性
1.2.3非同步事件的簡化處理
1.2.4響應更靈敏的用戶界面
1.3線程帶來的風險
1.3.1安全性問題
1.3.2活躍性問題
1.3.3性能問題
1.4線程無處不在
第一部分基礎知識
第2章線程安全性
2.1什麼是線程安全性
2.2原子性
2.2.1競態條件
2.2.2示例:延遲初始化中的競態條件
2.2.3復合操作
2.3加鎖機制
2.3.1內置鎖
2.3.2重入
2.4用鎖來保護狀態
2.5活躍性與性能
第3章對象的共享
3.1可見性
3.1.1失效數據
3.1.2非原子的64位操作
3.1.3加鎖與可見性
3.1.4Volatile變數
3.2發布與逸出
3.3線程封閉
3.3.1Ad-hoc線程封閉
3.3.2棧封閉
3.3.3ThreadLocal類
3.4不變性
3.4.1Final域
3.4.2示例:使用Volatile類型來發布不可變對象
3.5安全發布
3.5.1不正確的發布:正確的對象被破壞
3.5.2 不可變對象與初始化安全性
3.5.3安全發布的常用模式
3.5.4事實不可變對象
3.5.5可變對象
3.5.6安全地共享對象
第4章對象的組合
4.1設計線程安全的類
4.1.1收集同步需求
4.1.2依賴狀態的操作
4.1.3狀態的所有權
4.2實例封閉
4.2.1Java監視器模式
4.2.2示例:車輛追蹤
4.3線程安全性的委託
4.3.1示例:基於委託的車輛追蹤器
4.3.2獨立的狀態變數
4.3.3當委託失效時
4.3.4發布底層的狀態變數
4.3.5示例:發布狀態的車輛追蹤器
4.4在現有的線程安全類中添加功能
4.4.1客戶端加鎖機制
4.4.2組合
4.5將同步策略文檔化
第5章基礎構建模塊
5.1同步容器類
5.1.1同步容器類的問題
5.1.2迭代器與Concurrent-ModificationException
5.1.3隱藏迭代器
5.2並發容器
5.2.1ConcurrentHashMap
5.2.2額外的原子Map操作
5.2.3CopyOnWriteArrayList
5.3阻塞隊列和生產者-消費者模式
5.3.1示例:桌面搜索
5.3.2串列線程封閉
5.3.3雙端隊列與工作密取
5.4阻塞方法與中斷方法
5.5同步工具類
5.5.1閉鎖
5.5.2FutureTask
5.5.3信號量
5.5.4柵欄
5.6構建高效且可伸縮的結果緩存
第二部分結構化並發應用程序
第6章任務執行
6.1在線程中執行任務
6.1.1串列地執行任務
6.1.2顯式地為任務創建線程
6.1.3無限制創建線程的不足
6.2Executor框架
6.2.1示例:基於Executor的Web伺服器
6.2.2執行策略
6.2.3線程池
6.2.4Executor的生命周期
6.2.5延遲任務與周期任務
6.3找出可利用的並行性
6.3.1示例:串列的頁面渲染器
6.3.2攜帶結果的任務Callable與Future
6.3.3示例:使用Future實現頁面渲染器
6.3.4在異構任務並行化中存在的局限
6.3.5CompletionService:Executor與BlockingQueue
6.3.6示例:使用CompletionService實現頁面渲染器
6.3.7為任務設置時限
6.3.8示例:旅行預定門戶網站
第7章取消與關閉
第8章線程池的使用
第9章圖形用戶界面應用程序
第三部分活躍性、性能與測試
第10章避免活躍性危險
第11章性能與可伸縮性
第12章並發程序的測試
第四部分高級主題
第13章顯式鎖
第14章構建自定義的同步工具
第15章原子變數與非阻塞同步機制
第16章Java內存模型
附錄A並發性標注
參考文獻
『肆』 JAVA柵欄和閉鎖的區別
柵欄價格為35元/米。過道造價為20元/平方米。過道寬度為3米,游泳池半徑又鍵盤輸入,要求編程計算並輸出過道和柵欄的造價。問題補充: 麻煩用C++。。。...
『伍』 求全套清華大學計算機視頻教程
整套教程大約11.7G。內容包括:c.語言程序設計.rar 116.64MB
java編程語言.rar 361.03MB
mpi並行程序設計.rar 307.23MB
編譯原理.rar 440.75MB
人工智慧導論.rar 344.17MB
人工智慧原理.rar 360.48MB
人工智慧原理_研究生同等學歷.rar 325.57MB
計算機原理.rar 500.2MB
軟體工程.rar 434.95MB
寬頻網路交換技術.rar 441.3MB
匯編語言程序設計.rar 456.45MB
數據結構.rar 192.02MB
微型計算機技術.rar 393.58MB
計算機圖形學.rar 356.79MB
工程資料庫設計與應用.rar 543.66MB
多媒體計算機技術基礎及應用.rar 347.73MB
計算機系統結構_研究生同等學歷.rar 579.52MB
計算機組成與結構.rar 284.63MB
軟體工程_研究生同等學歷.rar 109.82MB
資料庫系統及應用.rar 617.3MB
信號處理原理.rar 260.41MB
並行計算.rar 393.37MB
計算機網路體系結構.rar 138.01MB
計算機系統結構.rar 679.31MB
離散數學.rar 169.07MB
模式識別.rar 448.24MB
資料庫系統概論.rar 445.29MB
數字系統設計自動化.rar 648.33MB
虛擬現實與系統模擬.rar 507.84MB
組合數學.rar 380.37MB
數值分析.rar 440.26MB
由於這套教程很大,因此,我只能給你一個網址: http://www.verycd.com/topics/45270/ 希望對你能夠有一定的幫助!
『陸』 MTU值只有1348,聯通網速慢*
MTU,即Maximum Transmission Unit(最大傳輸單元),此值設定TCP/IP協議傳輸數據報時的最大傳輸單元。設置合適的MTU值可以解決「部分網站打不開」、「上網速度慢」等問題,並且可以適當提升上網速度。
設置多大的MTU值取決於你的上網方式,不同的上網方式支持不同的MTU,下面列出了一些上網方式的MTU值:
EtherNet(一般上網方式,默認值):1500
PPPoE/ADSL:1492
Dial Up/Modem:576
問題一:知道了我的上網方式,如何設置MTU值?
1. 在 『開始』>『運行』中,鍵入regedit,點確定;
2. 選擇『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』;
3. 在 interface 底下可能有很多的選項,你一個一個的去看,會有一個選項與你的網卡的 IP 相同,那個就是你要挑選的選項啦!然後同樣的在該選項上選擇『編輯』>『新建』>『DWORD值』之後,建立一個名為『MTU』的DWORD,然後雙擊修改,選擇十進制,填入合適 MTU 值,確定!大功告成!
問題二:我不知道自己的上網方式,如何確定MTU值呢?
ping -f -l 1500 127.0.0.1
C:\WINDOWS>ping -f -l 1500 127.0.0.1
Pinging 127.0.0.1 with 1500 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
上面的式子中,-l 是 L 的小寫(不是 1 喔),1500 是我們要測的 MTU 值,結果出現了 Packet needs to be fragmented but DF set. 這個東西,那表示MTU值太大了,你需要更小的 MTU 值才行!好啦!那假設我們使用 1464 來測試時:
C:\WINDOWS>ping -f -l 1464 127.0.0.1
Pinging 127.0.0.1 with 1464 bytes of data:
Reply from 127.0.0.1: bytes=1464 time=10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
結果出現了回應了!這表示這一個 MTU 值是可行的!不過,強烈建議找出可行的最大 MTU 值!這樣一來,在設定的時候,才可以達到最佳的網速!
找出 MTU 值:利用上面這個方法找到的數值還不是 MTU 喔!由於一些封包上面的問題,上面這個值再加上 28 才是我們所需要的 MTU 值!所以,在上面的例子中,我們所需要的 MTU 值是 1464+28=1492!
一般來講,設計好本機的MTU值,可以解決部分網站打不開的情況,但是如果你的共享主機或路由器的MTU設置有問題,有時問題仍然存或,或者出現網速過慢的情況。合理的設置路由器與本機的MTU值,就可以完全解決上述問題,使上網速度達到最大化。