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

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

教材學習內容總結

1071529-20170416221200071-375032036.jpg

  1. 想要取得channel的操作對象,可以使用channels類,它定義了靜態方法newChannel()。
  2. Buffer的直接子類們都有一個alloocate()方法,可以讓你指定Buffer容量。
  3. 1.java.util.logging包提供了日志功能相關類與接口,使用日志的起點是logger類,Logger類的構造函數標示為protected,不是java.util.logging同包的類不能直接以new創建,必許使用Logger的靜態方法,如:Logger logger = Logger.getLogger("cc.openhome.Main")。
  4. 取得Logger的方式:Logger logger = Logger.getLogger("Main.class.getName")。
  5. 名稱空間層級相同的Logger,父Logger組態會相同,每個Logger處理完自己的日志動作后,會向父Logger傳播,讓父Logger也可以處理日志。
  6. 在沒有任何組態設定的情況下,默認取得的Logger實例,層級必須大于或等于Logger.GLOBAL-LOGGER-NAME名稱空間logger實例設定的Level.INFO,才可能輸出信息。
  7. Handler可通過setLevel()設定信息, 以下顯示的信息不僅要將Logger的層級設定為Level.INFO,也要講Handler的層級設定為Level.INFO。
  8. MemoryHandler不會格式化日志信息,信息會暫存于內存緩沖區,直至超過大小才將信息輸出至指定的目標Handler。 在建立FileHandler指定模式字符串時,可以使用“%h”來表示用戶的根目錄,還可以使用“%t”取得系統暫存目錄,或者使用“%g”自動為文檔編號。
  9. 對于日后可能變動的文字信息,可以考慮將信息移至程序之外,使用ResourceBundle來做信息綁定。 .properties文檔必須放置在CLASSPATH的路徑設定下,文檔中撰寫的是鍵/值配對,之后在程序中可以使用鍵來取得配對。 ResourceBundle的靜態getBundle()方法會取得一個ResourceBundle的實例,所給定的自變量名稱是信息文檔的主文件名,getBundle()會自動找到對應的.properties文檔,取得ResourceBundle實例后,可以使用getString()指定鍵來取得。
  10. java.util.regex.Pattern實例是規則表示式在JVM中的代表對象,Pattern的構造函數被標示為private,必須通過Pattern的靜態方法compile()來取得。 在取得Pattern的實例后,可以使用split()方法將指定字符串依規則表示式切割。

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

  • 問題1:對比NIO和IO
  • 解決方法:這篇文章從側面給出了答案Java NIO怎么理解通道和非阻塞
  • 問題2:javaNIO非堵塞技術使我們不必開多個線程死等,我有點無法理解。一般如果做普通IO通信,比方說Socket,那么我們會給每個Socket開啟一個線程,這個線程的目的是讓socket做Read()時不阻塞主線程對不對?那么NIO是否是不執行這個Read()操作,或者說,是讓專門一個線程,定時對所有連接做一個Read()操作,然后馬上關閉Read(),執行下一個?(此問題摘自關于NIO的一些疑問)
  • 解決方法:傳統阻塞式的連接方式是每個連接一個線程,當連接數較多的時候(如上千并發),線程的創建和切換所帶來的開銷就非常大了。 一種的解決方案就是無阻塞式的reactor模型(linux中的epoll):將所有連接放在一個線程中輪詢,有讀寫事件的時候再執行相應的回調處理。這個主要是用在服務器端減少線程數的。 而對于客戶端來說,如果socket連接不多的話,每個連接直接單獨啟動一個線程處理socket也是可行的。

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

代碼托管

1071529-20170416221213790-1027634655.png
1071529-20170416221227477-51583983.png

上周考試錯題總結

  1. JDK8中的Lambda表達式有以下好處:
    A .
    消除重復性
    B .
    提高性能
    C .
    提高安全性
    D .
    改善可讀性
    正確答案:BD
  2. JDK8 中新時間API中,用于度量時間的類有()
    A .
    Instant
    B .
    Duration
    C .
    Period
    D .LocalDateTime
    正確答案:BC
  3. Java 8之前,對日期進行運算,使用()類。
    A .
    Date
    B .
    DateFormat
    C .
    Calendar
    D .
    SimpleDateFormat
    正確答案:C
  4. new Date(System.currentTimeMillis( ))等價于new Date()
    正確

    結對及互評

評分標準

  1. 正確使用Markdown語法(加1分):
    • 不使用Markdown不加分
    • 有語法錯誤的不加分(鏈接打不開,表格不對,列表不正確...)
    • 排版混亂的不加分
  2. 模板中的要素齊全(加1分)
    • 缺少“教材學習中的問題和解決過程”的不加分
    • 缺少“代碼調試中的問題和解決過程”的不加分
    • 代碼托管不能打開的不加分
    • 缺少“結對及互評”的不能打開的不加分
    • 缺少“上周考試錯題總結”的不能加分
    • 缺少“進度條”的不能加分
    • 缺少“參考資料”的不能加分
  3. 教材學習中的問題和解決過程, 一個問題加1分

  4. 代碼調試中的問題和解決過程, 一個問題加1分

  5. 本周有效代碼超過300分行的(加2分)
    • 一周提交次數少于20次的不加分
  6. 其他加分:
    • 周五前發博客的加1分
    • 感想,體會不假大空的加1分
    • 排版精美的加一分
    • 進度條中記錄學習時間與改進情況的加1分
    • 有動手寫新代碼的加1分
    • 課后選擇題有驗證的加1分
    • 代碼Commit Message規范的加1分
    • 錯題學習深入的加1分
    • 點評認真,能指出博客和代碼中的問題的加1分
    • 結對學習情況真實可信的加1分
  7. 扣分:
    • 有抄襲的扣至0分
    • 代碼作弊的扣至0分
    • 遲交作業的扣至0分

點評模板:

  • 博客中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 代碼中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 基于評分標準,我給本博客打分:XX分。得分情況如下:xxx

  • 參考示例

點評過的同學博客和代碼

  • 本周結對學習情況
    • 20155203
  • 上周博客互評情況
    • 20155117王震宇
    • 20155229付穎卓
    • 20155201李卓雯
    • 20155327李百乾
    • 20155224聶小益

其他(感悟、思考等,可選)

這周的學習任務也相較原來有所減少,不過對于第15章感覺對編程沒有太大的用處,就花在上面的時間不多。

學習進度條

代碼行數(新增/累積)博客量(新增/累積)學習時間(新增/累積)重要成長
目標5000行30篇400小時
第一周33/331/118/18
第二周124/1572/216/34
第三周531/6893/320/54
第四周550/12394/422/76
第五周847/20865/518/94
第六周1300/33866/620/114
第七周655/40417/716/130
第八周250/42918/815/145

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

參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法

  • 計劃學習時間:16小時

  • 實際學習時間:15小時

  • 改進情況:

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

參考資料

  • Java學習筆記(第8版)

  • 《Java學習筆記(第8版)》學習指導
  • Java NIO怎么理解通道和非阻塞
  • 關于NIO的一些疑問

轉載于:https://www.cnblogs.com/20155204wh/p/6720305.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254814.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254814.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254814.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HALCON示例程序train_characters_ocr.hdev使用SVM分類器訓練字體

HALCON示例程序train_characters_ocr.hdev使用SVM分類器訓練字體 小哥哥小姐姐覺得有用點個贊唄! 示例程序源碼(加注釋) 藍色字體均為算子解釋鏈接,可以前往查看解答 關于顯示類函數解釋 read_image (Image, ‘ocr/chars_tra…

《信息系統安全等級保護定級報告》

《信息系統安全等級保護定級報告》一、XXX信息系統描述簡述確定該系統為定級對象的理由。從三方面進行說明:一是描述承擔信息系統安全責任的相關單位或部門,說明本單位或部門對信息系統具有信息安全保護責任,該信息系統為本單位或部門的定級對…

安裝DirectX SDK時出現Error Code:s1023 的解決方案

安裝DXSDK_Jun10時(下載地址:http://www.microsoft.com/en-us/download/confirmation.aspx?id6812 ) 出現下圖所示錯誤 Error Code:s1023 計算機上有安裝過更新版的Microsoft Visual C 2010 Redistributable,打開“…

Linux下C++ UDP Socket例子

這里我們給出了linux下C的socket代碼如下&#xff1a; #include <iostream> #include <stdio.h> #include <sys/socket.h> #include <unistd.h> #include <sys/types.h> #include <netinet/in.h> #include <stdlib.h> #include <…

使用ES6的Promise完美解決回調地獄

相信經常使用ajax的前端小伙伴&#xff0c;都會遇到這樣的困境&#xff1a;一個接口的參數會需要使用另一個接口獲取。 年輕的前端可能會用同步去解決&#xff08;笑~&#xff09;&#xff0c;因為我也這么干過&#xff0c;但是極度影響性能和用戶體驗。 正常的前端會把接口寫在…

halcon file_exists 檢查文件是否存在

目錄file_exists&#xff08;算子&#xff09;描述參數file_exists&#xff08;算子&#xff09; file_exists - 檢查文件是否存在。 file_exists&#xff08;:: FileName&#xff1a;FileExists&#xff09; 描述 運算符file_exists檢查指示的文件是否已存在。 如果是這種…

頂級數據庫行會Percona阿里全面解析下一代云數據庫技術

摘要&#xff1a; 幾年前&#xff0c;數據庫管理系統的企業市場似乎還如同銅墻鐵壁&#xff0c;除了老牌廠商外&#xff0c;其他廠商休想打進來。隨著移動互聯、物聯網技術的發展&#xff0c;多終端應用的時代悄然而至。結構化與非結構化數據的爆發&#xff0c;推動人類社會進入…

怎樣推斷兩個日期在一周內

怎樣推斷兩個日期在一周內。首先&#xff0c;須要搞清楚一周內究竟是什么含義。國內一般是以周一作為每周的第一天&#xff0c;而西方普遍以周日作為每周的第一天。 下面&#xff0c;我們以西方的標準來處理這個問題。 常見的日期結構&#xff1a; struct DateTime { int year;…

TCP/UDP 網絡編程實例

TCP服務器&#xff1a;TCP_Server.c#include<stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <sys/stat.h> #include <netinet/in.h> #in…

MFC 雙擊控件 提示重載函數已存在

&#xfeff;&#xfeff;VS2013 界面雙擊按鈕控件&#xff0c;提示重載函數已存在&#xff0c;一般情況下&#xff0c;雙擊控件都是可以跳到代碼處的&#xff0c;為什么現在不能了&#xff1f; 這涉及到VS2013的自動生成問題 。 原因&#xff1a;雙擊控件跳到代碼處時&#x…

PHP常用函數總結

數學函數1.abs(): 求絕對值$abs abs(-4.2); //4.2 數字絕對值數字2.ceil(): 進一法取整echo ceil(9.999); // 10 浮點數進一取整3.floor(): 舍去法取整echo floor(9.999); // 9 浮點數直接舍去小數部分4.fmod(): 浮點數取余5.pow(): 返回數的n次方echo pow(-1, 20); // 1 基礎…

C#指定窗口顯示位置的方法

小哥哥小姐姐覺得有用點個贊唄&#xff01; C#指定窗口顯示位置的方法 1.使用StartPosition MainForm mainform; mainformnew MainForm (); dlgCtrl.StartPosition FormStartPosition.Manual;下面是FormStartPosition里邊的定義與解釋 // 指定窗體的初始位置。public …

OpenFileDialog對話框Filter屬性

OpenFileDialog對話框的Filter屬性說明&#xff1a; 首先說明一個示例&#xff0c;分析一下Filter屬性的構成&#xff1a;“ Excel文件|*.xls ”&#xff0c;前面的“Excel文件”成為標簽&#xff0c;是一個可讀的字符串&#xff0c;可以自定定義&#xff0c;“|*.xls”是篩選器…

c++中的::符

&#xfeff;&#xfeff;::是域運算符&#xff0c;一個用法是&#xff0c;如果在局部有一個變量n&#xff0c;還有一個全局變量n&#xff0c;即兩個同名&#xff0c;你要想訪問全局的就要寫::n,寫n就是局部變量.另外一個就是控制命名空間&#xff0c;例如C中的cin和cout屬于st…

x264_param_default

void x264_param_default( x264_param_t *param ) { /* 開辟內存空間*/ memset( param, 0, sizeof( x264_param_t ) ); /* CPU自動檢測 */ param->cpu x264_cpu_detect(); param->i_threads X264_THREADS_AUTO; /* 并行編碼線程為0 */ param->b_determini…

MySQL基礎原創筆記(一)

對表的增刪改操作&#xff1a; 創建表&#xff1a; create table student ( id int primary key auto_increment, name varchar(10) character set utf8 not null, sex char(2) default ‘M’, constraint fk_student_score foreign key(id) references score(id)…

C# 修改項目文件夾名稱完全版

目錄步驟1、打開項目&#xff0c;修改文件名稱2、更改命名空間名稱3、在解決方案中用txt1000替換所有test5004、使用記事本打開項目文件&#xff08;.sln文件&#xff09;修改路徑5、更改項目文件夾名稱6、刪除之前的殘留文件7、大功告成&#xff01;&#xff01;&#xff01;&…

js中遍歷注冊事件時索引怎么獲取

注意&#xff1a;這種寫法&#xff0c;是有問題的。注冊事件是在頁面加載完畢以后就完成了&#xff0c;但此時并沒有觸發事件。事件觸發是由用戶在頁面上點擊時才會觸發&#xff0c;所以說當用戶點擊時&#xff0c;才會執行事件處理函數&#xff0c;那么此時的i已經變成了4&…

spring 優點

spring 的優點&#xff1f;1.降低了組件之間的耦合性 &#xff0c;實現了軟件各層之間的解耦 2.可以使用容易提供的眾多服務&#xff0c;如事務管理&#xff0c;消息服務等 3.容器提供單例模式支持 4.容器提供了AOP技術&#xff0c;利用它很容易實現如權限攔截&#xff0c;運行…

模式對話框與非模式對話框的區別

&#xfeff;&#xfeff;模式對話框就是不處理它就沒法處理父窗口,而非模式對話框就是不用先處理此對話框也可以處理父窗口.例子:在桌面上右擊我的電腦,選擇屬性,彈出系統屬性窗口,點擊下面的技術支持,彈出技術支持信息,現在再對系統屬性窗口進行操作就操作不了,這種叫做模式對…