1. 程式人生 > 實用技巧 >狂神說 JavaSE入門筆記(一)

狂神說 JavaSE入門筆記(一)

JavaSE入門

1 前言

1.1 解決疑問

我覺得重要的點:

  1. 要學習英語

  2. 要堅持學習,最重要

1.2 學習路線

總路線

學習內容 學習時間/天
JavaSE 19
資料庫 4
前端 7
JavaWeb 7
SSM框架 9
Linux 7
SpringBoot 8
SpringCloud 7
Hadoop 8

JavaSE

  1. 計算機基礎
  2. 部落格的重要性
  3. Java基礎語法
  4. 流程控制
  5. 方法
  6. 陣列
  7. 面向物件
  8. 異常
  9. 常用類
  10. 集合框架
  11. IO
  12. 多執行緒
  13. GUI
  14. 網路程式設計
  15. 註解和反射
  16. JUC程式設計
  17. JVM探究
  18. 【擴充套件】設計模式
  19. 【擴充套件】XML
  20. 【擴充套件】資料結構與演算法
  21. 【擴充套件】正則表示式

資料庫

  1. MySQL
  2. JDBC
  3. UML類圖
  4. 資料庫設計

前端

  1. HTML
  2. CSS
  3. JS
  4. jQuery
  5. Layui/BootStrap
  6. Vue

JavaWeb

  1. Tomcat
  2. Http
  3. Maven
  4. Servlet
  5. Session
  6. Cookie
  7. JSP
  8. 三層架構
  9. JSTL,EL表示式
  10. 過濾器
  11. 監聽器
  12. 檔案上傳
  13. 郵件收發
  14. 【擴充套件】富文字編輯器

至此,做出一個網站已經沒有問題了。

SSM框架

  1. Git
  2. MyBatis
  3. Spring
  4. SpringMVC

Linux

  1. Linux基礎
  2. Redis
  3. Nginx
  4. Docker

至此,去小公司上班已經足夠了。

Spring Boot

  1. SpringBoot基礎
  2. SpringBoot配置及原理
  3. SpringBoot持久化操作
  4. SpringBoot Web開發
  5. SpringBoot 快取
  6. SpringBoot 訊息
  7. SpringBoot 檢索
  8. SpringBoot 任務
  9. SpringBoot 安全
  10. Dubbo+Zookeeper 分散式開發

SpringCloud

  1. 微服務及微服務架構
  2. SpringCloud
  3. Eureka服務註冊與發現
  4. Feign,Ribbon負載均衡
  5. Hystrix 熔斷機制
  6. Zuul 路由閘道器
  7. SpringCloud Config配置中心

Hadoop

  1. 大資料時代
  2. Hadoop簡介
  3. Hadoop環境搭建
  4. HDFS
  5. MapReduce
  6. Yarn
  7. Hive
  8. Hbase

1.3 學習方法

多寫程式碼,多寫筆記,多寫文章

(筆記自己看,文章練表達和文筆,加深理解同時給別人看)

多練交流,多練思維,多練技能

多分享知識,多提問怎麼了,多思考為什麼


最重要的是堅持

每個牛B人物背後都有端苦逼的歲月,只要像sb一樣的堅持,終將牛B

2 預科

2.1 寫部落格的重要性

  • 需要總結和思考。
  • 提示文筆組織
  • 提示邏輯思維
  • 幫助別人,結交朋友

我們不能一直趕路,卻忘記了放慢腳步

寫部落格短期內可能看不到效果,但是長期堅持下來一定會有所收穫

2.2 MarkDown語法

標題

分六級,不同數量的# + “ ”

段落格式

段落換行

是使用兩個以上的空格加回車換行

或使用一個空行

字型

*號和_線都可以用來表述字型

分隔線

三個以上的星號,減號,底線都可以

***
* * *
---
___

刪除線

兩端加~~

下劃線

可以通過HTML的<u>標籤來實現

腳註

這樣[1]

這樣[^run]
[^run]:奔跑

列表

有序列表

使用+ - * 皆可

無序列表

使用1.

列表巢狀

前面加四個空格

Typora Ctrl + 空格巢狀列表

區塊

在段落的開頭使用>後緊跟一個空格

使用不同數量的>來巢狀區塊

也可以再區塊裡使用列表

列表裡也可以使用區塊

程式碼

段落上的一個函式或片段的程式碼可以用反引號包起來`

四個空格或製表符Tab鍵

使用```並指定語言

連結

[連結名稱](連結地址)
<連結地址>

這個連結使用1作為網路變數[Google][1]
並在文件的末尾為變數賦值

[1]:http://www.google.com

圖片

![alt 屬性文字](圖片地址)
![alt 屬性文字](圖片地址 "可選標題")

使用HTML中標籤來指定高度與寬度

表格

使用|來分隔不同的單元格,使用-來分隔表頭和去其他行

|  表頭   | 表頭  |
|  ----  | ----  |
| 單元格  | 單元格 |
| 單元格  | 單元格 |

-: 設定內容和標題欄居右對齊。
:- 設定內容和標題欄居左對齊。
:-: 設定內容和標題欄居中對齊。

| 左對齊 | 右對齊 | 居中對齊 |
| :-----| ----: | :----: |
| 單元格 | 單元格 | 單元格 |
| 單元格 | 單元格 | 單元格 |

高階技巧

支援HTML元素

轉義字元

公式

當你需要在編輯器中插入數學公式時,可以使用兩個美元符 $$ 包裹 TeX 或 LaTeX 格式的數學公式來實現

Typora畫圖

Typora可以畫流程圖,時序圖,甘特圖

點選進入菜鳥教程Markdown 高階技巧
點選進入Typora官網

2.3 Windows常用快捷鍵

Ctrl + A 全選

Ctrl + X 剪下

Ctrl + Z 撤銷

Ctrl + S 儲存

Alt + F4 關閉

Win + R 執行

Win + E 檔案

Shift + Delete 永久刪除

Ctrl + Shift +Esc 資源管理器

2.4 基本Dos命令

檢視檔案 dir

清理螢幕 cls

檢視電腦ip ipconfig


開啟應用

  • 計算器 calc
  • 畫圖 mspaint
  • 記事本 notepad

檔案

  • md 建立目錄
  • rd 刪除目錄
  • cd> 建立檔案
  • del 刪除檔案

3 簡介

3.1 Java誕生

Java 是由 Sun公司於 1995 年 5 月推出的

後來 Sun 公司被 Oracle (甲骨文)公司收購

3.2 Java特性

  • Java 語言是簡單的:

    Java 語言的語法與 C 語言和 C++ 語言很接近,使得大多數程式設計師很容易學習和使用。另一方面,Java 丟棄了 C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符過載、多繼承、自動的強制型別轉換。特別地,Java 語言不使用指標,而是引用。並提供了自動分配和回收記憶體空間,使得程式設計師不必為記憶體管理而擔憂。

  • Java 語言是面向物件的:

    Java 語言提供類、介面和繼承等面向物件的特性,為了簡單起見,只支援類之間的單繼承,但支援介面之間的多繼承,並支援類與介面之間的實現機制(關鍵字為 implements)。Java 語言全面支援動態繫結,而 C++語言只對虛擬函式使用動態繫結。總之,Java語言是一個純的面向物件程式設計語言。

  • Java語言是分散式的:

    Java語 言支援 Internet 應用的開發,在基本的 Java 應用程式設計介面中有一個網路應用程式設計介面(java net),它提供了用於網路應用程式設計的類庫,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(遠端方法啟用)機制也是開發分散式應用的重要手段。

  • Java 語言是健壯的:

    Java 的強型別機制、異常處理、垃圾的自動收集等是 Java 程式健壯性的重要保證。對指標的丟棄是 Java 的明智選擇。Java 的安全檢查機制使得 Java 更具健壯性。

  • Java語言是安全的:

    Java通常被用在網路環境中,為此,Java 提供了一個安全機制以防惡意程式碼的攻擊。除了Java 語言具有的許多安全特性以外,Java 對通過網路下載的類具有一個安全防範機制(類 ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組程式碼檢查,並提供安全管理機制(類 SecurityManager)讓 Java 應用設定安全哨兵。

  • Java 語言是體系結構中立的:

    Java 程式(字尾為 java 的檔案)在 Java 平臺上被編譯為體系結構中立的位元組碼格式(字尾為 class 的檔案),然後可以在實現這個 Java 平臺的任何系統中執行。這種途徑適合於異構的網路環境和軟體的分發。

  • Java 語言是可移植的:

    這種可移植性來源於體系結構中立性,另外,Java 還嚴格規定了各個基本資料型別的長度。Java 系統本身也具有很強的可移植性,Java 編譯器是用 Java 實現的,Java 的執行環境是用 ANSI C 實現的。

  • Java 語言是解釋型的:

    如前所述,Java 程式在 Java 平臺上被編譯為位元組碼格式,然後可以在實現這個 Java 平臺的任何系統中執行。在執行時,Java 平臺中的 Java 直譯器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到執行環境中。

  • Java 是高效能的:

    與那些解釋型的高階指令碼語言相比,Java 的確是高效能的。事實上,Java 的執行速度隨著 JIT(Just-In-Time)編譯器技術的發展越來越接近於 C++。

  • Java 語言是多執行緒的:

    在 Java 語言中,執行緒是一種特殊的物件,它必須由 Thread 類或其子(孫)類來建立。通常有兩種方法來建立執行緒:其一,使用型構為 Thread(Runnable) 的構造子類將一個實現了 Runnable 介面的物件包裝成一個執行緒,其二,從 Thread 類派生出子類並重寫 run 方法,使用該子類建立的物件即為執行緒。值得注意的是 Thread 類已經實現了 Runnable 介面,因此,任何一個執行緒均有它的 run 方法,而 run 方法中包含了執行緒所要執行的程式碼。執行緒的活動由一組方法來控制。Java 語言支援多個執行緒的同時執行,並提供多執行緒之間的同步機制(關鍵字為 synchronized)。

  • Java 語言是動態的:

    Java 語言的設計目標之一是適應於動態變化的環境。Java 程式需要的類能夠動態地被載入到執行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java 中的類有一個執行時刻的表示,能進行執行時刻的型別檢查。

3.3 Java三大版本

JavaSE 標準版

JavaME 嵌入式開發

JavaEE 企業級開發

3.4 JDK,JRE,JVM

JDK Java Development Kit

JRE Java Runtime Environment

JVM Java Virtual Machine

3.5 安裝開發環境

下載JDK

配置環境變數

下載IDEA

3.6 編譯型和解釋型

Java編譯 位元組碼 JVM解釋

3.7 IDEA

我們的整合環境

反編譯

Java 編譯 class 位元組碼檔案

class 位元組碼檔案 反編譯 Java

IDEA 可以實現反編譯

將class檔案在專案中開啟可以看到反編譯後的程式碼已經和我們寫的有所區別

快捷鍵

Ctrl + D 將本行程式碼複製到下一行

Ctrl + H 檢視繼承樹

Ctrl + Alt + T 包裹程式碼塊


  1. 奔跑 ↩︎