當前位置:首頁 » 操作系統 » java並發編程實戰源碼

java並發編程實戰源碼

發布時間: 2022-06-18 06:56:51

⑴ 大神覺得學習java,應該用什麼書

1.java基礎。

2.html/css/js ,servlet/jsp(j2ee) 以及mysql資料庫應用。

3.學習框架,一般ssm(spring + springmvc+mybatis) 。

4.了解maven工程。

5.看完《java編程思想》。

6.1-2年看《大話設計模式》《head first》。

7.代碼編寫優化《重構改善既有代碼的設計》,《effective java》。

8.2-3年《深入理解java虛擬機》。

9.《java並發編程實戰》.

10.查看java類庫,jdk源碼

11.其他技術,比如大數據,分布式緩存,分布式消息服務,分布式計算,軟負載均衡等,深入了解其中一項再考慮其他。

12.《深入理解計算機系統》(比較適合java Web開發和APP後端開發),《tcp/ip詳解 卷一,二,三》(適合網路編程),《數據結構與演算法》(適合計算機研究工作,如分布式計算)。

13.這個時候可以去Github創建一個屬於自己的開源項目,打造自己的產品。

⑵ java並發編程實戰過時了嗎

java並發編程實戰沒有過時,java並發我們可以看成是為了解耦和而存在的策略,它幫助我們把做什麼(目標)和什麼時候做(時機)分開。這樣做的好處是顯而易見的,明顯的改善了程序的吞吐量(獲得更多的CPU調度時間)和結構(程序有多個部分在協同工作)。

⑶ JAVA並發編程實戰怎麼樣

我不想再繼續吐槽翻譯,的確有些話理解起來有些費勁,但就內容而言,這本書當吃無愧堪稱JAVA並發領域的一朵明珠,光芒萬丈的指引著並發這條路。(如果你有能力就讀英文版的,既然要吐槽中文版,還是就事論事的好) 前年的時候看過一邊,當時覺得讀這本書的時候用個新的成語來形容就是——不明覺厲。 近兩年各種並發開始流行,其實也流行了幾十年了,可以負責任的說網上你能看到的幾乎所有中文關於JAVA並發的理解和解讀幾乎都可以在這本書上找到。 個人感覺還是應該上來介紹JMM的,這樣至少能提起很大興趣。此書的翻譯堪稱晦澀難懂,如果不是硬著頭皮讀下來,嘗試去理解,這真不是水平的問題,真難以想像花了10幾個小時愣是把這本書再次讀完了。 其實這本書讀完後你最大的收獲應該是能夠去理解那些現今相當牛逼的JAVA領域的並發庫和框架了,當然你的收獲還有就是特別小心的使用鎖,發布可見性,活躍性,性能和測試等等。 這本書包含的內容涉及之廣、之深不能全部一下子消化完,例子非常具有代表性和針對性,值得你面對並發時再次讀讀這本書,如果接觸的不多或者只是剛剛了解並發,也非常適合你對整個JAVA世界的並發領域有個認識,重讀會有更進一步的理解,JAVA的並發真是令人瞠目結舌,無法形容,強大和靈活到一定地步了,當然這份強大是用龐大付出代價的。 個人感覺看完後,真是應該再把JDK里關於並發的庫仔細讀讀。 雖然這本書是在講JAVA的並發,但是如果有別的語言經驗的同學也應該推薦讀讀,讓你了解下JAVA世界的並發是如此的精彩和復雜詭異。 雖然不能完全記住書中的細節,但建好索引就足夠了,待日後用時可以再次翻閱。

⑷ JAVA自學看什麼書好

1、《Head First Java》:適合初學者,與國內計算機類教材果然有很大差異。生動的例子、細致地講述、風趣的配圖,各種難度不同的練習,很棒。

如需更多的學習資料,私聊回復「java」即可獲取~

望採納~

⑸ 請教,推薦幾本java類書籍

1、《Java編程思想》
在有了一定的Java編程經驗之後,你需要「知其所以然」了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它 對於基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太 厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了。
2、《Agile Java》中文版
這本書是出版社送給我的,我一拿到就束之高閣,放在書櫃一頁都沒有翻過,但 是前兩天整理書櫃的時候,拿出來一翻,竟然發現這絕對是一本好書!這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的 過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還 有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握 Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好書。
雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也准備有空的時候翻翻這本書,學習學習。
二、Java編程進階類
打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。
三、Java架構師之路
到這個階段,應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是可能還缺乏對應用軟體整體架構的把握,現在就是邁向架構師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在所推薦的這些書籍當中,是看過的最仔細,最認真的書,當時讀這本書幾乎是廢寢忘食的一氣讀完的, 有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精闢的總結出來,讀完這本書以後,有種被打通經脈,功力爆增的感 覺。
但是後來看過一些其他人的評價,似乎閱讀體驗並沒有那麼high,也許是因為每個人的知識積累和經驗不同導致的。那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。
3、《企業應用架構模式》
Martin的又一本名著,但這本書只是泛泛的看了一遍,並沒有仔細看。這本書 似乎更適合做框架的人去看,例如如果打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,還是推薦認真看 看,會讓知道框架為什麼要這樣設計,這樣的層次可以晉升到框架設計者的角度去思考問題。Martin的書向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《敏捷軟體開發原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。
四、軟體開發過程
了解軟體開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟體開發過程》UP
其實UP和敏捷並不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎麼說,UP值得去讀,畢竟在中國真正接受敏捷的企業很少,還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,這本書非常的progmatic,告訴怎麼既 敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。可以把《解析極限編程擁抱變化》、《統一軟體開發過程》和《敏捷建 模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那麼也可以去寫書了。
五、軟體項目管理

如果突然被領導提拔為項目經理,而完全沒有項目管理經驗,肯定會心裡沒底;如果覺得自己管理項目不善,很想改善項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,就有了一個項目管理的高級參謀給 你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似於「軟體項目 點子大全」之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及應該如何解決問題的點子,只需要稍加變通,找方抓葯就行了。
六、總結
在這份推薦閱讀書籍的名單中,沒有列舉流行的軟體框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得去購買和收藏。

⑹ 有沒有精通Java的大神 請求分享一下JAVA學習方法和推薦幾本書!我實在學的崩潰!!

Java 學習路線之四個階段 【有問題可以直接私我】

寫這篇總結,主要是記錄下自己的學習經歷,算是自己對知識的一個回顧。也給想要學習 Java 的提供一些參考,對於一些想要學習Java,又不知道從哪裡下手,以及現在有哪些主流的 Java 技術。想必大家學習一門技術,前期都很想看到一些結果或成就,這樣就比較容易激勵自己學習下去,最好的辦法就是實踐,實踐,實踐!先說明一下我的情況,我是從大二才開始接觸 Java,然後自己摸索,期間真是摸打滾爬過來的。選的是計算機專業,大一的時候還沒有自己的筆記本,所以都是聽課過來的,了解了一些概念性的東西,課上老師也有演示過一些程序,懂得思考之後,發現計算機有很多有趣的地方,比如想知道這個東西是如何實現的,為什麼會出現這些東西。真不是知道當初天天打游戲的時候,為什麼沒有發現,要是發現的話,現在說不定早就那啥那啥了。到了大二的時候自己有了筆記本之後,就開始自己摸索,很好奇自己當初拿到筆記本竟然沒有去打游戲,而是用來學習。下面開始說正事。

選語言

開始學習的時候,經過自己搜索之後,發現有很多種語言,自己完全處於懵逼狀態,不知道選哪個,也不知道每種語言都可以用來干什麼,後來經過學長的指點還有身邊的人都說 Java 好,自己慢慢的就入坑了。在選擇要學習一門語言的時候,一定要選自己感興趣的,而且要有自己的目標,不然的話,後期很難堅持下來,除非你有很強的自律性。每個人前進都是有自己的驅動力,所以找到屬於自己的驅動力,才能保證你不斷的進步。

Java第一階段

剛接觸 Java 的時候,想必大家都是從環境配置開始的,這個裡面的坑想必大家都踩過。對於還沒有開始的同學,也有可能會經歷這個階段,說可能是因為現在的 Java1.6 之後安裝默認是加到環境變數裡面的,但是在安裝過程中有可能會出現一些意外情況,導致不能加入成功,這是就需要我們手動加入了。在這里特說明下,在大學期間一定要把一些基礎的課程學好,比如:計算機系統、演算法、編譯原理等,這個對後期的學習會有很大的影響,最簡單的就是你在添加環境變數的時候,為什麼要把路徑添加到 Path 下面,而不是添加到其它下面,計算機是如何去識別訪問這些東西。

我一開始學習 Java 的時候,是學長分享的視頻,這個視頻的好處就是在學習 Java 基礎的時候,完全脫離一些集成的工具,就是用編輯器(notepad++)寫好程序,手動通過命令行去編譯,再執行,讓你能夠了解其中的原理,以及鍛煉自己的動手能力。如果一上來就上你用 Eclipse 或者其它工具,把一些底層的東西屏蔽掉,開始學習的時候大家可能連 class 文件都沒有見過,只是知道寫了這行代碼,運行之後它會出來什麼結果。

這里給出我當初學習的視頻,有點老但是基礎知識都是一樣的。學習 Java 基礎知識的時候,應該多動手,多思考,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這么一回事,不信你就試試。在學習視頻的時候,有兩種學習方法建議:方法一先把視頻過一篇,在看視頻的時候,記下知識點,看完視頻之後,自己對著知識點,自己敲代碼實現,實在想不出來的,回過頭來在看視頻。方法二邊看視頻邊跟著敲代碼,這樣會比第一種方法相對容易一些,但是如果是這種方法學習的話,要記得回頭多復習,不然很容易忘記。兩種方法各有好處,第一種方法一開始學習比較慢,但是後面基礎有了之後,就會上手很快,而且記得很牢固。第二種方法比第一種方法花的時間要相對的少一些,所以需要我們反復的去回顧。學習完以上內容之後,你應該對 Java 有了一定的了解,你可以使用 Java 語言寫出來一些簡單的程序,並且是使用最簡單的編輯器。這個時候,可以不用著急進入下個階段,給自己一兩天的時間,對學習過的知識進行下總結。

在學習的過程中,你應該注重下面這些知識點,由於是自己總結的,有可能會有不對的地方,若有不對之處,還請指出。

知識點梳理:

概念:面向對象的三大基本特徵五大基本原則(當初讓學長考我的時候第一個問的就是這個)、面向對象、面向過程、什麼是多態、什麼是繼承、什麼是封裝。

集合:Collection 集合、List 集合、Set 集合、Map 集合

異常:Java 中異常處理機制和應用,自定義異常

IO:File 類,字元流、位元組流、轉換流、緩沖流、遞歸

網路編程:Socket

線程:線程的生命周期,Java 線程池,線程同步問題,線程死鎖問題

繼承和介面:Class,Interface

反射:動態代理

Mysql 和 JDBC 開發:Mysql 資料庫,JDBC,DBUtils,DBCP連接池

書籍推薦:Head First Java, Java核心技術

視頻獲取:後台回復「javaweb學習資料」包含後面三個階段。

Java 第二階段

Java 基礎學習完之後,我是開始學習 Javaweb,在一開始的幾天比較迷茫,因為感覺自己寫的東西沒有用處,比如寫個計算器什麼的,生活中沒有什麼用,可能是太過於看結果導致的。這個時候應該去做一些有趣的事情,學習新的知識,開發新的大陸,這就是我們的 Web 開發了,主要包括前端頁面(HTML/CSS/JS),Servlet/JSP,以及 Mysql 相關的知識。這些視頻在上面分享的視頻裡面已經包括了。

關於頁面,這些內容對於 Java 後端來說,不是特別重要,但是你應該盡自己的最大能力讓它漂亮,最起碼可以入眼,這樣的話,頁面就不是什麼問題了。接下來,就是學習的重頭戲了,學習 Servlet/JSP 部分,這也是 Java 後端開發必須非常精通的部分,在學習 Web 這三部分的時候,這個部分是最花時間的。這個階段學習的時候,要學會使用開發工具,比如 Eclipse 或者 IDEA 來學習。最後一部分,你就要學會使用資料庫,Mysql 資料庫是不錯的入門選擇,而且 Java 領域主流的關系型數據就是 Mysql,這部分其實你在學習 JDBC 的時候,就會接觸到,因為 JDBC 也是屬於資料庫的一部分。不僅要學會使用 JDBC 操縱資料庫,而且還要學會使用資料庫客戶端工具,比如 sqlyog,navicat 等。

知識點梳理:

前端技術:HTML、CSS、JS、JQuery、Bootstrap

JavaWeb 核心內容:Servlet、JSP、XML、HTTP、Ajax、過濾器、攔截器等

Mysql 和 JDBC:復習

推薦書籍:相關的 Web 書籍都可以,可以順帶著看 Java 編程思想

Java 第三階段

這個階段是在你掌握第二階段之後開始,如果學習了第二個階段之後想找工作的話,還需要在學習一些主流的框架知識。目前比較主流的框架是 SSM 框架,既 Spring,SpringMVC,Mybatis。要學會這些框架的搭建,以及用它們作出一個簡單的 WEB 項目,包括增刪改查的功能。在這里一開始,你可以不用太去關心那些配置文件,以及為什麼會這樣配置,這個可以留到後面慢慢了解,開始的時候先讓自己有個體驗,激勵自己學習的動力。

搭建這三個框架的時候,一定要記錄自己搭建的過程,這個在你工作之後肯定會用到的。在搭建的過程,我們通過網上查找資料或是跟著視頻學習,都會接觸到 Maven 這個工具,這個工具在你工作之後,也一定會用到的,可以順帶著了解,你不一定要去完全掌握,只要學會使用,知道基本原理就可以。學會使用之後,自己要跟著老師或者從網上去理解更多的東西,比如那些配置文件等。

知識點梳理:

Spring 框架:配置文件、IoC 思想、DI 依賴注入、面向切面編程、事務等。

SpringMVC:框架原理、交互、攔截器等。

Maven:安裝使用、基本操作。

Mybatis:框架原理、Mybatis 開發 DAO 方式、與其它框架的整合。

推薦書籍:Spring 實戰,Effective Java,Java 編程思想

Java 第四階段

這個時候相信你已經能夠完成獨立開發,並且也工作了,對付工作上面的時候,你的技術一定是可以的。但是這個時候不要對自己進行鬆懈,你要繼續學習,而不是工作只是為了應對工作,你應該提升自己的價值。這個時候可以去看一些比較底層的書籍,比如《深入理解Java虛擬機》,這本書就是全面幫助你了解 Java 虛擬機,這個時候想必你一定知道 Java 是運行在 JVM 上的,你沒有任何理由不去了解 JVM。另外,關於並發這方面,推薦《Java並發編程實戰》,這本書啃完之後,對並發的理解應該有一定的體會了。

這個階段要做的遠不止這些,我們要去思考我們之前使用的那些框架是怎麼回事,以及閱讀 Java 經典的一些源碼,看懂源碼的前提,就是你已經有了一定的基礎,當然有基礎也不一定一下子就能看懂,看不懂就要去思考,在看源碼的過程中,你可能有各種各樣的疑問,有疑問就是對的,問自己最多的應該是這里問什麼會這樣寫,而不是那樣寫吧。這個階段需要自己對自己有很強的自律去學習,不要看了一半就放棄了。學會看源碼之後,自己可以嘗試著模仿別人寫的比較好的開源項目,造屬於自己的輪子,雖說不一定有用,但是對提升自己有一定的好處。

如果你想成為優秀的人,你就要「能別人不能」,也就是說你要找到屬於自己的一個領域研究下去,以期在將來,你能夠成為這個領域的專家,建立起你的差異性。

最後,請記住,從你入行那一刻起,你就要比別人努力,就要不停的學習。每個人在學習的過程中都有自己的一種方式,在學習的過程中,要學會自己去判斷。其實生活中也是一樣的,你身邊的人形形色色,有的人你喜歡,有的人你討厭,但是你喜歡的人身上也有缺點,你討厭的人身上也有其優點,這個時候你要學會從他們身上學習他們的優點,讓自己變的更優秀。

⑺ 求java並發編程的實例 java多線程編程例子

不懂……如果你是用線程同時去添加多個用戶,第一,人不是多線程的,你只能一個個去添加;第二,如果你想添加用戶的時候還沒有添加完成又做別的事情,完成可能用面向對象思想,程序一塊塊執行的,對於編人員來說不用考慮到多線程,程序本身已經完成了,比如我點擊了添加用戶的按鈕,你的程序還可以往下跑,因為你僅僅是new了一個添加用戶的窗口,主程序可以繼續向下執行,除非你玩模態對話;第三,如果你非要多線程添加用戶,就用簡單的線程例子能解決啊,public void run(){}方法里寫上添加用戶的代碼就行啦,主程序運行時new 你寫好的線程類(YouThread implements Runnable{public void run(...)}),啟動它(new Thread(new YouThread()).start());之後寫上自己要繼續執行的代碼

⑻ java並發編程實戰裡面的代碼怎麼運行

首先確認代碼不是偽代碼,其次確認代碼無錯誤,最後在代碼編輯區 右鍵 選擇 Run 類名.main

⑼ 《JAVA並發編程實戰》上面的一個問題

總共就三種情況!!!!1.無限循環,number的值為0:在主線程即main方法中對ready的設置(即ready = true)還沒來得及寫回主存(靜態變數保存在方法區),ReaderThread 線程就已經讀取了ready的值(並保留了副本),然後載入到Java棧中,此時ready 一直為false所以出現死循環。number的值也可以類似推理,在主線程即main方法中對number的設置(即number= 42)還沒來得及寫回主存(靜態變數保存在方法區),ReaderThread 線程就已經讀取了number的值(並保留了副本),然後載入到Java棧中,此時number一直為0(只是沒有列印出來而已);

2.無限循環,number的值為42:在主線程即main方法中對ready的設置(即ready = true)還沒來得及寫回主存(靜態變數保存在方法區),ReaderThread 線程就已經讀取了ready的值(並保留了副本),然後載入到Java棧中,此時ready 一直為false所以出現死循環。在主線程即main方法中對number的設置(即number= 42)後(即number的值已經寫回了主存),ReaderThread 線程才開始執行此時讀取的number為42(只是沒有列印出來而已);

3.輸出0:在主線程即main方法中對ready的設置(即ready = true)後(即ready的值已經寫回了主存),還沒來得及寫回主存(靜態變數保存在方法區),ReaderThread 線程就已經讀取了number的值(並保留了副本),然後載入到Java棧中,此時number為0;

至於為什麼會出現ready = true寫回主存後,number = 42還沒寫回主存。這應該是由於Java虛擬機的一種優化技術叫指令重排序,number = 42不一定會在ready = true前面執行,得看Java虛擬機是怎麼優化的。

⑽ 求《Java線程與並發編程實踐》全文免費下載百度網盤資源,謝謝~

《Java線程與並發編程實踐》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1zebgAWKpIEWptv9zB_Y2GA

?pwd=amsm 提取碼: amsm
簡介:《Java線程與並發編程實踐》是針對Java 8中的線程特性和並發工具的快速學習和實踐指南。Java線程和並發工具是應用開發中的重要部分,備受開發者的重視,也有一定的學習難度。適合有一定基礎的Java程序員閱讀學習

熱點內容
優盤的存儲原理 發布:2025-01-16 21:54:27 瀏覽:40
編程好軟體 發布:2025-01-16 20:38:07 瀏覽:423
流量密碼如何改成 發布:2025-01-16 20:37:13 瀏覽:50
java判斷是否是對象 發布:2025-01-16 20:31:04 瀏覽:885
python調用外部程序 發布:2025-01-16 20:14:09 瀏覽:397
緩解壓力英語作文 發布:2025-01-16 20:13:31 瀏覽:65
javaname 發布:2025-01-16 20:13:15 瀏覽:22
用戶訪問表空間 發布:2025-01-16 20:07:07 瀏覽:944
java代碼自動編譯 發布:2025-01-16 19:58:14 瀏覽:314
編程很困難 發布:2025-01-16 19:58:09 瀏覽:674