20145202馬超 2016-2017-2 《Java程序設計》第7周學習總結

學號 2016-2017-2 《Java程序設計》第X周學習總結

教材學習內容總結

Arrays:用於操做數組的工具類。
裏面都是靜態方法。

asList:將數組變成list集合。

把數組變成集合的好處:可使用集合的思想來操做數組中的元素。html

將數組變成集合的時候不可使用集合的增刪方法,由於數組的長度是固定的。
runtime對象:
該類並無提供構造函數,說明不能夠new對象,那麼會直接想到該類中的方法都是靜態的。
發現該類中海油費靜態方法,說明該類確定提供了方法獲取本類對象,並且方法是靜態的,而且返回值的類型是本類類型。
由這個特色能夠看出來該類使用了單例設計模式完成java

時間的度量: 格林威治時間,簡稱GMT時間,由觀察太陽而得來;世界時,UT;國際原子時,TAI;世界協調時間,UTC;Unix時間,以1970年1月1日00:00:00爲起點而通過的秒數,不考慮閏秒修正;epoch,以1970年1月1日00:00:00爲起點而通過的毫秒數。
Date :使用Date實例的各getTime能夠得到epoch毫秒數,**Data實例只用來當作時間軸上的某一瞬間;利用DataFormat能夠對字符串格式進行處理,分別有GetDateInstance、GetTimeInstance、GetDateTimeInstance
Date():分配Date對象而且初始化此對象,以表示分配到它的時間(精確到毫秒)。
Date(long date):分配Date對象而且初始化此對象,以表示自從標準基準時間(稱爲「曆元(epoch)」即1970年1月1日0點GMT)以來的制定毫秒數。
DateFormat: java.text.DateFormat 復責字符串時間格式處理,DataFormat是個抽象類,其操做類爲java.text.SimpleDataFormat,getDataInstance()、getTimeInstance()、getDataTimeInstance()等靜態用法;能夠直接構建SimpleDataFormat實例,或是使用DataFormat的;直接構建SimpleDateFormat,能夠自定義字符串格式 parse方法能夠將指定的字符串剖析Date實例
git

Calendar: Calendar實例取得某個時間日期信息,或者對時間日期進行操做;Calendar是個抽象類,java.util.GregorianCalendar是其子類,經過Calendar的getInstance()取得的Calendar實例,默認就是取得GregorianCalendar實例;比較兩個Calendar的時間日期前後,使用after()或before()方法;取得Calendar實例後,能夠取得年月日信息,能夠進行設定,能夠進行運算來改變。
設計模式


TimeZone :TimeZone的getdefault能夠取得默認時區的信息;Calender在調用getInstance()時能夠指定Timezone,若是已經取得Calender實例,能夠經過setTimeZone()的方法設定時區。
機器時間觀點的API: Date實例只表明機器觀點的時間信息;使用Instant的靜態方法now()取得Instant實例,ofEpochMilli()能夠指定Java epoch毫秒數,ofEpochSecod()指定秒數;取得Instant實例後,可使用plusSecond()、plusMillis()、plusNanos()、minusSeconds()、minusMillis()、MinusNanos()作時間軸上的運算,返回新的Instant實例,表明運算後的時間。
人類時間觀點的API: Date實例只表明機器觀點的時間信息;在上面那些類的基礎上可使用ZonedDateTime等來進行補充;Month是enum類型,取得表明月份的數字,取得月份要經過getValue()方法,而不是使用oridinal()方法。數組

教材學習中的問題和解決過程

  • 問題1:ISO 8601如何考慮時區的變化來更正時間呢
  • 問題1解決方案:用了一下systracer進行了兩次快照,發現java運行時網絡端口是發生過變化的,可是當時開着其餘應用也很差肯定必定是java使得端口變化,也多是計算機裏面本身有一個時間一直在走,這樣就會記錄下時間。

代碼調試中的問題和解決過程

  • 問題1:
    如何在java程序裏實現兩個事件的互換
    網絡

  • 問題1解決方案:函數

代碼託管

上週考試錯題總結

  • 下面哪條命令能夠把 f1.txt 複製爲 f2.txt ?
    A .
    cp f1.txt f2.txt
    B .
    copy f1.txt f2.txt
    C .
    cat f1.txt > f2.tx
    D .
    cp f1.txt | f2.tx
    E .
    copy f1.txt | f2.tx
    這必須AC啊,可是當時沒看到是多選
  • 下面代碼中共有()個線程?
    public class ThreadTest {
    public static void main(String args[]){
    MyThread myThread =new MyThread();
    Thread t1=new Thread(myThread);
    Thread t2=new Thread(myThread);
    t1.start();
    t2.start();
    }
    }
    class MyThread extends Thread {
    ...
    }

A .1
B .2
C .3
D .4
這個題當時沒有考慮到main主函數也是一個線程,因此一共是三個線程。工具

評分標準

  1. 正確使用Markdown語法(加1分):
  2. 模板中的要素齊全(加1分)
  3. 教材學習中的問題和解決過程, 一個問題加1分
  4. 代碼調試中的問題和解決過程, 一個問題加1分
  5. 本週有效代碼超過300分行的(加2分)
  6. 其餘加分:
    • 感想,體會不假大空的加1分
    • 排版精美的加一分
    • 有動手寫新代碼的加1分
    • 錯題學習深刻的加1分
    • 點評認真,能指出博客和代碼中的問題的加1分
    • 結對學習狀況真實可信的加1分

點評模板:

  • 基於評分標準,我給本博客打分:10分。學習

  • 參考示例.net

點評過的同窗博客和代碼

學習感覺:我感受這一張比較簡單,語法不是不少,雖然在c裏面沒有接受過這些語法的學習可是在邏輯上這些語法並無什麼太大的難度,只要可以作到合理的調度九能夠了。

學習進度條

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法

  • 計劃學習時間:20小時

  • 實際學習時間:16小時

  • 改進狀況:

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)

參考資料

相關文章
相關標籤/搜索