20155314 2016-2017-2 《Java程序設計》第1周學習總結
學習目標
- 了解Java基礎知識(已完成)
- 了解JVM、JRE與JDK,並下載、安裝、測試JDK(已完成)
- 了解PATH、CLASSPATH、SOURCEPATH的作用並會設置(正在學習)
- 初步使用IDE(推薦IDEA),會編譯、運行、調試簡單的Java程序(已完成)
教材學習內容總結
- 瀏覽教材,根據自己的理解每章提出一個問題
- 認真學習教材第一章、第二章
第一章
Java常識
Java最早是Sun公司綠色項目Green Project中編寫Star7應用程序的程序語言,當時取名為Oak
- Java誕生:1995年5月23日
- Java之父:James Gosling
- 最新Java版本:Java SE 8,2014年3月18日發布
- 相關名詞解釋(小白福利QAQ)
- Java SE:Java標准版本
- JVM:Java虛擬機
- JRE:1Java執行環境
- JDK:包括JRE及開發過程中需要的一些工具程序
- Java EE:Java企業版本
- Java ME:Java微型版本
- JCP:一個開放的國際組織,主要由Java開發者以及被授權者組成,職能是發展和更新
- JSR:Java規范提案,指向JCP提出新增一個標准化技術規范的正式請求
- RI:根據JSR成果做出免費且開發原始碼的參考實現
- TCK:技術兼容測試工具箱
- Oracle JDK:被Oracle收購之后的JDK參考實現
- OpenJDk:Sun在2006年的JavaOne大會上把Java開源而形成的項目
- JavaOne:每年一次的Java盛會
- IDE:集成開發環境
- API:應用程序編程接口
- OO:面向對象
- JavaDoc:Sun公司提供的一個技術,它從程序源代碼中抽取類、方法、成員等注釋形成一個和源代碼配套的API幫助文檔
- javac:Java語言編程編譯器,javac命令可以將java源文件編譯為class字節碼文件
- Java SE:Java標准版本
get到的重點——教材建議的Java學習路徑
- 深入了解JVM/JRE/JDK:JVM是Java程序唯一認識的操作系統,其可執行文件為.class文檔
- 理解封裝(Encapsulation)、繼承(Inheritance)、多態(Polymorphosm):面向對象中最重要的概念
- 掌握常用Java SE API架構
可參考Java 集合系列之Collection架構
- 學習容器觀念:
- 操作層面:執行於JVM上的Java應用程序
- 抽象層面:應用程序溝通、協調相關資源的系統
- 研究開放原始碼項目:參考教材作者林信良教授的在線文件
- 學習設計模式與重構:根據需求做出好的設計,因應需求變化調整現有程序架構
- 熟悉相關開發工具:Eclipse IDE、NetBeans IDE,還可以搭配Ant構建工具、Maven或Gradle項目工具等一同使用
通過百度學到的macOS終端命令
參考Mac 終端命令大全,這里列出幾個常用的命令
命令名 | 功能描述 | 使用舉例 |
---|---|---|
man | 查看命令的詳細幫助 | man ls |
mkdir | 創建一個目錄 | mkdir dirname |
rmdir | 刪除一個目錄 | rmdir dirname |
cd | 改變當前目錄 | cd dirname |
pwd | 顯示當前目錄的路徑名 | pwd |
cp | 復制文件或目錄 | cp file1 file2 |
find | 使用匹配表達式查找文件 | find . -name "*.c" -print |
file | 顯示文件類型 | file filename |
open | 使用默認的程序打開文件 | open filename |
passwd | 修改用戶密碼 | passwd |
xlock | 給終端上鎖 | xlock -remote |
touch | 更新文件的訪問和修改時間 | touch -m 05202400 filename |
ps | 顯示進程當前狀態 | ps u |
kill | 終止進程 | kill -9 30142 |
history | 列出最近執行過的幾條命令及編號 | history |
uname | 顯示操作系統的有關信息 | uname -a |
clear | 清除屏幕或窗口內容 | clear |
who | 列出當前登錄的所有用戶 | who |
whoami | 顯示當前正進行操作的用戶名 | whoami |
tty | 顯示終端或偽終端的名稱 | tty |
du | 查詢磁盤使用情況 | du -k subdir |
df | 顯示文件系統的總空間和可用空間 | df /tmp |
w | 顯示當前系統活動的總信息 | w |
通過百度學到的Mac終端常用快捷鍵(百度真是好東西)
Tab
命令、文件名等自動補全
ctrl + C
終止正在運行的程序
ctrl + D
退出 Terminal(建議用command + W
)
ctrl + U
清除當前輸入命令
ctrl + W
刪除當前輸入命令最后一個單詞
Ctrl + K
刪除光標處到行尾的字符
ctrl + A
光標跳至行首
ctrl + E
光標跳至行尾
ctrl + L
清屏
command + T
新建終端窗口標簽
command + D
垂直分屏
command + ctrl + F
全屏
教材學習中的問題和解決過程
JDK(JDK 8 for mac)的下載、安裝
按住之前在百度的幫助在macOS上Automator.app中設置好的快捷鍵contrl+alt+T
,打開終端,輸入java:
顯示JDK尚未安裝,點擊【更多信息...】進入下載頁面:
下載完畢,雙擊安裝:
點擊【繼續】,直至安裝完成:
安裝完JDK for mac后,需要搭建Java開發環境
我的MBP配置如下:
再次打開終端,輸入echo $SHELL
查看macOS Sierra 10.12.3版本的系統使用的是什么shell命令:
終端輸出的是bash,說明是默認的Unix Shell命令
輸入java,就會出現如下界面:
通過命令行查看Java版本:
終端輸出JDK的版本為1.8,是當前最新版本喲~( ̀⌄ ́)~
配置環境變量
在終端中輸入sudo vim etc/profile
,輸入mac用戶密碼(就不告訴你(/ω\))
額...怎么又突然全變成英文了尷尬(¬_¬)
使用vi編輯profile文件
鍵入i
,進入插入模式,在文件尾部,添加Java路徑:
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/" CLASS_PATH="$JAVA_HOME/lib" PATH=".;$PATH:$JAVA_HOME/bin"
添加完畢之后,按esc退出插入模式,並鍵入wq!
保存退出文件。
shit,為什么又打不開了。。
只好再次求助百度啊百度QAQ
某大神提供了一個超簡便的方法:
打開terminal
然后輸入vi .bash_profile
將這段文字輸入:JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
在vi編輯器使用:wq命令保存退出
輸入source .bash_profile 這樣就可以使得環境變量起作用了
再輸入echo $JAVA_HOME
然后...啊居然成功了( ̀⌄ ́)成功輸出剛才配置的路徑~表示環境變量已經配置好了·_·
然而不巧我忽然看到大神最下面的一句話:
必須說明的是這種配置方法只適用於用戶環境變量,如果系統更新,之前的配置可能失效,如果想要永久改變需要配置在/etc目錄下的profile文件中
我:……還是不靠譜啊喂!!
不管怎樣,環境變量已經配置完畢,打開終端輸入javac
即出現以下界面:
代碼調試中的問題和解決過程
macOS下運行Java Hello World——我的第一個Java程序
-
在寫第一個Java程序之前,我通過萬能的百度Mac上如何新建文本文檔學到了用終端命令行法在Desktop上新建了一個名為Hello.txt的文本文檔——終端下:
cd 目錄
vi 文件名
或vim 文件名
即如下圖所示:
按i
鍵,在Hello.txt中輸入婁老師第一節Java課上給的Hello World代碼,如下圖,輸入完成后,按esc
,再輸入:wq
即完成創建,並把文件名改為Hello.java:
public class Hello{ public static void main(String[] args){ System.out.printf("Hello World!\n"); } }
-
在主目錄下新建一個文件夾java,把Hello.java放到該文件夾
-
終端下切換到當前目錄
cd java
,現在可以編譯程序了~輸入
javac Hello.java
,這時在主目錄的java文件夾里已經生產了一個編譯出的class文件
再次運行終端,輸入
java Hello
這時激動人心的字幕“Hello World!”出現了!至此人生中第一個Java程序成功編譯了66666!我成功了!!歐耶!
在Eclipse for mac中也實現了Hello World
關於IDE,我自學並安裝了macOS平台下使用較為廣泛的Eclipse作為我以后的Java開發環境,畢竟在相應的開發環境下編譯運行Java程序比在終端輸入命令要方便很多,如同學習C語言時在VC2012、VC6.0和CodeBlocks等環境下一樣。通過安裝Eclipse,我又對IDE以及JDK有了進一步的認識,無論是通過翻閱教材還是百度,我確實學到了不少新知識,開闊了眼界。
在Eclipse官網下載完Eclipse后開始安裝,我選擇的是for java Developers的IDE配置模式,其實看下面的選項就知道Eclipse還可以作為C語言學習的開發環境,只可惜當時學C的時候被CodeBlocks死死局限住了,當時真孤陋寡聞啊(>_<)
安裝完后,出現welcome界面,eclipse界面令人煥然一新~(純英文界面,好在成功考過六級,看懂這些還是不成問題的(。ì _ í。))但由於我迫不及待地開始編寫我的Hello World,這些一概無視(>_<)(其實提示信息什么的還是要好好看看啊QAQ)
選create a java project,在最上面Project name一欄自豪地寫上了我的“Hello World”,finish,OK項目已建成!
然后需要新建一個類(class),點擊左邊剛剛新建的Hello World,展開后右鍵src,選擇new——class
同樣的要寫上類的名字,不過剛開始我起的Hello World好像出了點問題,如圖,上面的提示似乎是不能出現空格?那就HelloWorld唄( ̀⌄ ́)
不過要注意下面紅框框里的main要勾選喲(不明覺厲)
下面就到了熟悉的盡情碼代碼的環節了~很快便把婁老師給的Hello World代碼又輸了上去,點擊Run,最激動人心的時刻來臨了!屏幕下方Console界面上赫然出現的“Hello World!”還是使我受到莫大的鼓舞
mission complete!(>_<)
代碼托管
- 代碼提交過程截圖:
- 運行 git log --pretty=format:"%h - %an, %cd : %s" 並截圖
- 代碼量截圖:
- 運行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 並截圖
上周考試錯題總結
- 木有考試QAQ但需要好好復習一下Linux(◐‿◑)
學習心得與體會
這是我第一次寫這么長的博客,差不多歷時五天吧,每晚上自習都會投入大量的時間(玩弄我的macOS),可能以后每天還要繼續更新。由於我用的是macOS導致直接形成與大家的windows對立的局面,很多問題別人根本無法解答只能靠自己一點點百度,別人來問我windows上如何用git呀這個那個的老實說很遺憾我也並不太清楚(o.O)第一周作業做的雖然有些倉促不過真心學到了不少東西,包括markdown(macOS下我用的macdown)的語法和終端命令我又里里外外研究了個遍,很多時候我看教材也會經常翻回前面兩章看看,平時沒事翻翻以前的博客、婁老師的課程匯總,做到溫故而知新,同學們的博客我也經常逛喲(這是什么癖好(>_<))
百度是個好東西,在百度的過程中關於macOS快捷鍵又學會了一招!
macOS下寫路徑的方法:
shift+command+G
(在Finder里操作)
真的好方便啊哈哈哈哈(/ω\)
shift+command+G
shift+command+G
shift+command+G
重要的快捷鍵要提醒自己三遍!!
雜音
今天我的win7虛擬機崩了,無法安裝更新,難過
開學的時候從某寶上給我心愛的MBP弄了一個可愛的實用的鍵盤膜醬QwQ上面有很多便於學習macOS快捷鍵的提示喲暖暖的很貼心嗯(拒絕打廣告)
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 34/34 | 1/4 | 12/12 |