【114天】尚學堂高琪JAVA300篇視頻精華筆記(1-6)

【114天】尚學堂高琪JAVA300篇視頻筆記(1-6)

第1集

  1. 學啥語言都行,大同小異。html

  2. 踏實學,最快閉關四個月能找到工做。【這是我自個知乎上看的】java

第2集:計算機語言發展史、java核心優點、java三大版本的區別

Java相關背景知識

  1. 計算機基於馮諾曼體系編程

  2. 計算機三代語言api

    1. 機器語言緩存

    2. 彙編語言安全

    3. 高級語言服務器

      • 面向過程(C)多線程

      • 面向對象(C++、JAVA、C#)eclipse

  3. C語言是現代語言鼻祖jvm

  4. C++是在C語言基礎上設計的面嚮對象語言

  5. Java可被稱爲C++-

  6. Object-C是IOS和Mac開發中的主流語言

  7. C#是微軟山寨的JAVA,但因爲與Windows綁定,失去了Java的跨平臺優點。

Java的特性

  1. 簡單性

  2. 面向對象

  3. 可移植性(跨平臺性)【核心優點】

    >一次編寫,隨處運行,對不一樣平臺兼容性的處理由JVM處理,咱們只須要專一於Java源文件的開發。
  4. 高性能

  5. 分佈式

  6. 動態性

  7. 多線程

  8. 安全性

  9. 健壯性

Java三大版本

  1. J2SE(JAVASE、Java 2 Standard Edition)

    >定位在我的計算機上的應用【Java基礎】
  2. J2EE(JAVAEE、Java 2 Enterprise Edition)

    >定位在服務器端的應用【JavaWeb、安卓使用】
  3. J2ME(JAVAME、Java 2 Micro Edition)

    >定位在消費性電子產品的應用【使用較少】

第3集:JDK和JRE和JVM的區別、JDK的下載安裝、環境變量配置、測試安裝成功

JDK和JRE和JVM的區別

  1. JVM(Java Virtual Machine)

    1. JVM是一種規範,可使用軟件來實現,也可使用硬件來實現,就是一個虛擬的用於執行bytecodes字節碼的計算機。他也定義了指令集、寄存器集、結構棧、垃圾收集堆、內存區域。

    2. Oracle公司制定了JVM規範,方便開發者開發JVM。

    3. JVM是指在一臺計算機上由軟件或硬件模擬的計算機;它相似一個小巧而高效的CPU。

    4. byte-code代碼是與平臺無關的是虛擬機的機器指令。

    5. JAVA的跨平臺實現的核心是不一樣平臺使用不一樣的虛擬機,不一樣的操做系統有不一樣的虛擬機。Java 虛擬機機制屏蔽了底層運行平臺的差異,實現了「一次編譯,隨處運行」。

    6. java字節代碼運行的兩種方式:

      • 方式interpreter(解釋)

      • Just-in-time(即時編譯):有代碼生成器將字節代碼轉換成本機的機器代碼,而後能夠以較高速度執行。

    7. JVM負責將java字節碼解釋運行,邊解釋邊運行,這樣,速度就會受到必定的影響。JAVA提供了另外一種解釋運行的方法JIT(just in time),能夠一次解釋完,再運行特定平臺上的機器碼,高級的JIT能夠只能分析熱點代碼,並將這些代碼轉成本地機器碼,並將結果緩存起來,下次直接從內存中調用,這樣就大大提升了執行JAVA代碼的效率。這樣就實現了跨平臺、可移植的功能。    

  2. JRE(Java Runtime Environment)

    1. JRE包括:Java虛擬機(JVM)、庫函數、運行Java應用程序和Applet所必須文件

    2. jre就是java運行時環境,包括了jvm和其它一些java核心api,任何一臺電腦,只有安裝了jre才能夠運行java程序.  

    3. Java運行環境的三項主要功能:

      • 加載代碼:由class loader 完成;

      • 校驗代碼:由bytecode verifier 完成;

      • 執行代碼:由 runtime interpreter完成。

    4. 若只是運行JAVA程序,只須要JRE(一般很是小)

  3. JDK(Java Development Kit)

    1. sdk(也就是jdk)是jre的超集,是在jre的基礎上增長了編譯器及其餘一些開發工具。

    2. 若要開發Java程序,就須要安裝JDK。

  4. JAVA語言的應用範圍

    1. 桌面應用編程

    2. WEB客戶端編程

    3. WEB服務器編程

    4. 手機編程(J2ME或者如今的Android系統上開發應用程序)

    5. 機器人編程

JAVA開發環境的安裝和配置詳解(Windows)

  1. 下載JDK

  2. 安裝JDK

  3. 環境變量配置

  4. 測試環境是否安裝成功(cmd測試)

第4集:第一個程序HelloWorld、JAVA程序運行機制

public class HelloWorld {
    public static void main(String[] args) {
        System.out.print("Hello World!");
    }
}
  1. 環境變量的配置,是方便你打Java、Javac時直接執行文件

  2. 計算機的高級編程語言類型: 編譯型 ,解釋型.  Java 語言是兩種類型的結合; 

    1. 第一步:編譯
      利用編譯器(javac)將源程序編譯成字節碼文件,字節碼文件名:源文件名.class

    2. 第二步:運行
      利用虛擬機(解釋器,java)解釋執行class字節碼文件。

第5集:Helloworld深化、文本編輯器的使用、經常使用dos命令、註釋

Helloworld深化

  1. Java對大小寫敏感。

  2. 關鍵字public被稱做訪問修飾符(access modifier),用於控制程序的其它部分對這段代碼的訪問級別。

  3. 關鍵字class 代表Java 程序中的所有內容都包含在類中,Java是一種純面向對象的語言。

  4. 一個源文件中至多隻能有一個public的類聲明,其它類的個數不限,若是源文件中包含一個public 類,源文件名必須和它中定義的public的類名相同,且以「java」爲擴展名。

  5. 一個源文件能夠有多個class,正確編譯後的源文件,會獲得相應的字節碼文件,編譯器爲每一個類生成獨立的字節碼文件,且將字節碼文件自動命名爲類的名字且以「class」爲擴展名。

  6. main方法是Java應用程序的入口方法,它有固定的書寫格式。

  7. 在Java中,用花括號劃分程序的各個部分,任何方法的代碼都必須以「{」開始,以「}」結束, 因爲編譯器忽略空格,因此花括號風格不受限制。

  8. Java中每一個語句必須以分號結束,回車不是語句的結束標誌,因此一個語句能夠跨多行。 

  9. 編程風格:

    1. 注意縮進!

    2. 成對編程!

經常使用Java開發工具

  1. 文本編輯器

    • UltraEdit

    • EditPlus

    • notepad++

    • sublime text3

  2. 集成開發環境(IDE:Integrated Development Environment)

CMD經常使用dos命令

  1. cd   進入一個目錄

  2. cd ..

  3. dir

  4. 上下鍵:查找敲過的命令

  5. Tab鍵:自動補齊命令 

TERMINAL經常使用命令

  1. cd【.. ~ . /】

  2. ls

  3. pwd

  4. clear

  5. history

參考資料

兩種註釋

  1. 單行註釋//、多行註釋/**/

  2. 註釋不出如今字節碼文件中,編譯器編譯時將跳過註釋。

public class Five {
    public static void main(String[] args){
        System.out.print("test");//我是單行註釋
        System.out.println("test2");
        /*我 
         *是
         *多
         *行
         *注
         *釋*/    
    }
}

第6集:標識符、unicode和GBK及各類字符集的關係

標識符

  1. 標識符:用於類、方法、變量的命名。

    1. 類名首字母大寫(Man)

    2. 方法、變量首字母小寫(myCode、eat())

    3. 標識符都使用駝峯命名法。

  2. Java標識符命名規則:

    1. 標識符必須以字母、下劃線_ 、美圓符$開頭。

    2. 標識符其它部分能夠是字母、下劃線「_」、美圓符「$」和數字的任意組合。

    3. Java 標識符大小寫敏感,且長度無限制。

    4. 不能夠是Java的關鍵字。

public class test006 {
    public static void main(String[] args){
        int $abc = 3;
        int _abc = 3;
        int abc = 3;
        int _ = 3;
        int $ = 3;
        int a = 3;
        //int 3abc = 3;//錯誤
        //int #abc = 3;//錯誤
        int 尚學堂 = 3;//能夠,但不推薦
    }
}

unicode和GBK及各類字符集的關係

  1. JAVA不採用一般語言使用的ASCII字符集,而是採用Unicode這樣的標準的國際字符集。所以,這裏的字母的含義:英文、漢字等等。(不建議你們使用漢字來定義標識符!)

  2. 編碼與解碼時若不使用同一字符集,則會出現亂碼。

  3. UTF-8,中文3個字節表示一個漢字、西歐英文1個字節表示一個字母,阿拉伯2個字節表示一個字符。

  4. 【個人拓展】經常使用中文字符用utf-8編碼佔用3個字節(大約2萬多字),但超大字符集中的更大多數漢字要佔4個字節(在Unicode編碼體系中,U+20000開始有5萬多漢字)。GBK、GB2312收編的漢字佔2個字節,嚴格地用iso8859-1沒法表示漢字,只能轉爲問號。參考資料

相關文章
相關標籤/搜索