999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

引入JDK源碼學習的Java程序設計實踐教學

2015-12-29 00:00:00唐大仕
計算機教育 2015年7期

文章編號:1672-5913(2015)07-0040-03

中圖分類號:G642

摘 要:提出在課程中引入JDK源碼的學習,闡述通過閱讀、分析、重寫及應用JDK源碼,學習JDK源碼中的語法、基本庫、數據結構、設計模式等內容,能提高源代碼的閱讀能力、編寫規范代碼的能力,并為應用設計模式、架構復雜項目打下良好的基礎。

關鍵詞:Java程序設計;JDK;源碼;實踐教學;編程能力;設計模式

0 引言

Java語言是當前最流行的面向對象編程語言之一,具有平臺無關性、多線程、分布式及安全性等特點。作為計算機專業及相關專業的一門重要課程,Java語言也不只講語言語法,而更加注意其實踐應用,所以加強其編程實踐和應用是該課程的重要目標。特別是當前用人單位對大學生的綜合素質提出了新的要求,這就迫切需要對現有的教學模式進行改革,才能適應計算機教學的需要。根據實踐,我們提出在課程中引入JDK源碼的教學方法。

JDK( Java Development Kit)是Java語言的軟件開發工具包,包括JavaSE、JavaEE、JavaME等多個版本,其中最基礎的是JavaSE。在JDK中,有一系列的開發工具、運行環境,還有最重要的JDK文檔及JDK源碼。JDK源碼用于程序設計的實踐教學中,能有效提高學生的程序設計能力,切實提高教學效果,是教學改革的一條途徑。筆者將JDK源碼給學生進行閱讀、分析、改造、應用,使其掌握編程思想、編碼方式、采用的技術、應用過程等相關知識。

1 學習內容

JDK源碼的量很大,要學習的內容也涉及多個方面。

1.1 語法方面的學習

Java程序設計課程首先要讓學生學會Java語法,Java語言的語法不僅枯燥,而且不容易掌握。在JDK源碼中有大量語法的體現,從變量、常量到運算符、語句、類的定義等方面都有很好的體現,所以精簡一部分包及類來進行學習,體現其語法的使用,而且體現面向對象的封裝、繼承、多態,特別是繼承關系的分析,以讓學生更具體地體會面向對象的思想與方法。

1.2 基本類庫的學習

Java語法的學習不能只停留在語法層面,而是要培養實踐應用的能力,這就需要掌握大量的API類庫。由于Java類庫中的類很多,每一個類中的方法也很多,所以我們選擇重要的類庫源碼來學習,主要包括Java的基本類庫、輸入輸出(Java IO)、文本信息的處理、XML信息的處理、圖形與圖像、圖形用戶界面、網絡、數據庫等。

1.3 數據結構的學習

Java語言中,各類編程都要用到數據結構。雖然有的學生學過數據結構,包括線性表、棧、隊列、串、樹、查找、排序等,但是JDK中,這些數據結構是如何實現的,它們都有哪些相關的類,分別使用的是順序存儲、鏈式存儲還是哈希存儲,學習這些不僅有利于復習鞏固數據結構知識,更重要的是可以學到更多的實現方法,而且在應用這些結構時會正確選用合適的類。

1.4 設計模式的學習

設計模式(design pattern)是一套被反復使用、多數人知曉、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼,讓代碼更容易被他人理解,保證代碼的可靠性。在實現的軟件開發實踐中,設計模式是相當重要的,在JDK中,使用了大量的設計模式,如抽象工廠、單態、適配器、責任鏈、代理、觀察者等,通過源代碼來學習設計模式,可以讓學生更具體地體會到設計模式的應用,從而能讓學生更好地打下應用設計模式基礎。

2 學習方法

JDK源碼的學習方法主要是閱讀、分析以及修改、應用等,在這個過程中教師要通過演示、引導、作業等手段來促進學生對JDK源碼的學習。

2.1 有選擇性地閱讀源代碼,撰寫讀書筆記

由于源代碼的量很大,沒有必要將所有JDK的源碼都讀取一遍,所以針對前面提到的每一方面的學習內容,教師會指定閱讀相關的包和類的源代碼。例如,在前半學期中要求閱讀的類包括Obj ect,Class,String,StringBuilder及AbstractStringBuilder. Integer, Math, Random,Biglnteger等;后半學期則要求閱讀Arrays,ArrayList, Vector, Stack, Hashtable, TreeMap,TreeSet類等。教師還指定一些擴展的包和類,供能力較強的學生進行閱讀。學生閱讀后要撰寫讀書筆記,對典型的讀書筆記進行演示匯報,這樣的匯報可以在小組內或者全班進行,以促進理解和交流。

2.2 教師布置讀前的問題及讀后作業,促進閱讀質量提高

閱讀前,教師有針對性地提出一些問題,這樣可以讓學生知道閱讀的重點和思考的問題,讀后作業則檢查學生學習的效果。布置的作業中包括這樣的問題:String類為什么聲明為final的?Random類引用了什么內部類或輔助類?Stack類中的變量的初始值為什么這樣設置?其ArrayList類動態分配空間的增長因子是多少?TreeMap類與另一個相關的TreeSet類的區別是什么?

2.3 與JDK文檔對照學習

JDK源碼與JDK文檔進行對照學習??紤]到部分學生的英文實際水平,我們選用中文版的JDK文檔,而英文水平較好的則可以使用英文版的JDK。例如,在String文檔中提到immutable,在源程序中是如何體現的?在Byte中提到的緩存,在源程序是如何實現的?Random類提到的偽隨機數是如何實現的?TreeMap中找到同一對象的要求是如何實現的?等,這些問題涉及語法、算法、效率等多方面的問題。另外,對有余力的學生,還讓他們讀不同版本的JDK的源碼,體會其中源代碼的演變,分析其改進之處。

2.4 學生寫出分析報告,并進行展示與交流

針對閱讀的內容,我們要求學生寫出分析報告。報告要求寫出主要的類、主要的方法;類與類之間的關系(畫出類關系圖、UML圖);主要函數的算法是怎樣的(畫出流程圖、事件序列圖、狀態圖等);算法的時間復雜度與空間復雜度如何;用到了哪種設計模式等。另外,要求寫出學到的關于語法、算法、編程技巧方法的收獲。這些報告要形成文檔、展示的PPT、Prezi等,在班上進行交流展示,還讓學生進行評選投票。

2.5 進行代碼的重寫、改進與應用

在閱讀的基礎上,我們要求學生進一步進行代碼的重寫、改進與應用。代碼的重寫是指針對其中部分代碼自己重寫一遍,這樣能訓練編寫代碼的能力。在這個過程中,學生還可以有針對性地進行代碼的改進。另外,在實際的項目中,應用相關的包和類,這樣易于進一步鞏固所學的知識。

3 學習JDK源碼對學生編程能力的提高

JDK源碼的學習過程,提高了學生以下幾個方面的能力。

3.1 閱讀代碼的能力

閱讀代碼的能力訓練是編程能力中一個重要的方面。事實上,軟件的編寫與維護通常是一個長期的過程,閱讀別人寫的代碼是很常見的任務,但有時也要閱讀自己寫的代碼。閱讀JDK源碼可以大大提高閱讀代碼的能力。

3.2 編寫規范代碼的能力

JDK源碼書寫規范,其中能學到規范代碼的編寫方法,有利于養成良好的編程習慣。這包括注釋的使用、空行的使用、變量命名、函數的命名慣例等。

3.3 使用設計模式的能力

JDK源碼中有大量設計模式的應用,通過對這些設計模式的學習,能很好地體會各種設計模式的含義、基本組成要素、種要素之間的關系、設計模式的應用場景,這些都為以后在具體項目中使用設計模式打下良好的基礎。

3.4 項目架構的能力

JDK源碼是一系列的包與類組成的一個大的系統,而類與類之間的關系有各種形式,通過對它們的學習,能幫助學生提高設計復雜程序的能力,為以后進行項目架構的工作打下良好的基礎。

4 結語

在Java程序設計課程中引入JDK源碼的學習,通過在語法、基本庫、數據結構、設計模式等多方面的學習,有效地提高了學生源代碼的閱讀能力、編寫規范代碼的能力,并為應用設計模式、架構復雜項目打下良好的基礎。在北京大學的Java程序設計課程中使用JDK源碼進行教學,起到了較好的教學效果。

主站蜘蛛池模板: 国内精品91| 香蕉eeww99国产在线观看| 欧美一级特黄aaaaaa在线看片| 永久免费AⅤ无码网站在线观看| 丰满人妻被猛烈进入无码| 亚洲综合香蕉| 91精品专区| 久久精品最新免费国产成人| 福利姬国产精品一区在线| 欧美在线一级片| 欧美精品高清| 国产综合亚洲欧洲区精品无码| 91原创视频在线| 色综合天天综合| 精品三级在线| 伊人丁香五月天久久综合| 欧美日本在线一区二区三区 | 国产成人凹凸视频在线| 无码AV高清毛片中国一级毛片| 欧美性猛交一区二区三区| 麻豆精品在线视频| 精品丝袜美腿国产一区| 国产精品久久久久久搜索| 54pao国产成人免费视频| 国产精品永久不卡免费视频| 色综合热无码热国产| 国产亚洲欧美在线专区| 色首页AV在线| av在线无码浏览| 国产在线视频欧美亚综合| 国产精品夜夜嗨视频免费视频| 欧美一级黄片一区2区| 国产精选小视频在线观看| 亚洲成A人V欧美综合| 性69交片免费看| 91福利在线看| 欧美一区二区精品久久久| 超碰91免费人妻| 亚洲欧美一级一级a| 在线观看热码亚洲av每日更新| 欧美精品不卡| 婷婷六月综合| 2020亚洲精品无码| 久热re国产手机在线观看| 91在线播放免费不卡无毒| 日韩精品中文字幕一区三区| 久久国产V一级毛多内射| 福利姬国产精品一区在线| 久草视频福利在线观看| 白浆视频在线观看| 国产午夜看片| 国产网站免费看| 国产精品熟女亚洲AV麻豆| 五月综合色婷婷| 日韩激情成人| 色婷婷亚洲十月十月色天| 99久久精品免费观看国产| 蜜臀AVWWW国产天堂| 日韩精品一区二区三区免费| 67194成是人免费无码| 国产欧美视频在线观看| 国产真实乱子伦视频播放| 嫩草在线视频| 国产原创自拍不卡第一页| 这里只有精品在线| 亚洲一区国色天香| 首页亚洲国产丝袜长腿综合| 国产精品无码AⅤ在线观看播放| 亚洲日韩精品欧美中文字幕 | 亚洲色图在线观看| 人妻少妇乱子伦精品无码专区毛片| 少妇露出福利视频| 成人永久免费A∨一级在线播放| 一本色道久久88| 成人国产一区二区三区| 91在线高清视频| 制服丝袜无码每日更新| 欧美69视频在线| 国产福利在线免费观看| 在线观看热码亚洲av每日更新| 99精品视频播放| 成年免费在线观看|