狂神說 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. 奔跑 ↩︎


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM