本期是油墨山的開篇之做,那咱們就循序漸進的來講好了。油墨山的初衷,是爲了可以給初學java的小白以指引,但願可以經過一天一天的文章積累,梳理java基礎知識脈絡,清晰規劃java學習路線。基礎是萬丈高樓的基石,基礎不牢,越日後學越是糊塗。也但願油墨山能一直陪伴朋友們成長下去。下面,咱們開始正題。java
編程語言是一種人機交互的手段,編程語言是人所可以看的懂得語言。而由編程語言所寫出來的代碼經由編譯器處理以後轉換成計算機可以處理的語言。在編程語言轉換成機器語言這個過程當中,又分爲一步到位的和分兩步進行兩種方式,更專業一點的術語叫編譯型語言和解釋型語言。編程
前面一種方式拿C語言來講,通過編譯器處理以後,會生成一個可執行文件(以.exe結尾),直接鼠標雙擊就能夠運行程序,能夠脫離語言環境。而解釋型語言沒法生成獨立的可執行文件必須依賴於一個解釋程序才能執行。咱們比較熟悉的解釋型語言是JavaScript,用在網頁技術中的一種腳本語言。windows
爲何語言會分爲編譯型和解釋型兩種不一樣的類型呢?那麼確定是在長期的發展過程當中因爲不一樣的需求多致使的唄,多簡單是否是。微信
而咱們的主角JAVA既是編譯型的語言,又是解釋型的語言。你編寫好的程序代碼在通過編譯以後會生成一個.class文件,即字節碼文件。可不能忽視這個中間文件,你想既然能夠編譯生成字節碼文件,那有沒有辦法反編譯在生成程序代碼呢。或者得到代碼的具體信息呢?此處是一伏筆,嗯劃重點。編程語言
對本文介紹來講,生成的這個字節碼文件並非誰均可以執行的,須要有具體的環境。那是啥呢?沒錯,Java虛擬機(JVM),JAVA語言之因此具備很好的可移植性,正是由於其生成的字節碼文件是在Java虛擬機上執行的。不論是windows系統仍是Linux系統,歸根究竟是所使用了相應的JVM來處理。編輯器
固然了,介紹總免不了會介紹不少的高大上的看不見摸不着的概念,不清楚也沒有關係,由於這些概念的具體過程離咱們還很遙遠。還不懂基本語法,看不懂代碼就要解析字節碼,編寫虛擬機?確定是不可能的。主要的是想告訴你們思考的重要性,理解代碼以後的邏輯。編程是面向現實生活的,解決的也是實際的問題,那麼怎麼解決的呢?爲何寫幾行、幾百行代碼就能夠把現實中一個很複雜的問題解決了?這些纔是咱們須要思考的東西。函數
怎麼解決呢?這麼解決。實際生活中有問題出現了,我想用編程來解決。比方說我要計算1+1,怎麼辦呢?拿C語言來講,編寫一個函數,函數有一個過程計算1+1而後返回結果。這叫面向過程,解決問題該有什麼樣具體的步驟。學習
而JAVA語言不是這樣的,它會怎麼作。JAVA是面向對象的,一切皆對象,萬物可抽象!我不直接計算1+1,我抽象,我抽象一個類,這個類有一種行爲或者更貼切生活叫有一種能力,它能計算1+1。有了這樣一種類,那我是否是隻要找來一個具體的實例就能夠解決這個問題啦。這一段描述更多的是有點概念性的東西。可是在熟悉以後,我相信你們都會有那麼一種感受,會感受出兩者的不一樣。更專業的解釋請查詢相關書籍。orm
JAVA具體的來講分爲了JAVA SE、JAVA ME和JAVA EE。第一個就是咱們接下來準備講的,基礎中的基礎,ME是用來作嵌入式設備的,JAVA EE是用來作企業開發的。先學好JAVA SE,再去學習JAVA EE。嗯,就是這樣。對象
學習編程是一件很辛苦的事,對於初學來講什麼也不懂,軟件怎麼下載也安裝不上去,怎麼點也運行不出結果,代碼編輯器上處處都是紅叉叉。可是請堅持下去,不要忽視基礎,不要眼高手低好高騖遠。看到不少炫酷的技術就想去學,基礎不打牢越學越痛苦。
除此以外有了必定的積累以後多去看看代碼,代碼是一種實現,裏面包含了解決問題的邏輯。Java是開源的,多有的源文檔都是能夠找到的,可是不建議一上來就看,一是看不懂,二是浪費時間不知重點。多實現多敲代碼,以時間爲墨,總會寫出咱們的程序華章。
因爲小編水平有限,若有不足,還請不吝賜教!!!此處也是重點,記下記下。微信搜索關注油墨山公衆號,獲取更多文章諮詢!!!