Java程序設計(簡體書)
商品資訊
系列名:21世紀高職高專教學做一體化規劃教材
ISBN13:9787508499383
出版社:中國水利水電出版社(水利電力出版社)
作者:楊秀傑
出版日:2013/12/25
裝訂/頁數:平裝/195頁
規格:26cm*19cm (高/寬)
商品簡介
名人/編輯推薦
目次
書摘/試閱
商品簡介
《21世紀高職高專教學做一體化規劃教材:Java程序設計》對面向對象的思想和機制進行了準確而透徹的剖析,為讀者深入學習Java語言程序設計提供了全面、詳細的指導。采用Java編程語言,詳細介紹了Java的程序邏輯、面向對象程序設計基礎、面向對象基本特性、常用對象的使用、異常處理、輸入輸出操作、多線程編程、GUI可視化界面編程等知識。使廣大讀者能夠掌握Java面向對象程序設計的基本技能。全書采取統一案例設計教學情境,每個章節是任務子情境分解,教材有機反映教學任務和工作任務,以真實工作任務帶動全書各章節,讓讀者身臨其境,真實感受過程。書中在每個子任務中都補充了針對本節主題的應用實踐,以滿足不同程度的讀者需求,并應用所學的技術解決實際應用程序開發中遇到的問題。
名人/編輯推薦
《21世紀高職高專教學做一體化規劃教材:Java程序設計》既可以作為高等院校相關專業程序設計的教材,也可以作為Java語言的初學者、科技人員和軟件開發人員的參考書。
目次
前言
第一章Java與程序邏輯
任務1.1搭建Java開發環境
1.1.1情境描述
1.1.2情景分析
1.1.3解決方案
1.1.4知識總結
任務12體驗Java程序開發過程
1.2.1情境描述
1.2.2問題分析
1.2.3解決方案
1.2.4知識總結
任務1.3Java語句
1.3.1情境描述
1.3.2問題分析
1.3.3解決方案
1.3.4知識總結
1.3.5應用實踐
任務小結
練習作業
第二章面向對象程序設計基礎
任務2.1創建類和對象
2.1.1情境描述
2.1.2情景分析
2.1.3解決方案
2.1.4知識總結
2.1.5應用實踐
任務2.2理解類的方法
2.2.1情境描述
2.2.2問題分析
2.2.3解決方案
2.2.4知識總結
2.2.5應用實踐
任務小結
練習作業
第三章面向對象基本特性
任務3.1保護個人數據
3.1.1情境描述
3.1.2情景分析
3.1.3解決方案
3.1.4知識總結
3.1.5應用實踐
任務3.2類的繼承性
3.2.1情境描述
3.2.2問題分析
3.2.3解決方案
3.2.4知識總結
3.2.5應用實踐
任務3.3接口
3.3.1情境描述
3.3.2問題分析
3.3.3解決方案
3.3.4知識總結
3.3.5應用實踐
任務3.4靜態多態性
3.4.1情境描述
3.4.2問題分析
3.4.3解決方案
3.4.4知識總結
3.4.5應用實踐
任務3.5動態多態性
3.5.1情境描述
3.5.2問題分析
3.5.3解決方案
3.5.4知識總結
3.5.5應用實踐
任務小結
練習作業
第四章常用對象使用
任務4.1數組對象的使用
4.1.1情境描述
4.1.2情景分析
4.1.3解決方案
4.1.4知識總結
4.1.5應用實踐
任務4.2集合的使用
4.2.1情境描述
4.2.2問題分析
4.2.3解決方案
4.2.4知識總結
4.2.5應用實踐
任務4.3字符串的使用
4.3.1情境描述
4.3.2問題分析
4.3.3解決方案
4.3.4知識總結
4.3.5應用實踐
任務小結
練習作業
第五章異常處理
任務5.1系統異常處理
5.1.1情境描述
5.1.2情景分析
5.1.3解決方案
5.1.4知識總結
5.1.5應用實踐
任務5.2自定義異常
5.2.1情境描述
5.2.2問題分析
5.2.3解決方案
5.2.4知識總結
5.25應用實踐
任務小結
練習作業
第六章I/O操作
任務6.1文件管理
6.1.1情境描述
6.1.2情景分析
6.1.3解決方案
6.1.4知識總結
6.1.5應用實踐
任務6.2流操作文件
6.2.1情境描述
6.2.2問題分析
6.2.3解決方案
6.2.4知識總結
6.25應用實踐
任務6.3對象的存儲
6.3.1情境描述
6.3.2問題分析
6.3.3解決方案
6.3.4知識總結
6.3.5應用實踐
任務小結
練習作業
第七章多線程編程
任務7.1創建多線程程序
7.1.1情境描述
7.1.2情景分析
7.1.3解決方案
7.1.4知識總結
7.1.5應用實踐
任務7.2多線程程序的同步
7.2.1情境描述
7.2.2問題分析
7.2.3解決方案
7.2.4知識總結
7.2.5應用實踐
任務小結
練習作業
第八章Java的GUI可視界面編程
任務8.1創建窗體
8.1.1情境描述
8.1.2情景分析
8.1.3解決方案
8.1.4知識總結
8.1.5應用實踐
任務8.2在窗體上布局控件
8.2.1情境描述
8.2.2問題分析
8.2.3解決方案
8.2.4知識總結
8.2.5應用實踐
任務8.3給Swing組件添加事件
8.3.1情境描述
8.3.2問題分析
8.3.3解決方案
8.3.4知識總結
8.3.5應用實踐
任務小結
練習作業
附錄
附錄AJava編程規范
附錄BJava相關詞匯
附錄C課程案例介紹
參考文獻
第一章Java與程序邏輯
任務1.1搭建Java開發環境
1.1.1情境描述
1.1.2情景分析
1.1.3解決方案
1.1.4知識總結
任務12體驗Java程序開發過程
1.2.1情境描述
1.2.2問題分析
1.2.3解決方案
1.2.4知識總結
任務1.3Java語句
1.3.1情境描述
1.3.2問題分析
1.3.3解決方案
1.3.4知識總結
1.3.5應用實踐
任務小結
練習作業
第二章面向對象程序設計基礎
任務2.1創建類和對象
2.1.1情境描述
2.1.2情景分析
2.1.3解決方案
2.1.4知識總結
2.1.5應用實踐
任務2.2理解類的方法
2.2.1情境描述
2.2.2問題分析
2.2.3解決方案
2.2.4知識總結
2.2.5應用實踐
任務小結
練習作業
第三章面向對象基本特性
任務3.1保護個人數據
3.1.1情境描述
3.1.2情景分析
3.1.3解決方案
3.1.4知識總結
3.1.5應用實踐
任務3.2類的繼承性
3.2.1情境描述
3.2.2問題分析
3.2.3解決方案
3.2.4知識總結
3.2.5應用實踐
任務3.3接口
3.3.1情境描述
3.3.2問題分析
3.3.3解決方案
3.3.4知識總結
3.3.5應用實踐
任務3.4靜態多態性
3.4.1情境描述
3.4.2問題分析
3.4.3解決方案
3.4.4知識總結
3.4.5應用實踐
任務3.5動態多態性
3.5.1情境描述
3.5.2問題分析
3.5.3解決方案
3.5.4知識總結
3.5.5應用實踐
任務小結
練習作業
第四章常用對象使用
任務4.1數組對象的使用
4.1.1情境描述
4.1.2情景分析
4.1.3解決方案
4.1.4知識總結
4.1.5應用實踐
任務4.2集合的使用
4.2.1情境描述
4.2.2問題分析
4.2.3解決方案
4.2.4知識總結
4.2.5應用實踐
任務4.3字符串的使用
4.3.1情境描述
4.3.2問題分析
4.3.3解決方案
4.3.4知識總結
4.3.5應用實踐
任務小結
練習作業
第五章異常處理
任務5.1系統異常處理
5.1.1情境描述
5.1.2情景分析
5.1.3解決方案
5.1.4知識總結
5.1.5應用實踐
任務5.2自定義異常
5.2.1情境描述
5.2.2問題分析
5.2.3解決方案
5.2.4知識總結
5.25應用實踐
任務小結
練習作業
第六章I/O操作
任務6.1文件管理
6.1.1情境描述
6.1.2情景分析
6.1.3解決方案
6.1.4知識總結
6.1.5應用實踐
任務6.2流操作文件
6.2.1情境描述
6.2.2問題分析
6.2.3解決方案
6.2.4知識總結
6.25應用實踐
任務6.3對象的存儲
6.3.1情境描述
6.3.2問題分析
6.3.3解決方案
6.3.4知識總結
6.3.5應用實踐
任務小結
練習作業
第七章多線程編程
任務7.1創建多線程程序
7.1.1情境描述
7.1.2情景分析
7.1.3解決方案
7.1.4知識總結
7.1.5應用實踐
任務7.2多線程程序的同步
7.2.1情境描述
7.2.2問題分析
7.2.3解決方案
7.2.4知識總結
7.2.5應用實踐
任務小結
練習作業
第八章Java的GUI可視界面編程
任務8.1創建窗體
8.1.1情境描述
8.1.2情景分析
8.1.3解決方案
8.1.4知識總結
8.1.5應用實踐
任務8.2在窗體上布局控件
8.2.1情境描述
8.2.2問題分析
8.2.3解決方案
8.2.4知識總結
8.2.5應用實踐
任務8.3給Swing組件添加事件
8.3.1情境描述
8.3.2問題分析
8.3.3解決方案
8.3.4知識總結
8.3.5應用實踐
任務小結
練習作業
附錄
附錄AJava編程規范
附錄BJava相關詞匯
附錄C課程案例介紹
參考文獻
書摘/試閱
(2)生產者與消費者
系統中某一資源的線程稱為消費者線程,產生同一資源的線程稱為生產者線程。例如,在一個Java的應用程序中,生產者線程向文件中寫入數據,消費者線程從文件中讀取數據,這樣,在這個程序中同時運行的兩個線程共享同一個文件資源。
例如有一個簡單的例子,生產者產生從0~9的整數,將它們存儲在某個對象的成員變量contents中,并打印出產生的數據。然后調用sleep()方法使生產者線程在一定時間內休眠。消費者線程則不斷地從對象中讀取這些整數。
這個例子中生產者和消費者通過指定對象共享數據。不能保證的是生產者產生一個數,消費者就獲得這個數,并且只獲得一次。有可能出現的情況是:
第一種情況是生產者如果比消費者快,那么在消費者來不及取前一個數據之前,生產者又有了新數據。于是,消費者很有可能跳過前一個數據,直接讀取了新的數據。
第二種情況是,當消費者比生產者快時,消費者可能兩次取同一個數據。
為了避免這種情況發生,必須使生產者線程存儲數據和消費者線程讀取數據同步起來,兩個線程需要在以下兩個方面進行同步:
兩個線程不能同時訪問存儲數據的對象。兩個線程可以通過加鎖機制防止這種情況發生。兩個線程必須相互協作,生產者生產數據以后,要告訴消費者數據已準備好,可以取數據,生產者等待消費者取走數據。消費者取走數據后,要告訴生產者已取走數據,可以生產新數據。這需要調用wait()、notify0和notifyAll0方法來實現。
(3)死鎖問題
允許多個線程并發訪問共享資源時,必須提供同步機制,然而對這種機制使用不當的話,可能會出現線程永遠被阻塞的現象,當兩個或多個線程等待一個不可能滿足的條件時就發生死鎖。
Java語言本身既不能發現死鎖,也不能預防死鎖,只能靠程序員謹慎的設計來避免。一般來說,如果線程因為等待某個先決條件而受阻,它應該釋放所占的資源,讓其他線程使用。當先決條件滿足而恢復運行時,再重新獲得這些資源。避免死鎖的有效方法是,如果多個資源需要競爭訪問,應該確定線程訪問資源的順序,并且以相反的順序釋放資源。
7-2.5應用實踐
編寫一個Java應用程序,模擬銀行系統對用戶存款和取款的處理過程。假設存款人和取款人在同一時間對同一賬戶進行操作。賬戶原有余額是1000,存款人存入500,與此同時,取款人取走700,如果兩人操作是相對獨立的,那么存款人看到的賬戶余額是1500,而取款人看到的賬戶余額是300。顯然,同一賬戶不可能同時具有不同的余額,銀行系統必須保證同一時間內只有一個人可以對賬戶進行操作,這里需要使用線程的同步控制來實現。
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。
優惠價:87
136
海外經銷商無庫存,到貨日平均30天至45天

