來杯JAVA冷靜一下_01基礎_0805


????

感謝狂神說。


# 0805 來杯JAVA冷靜一下
### 1 如何更好更高效的學習Java
- 多寫(代碼),多寫(筆記),多寫(文章)多練(交流),
- 多練(思維),多練(技能)
- 多分享(知識),多提問(怎么了),多思考(為什么)
- 最重要(堅持)
**每個牛B人物背后都有段苦逼的歲月,只要像sb的一樣堅持,終將牛B!
**

核芯顯卡與外接顯卡,前者目的是讓電腦能用,后者是為了使用體驗加分
### 2 計算機硬件
些物理裝置按系統(tǒng)結構的要求構成一個有機整體為計算機軟件運行提供物質基礎。
#### 計算機硬件組成:
CPU
主板
內存
電源、主機箱
硬盤
顯卡
鍵盤、鼠標
顯示器
等.......
### 3 計算機軟件
計算機軟件可以使計算機按照事先預定好的順序完成特定的功能計算機軟件按照其功能劃分為系統(tǒng)軟件與應用軟件
#### 系統(tǒng)軟件:
DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, ios
#### 應用軟件:
WPS,QQ,微信,英雄聯(lián)盟,絕地求生......
軟件、開發(fā)、軟件開發(fā)
人機交互 (圖形化界面,命令行 )
定
IntelliJ IDEA
### 3 mac快捷鍵
### 4 MacOS 常用終端dos命令大全
常用的命令行的操作:
pwd 。 cd 。? cd ..? mk? dir? rm??
echo? ?xxx>xxx.txt
echo? xxx>xxx.java??
javac? xxx.java 編譯源文件
java? xx。class 運行字節(jié)碼文件?
md 。?
rd
cd \
del xxx
##### 應用程序=算法+數(shù)據(jù)結構
MacOS 常用終端命令大全:
touch? xxx.doc
rm? xxx.doc?
#### 1 目錄操作
命令——功能描述——示例
mkdir——創(chuàng)建一個目錄——mkdir dirname
rmdir——刪除一個目錄——rmdir dirname
mvdir——移動或重命名一個目錄——mvdir dir1 dir2
cd——改變當前目錄——cd dirname
pwd——顯示當前目錄的路徑名——pwd
ls——顯示當前目錄的內容——ls -la
dircmp——比較兩個目錄的內容——dircmp dir1 dir2
#### 2 文件操作
命令——功能描述——示例
cat——顯示或連接文件————cat filename
pg分頁格式化顯示文件內容——pg filename
more——分屏顯示文件內容——more filename
od——顯示非文本文件的內容——od -c filename
cp——復制文件或目錄——cp file1 file2
rm——刪除文件或目錄——rm filename
mv——改變文件名或所在目錄——mv file1 file2
ln——聯(lián)接文件——ln -s file1 file2
find——使用匹配表達式查找文件——find . -name “*.c” -print
file——顯示文件類型——file filename
open——使用默認的程序打開文件——open filename(open . 打開當前目錄)
#### 3 選擇操作
命令——功能描述——示例
head——顯示文件的最初幾行——head -20 filename
tail——顯示文件的最后幾行——tail -15 filename
cut——顯示文件每行中的某些域——cut -f1,7 -d: /etc/passwd
colrm——從標準輸入中刪除若干列——colrm 8 20 file2
paste——橫向連接文件——paste file1 file2
diff——比較并顯示兩個文件的差異——diff file1 file2
sed————非交互方式流編輯器——sed “s/red/green/g” filename
grep——在文件中按模式查找——grep “^[a-zA-Z]” filename
awk——在文件中查找并處理模式——awk ‘{print 111}’ filename
sort——排序或歸并文件——sort -d -f -u file1
uniq——去掉文件中的重復行——uniq file1 file2
comm——顯示兩有序文件的公共和非公共行——comm file1 file2
wc——統(tǒng)計文件的字符數(shù)、詞數(shù)和行數(shù)——wc filename
nl——給文件加上行號——nl file1 >file2
#### 4 安全操作
命令——功能描述——示例
passwd——修改用戶密碼——passwd
chmod——改變文件或目錄的權限——chmod ug+x filename
umask————定義創(chuàng)建文件的權限掩碼——umask 027
chown——改變文件或目錄的屬主——chown newowner filename
chgrp——改變文件或目錄的所屬組——chgrp staff filename
xlock——給終端上鎖——xlock -remote
#### 5 編程操作
命令——功能描述——示例
make——維護可執(zhí)行程序的最新版本——make
touch——更新文件的訪問和修改時間——touch -m 05202400 filename
dbx——命令行界面調試工具——dbx a.out
xde——圖形用戶界面調試工具——xde a.out
#### 6 進程操作
命令——功能描述——示例
ps——顯示進程當前狀態(tài)——ps u
kill——終止進程——kill -9 30142
nice——改變待執(zhí)行命令的優(yōu)先級——nice cc -c *.c
renice——改變已運行進程的優(yōu)先級——renice +20 32768
#### 7 時間操作
命令——功能描述——示例
date——顯示系統(tǒng)的當前日期和時間——date
cal——顯示日歷——cal 8 1996
time——統(tǒng)計程序的執(zhí)行時間——time a.out
#### 8 網(wǎng)絡與通信操作
命令——功能描述——示例
telnet——遠程登錄——telnet hpc.sp.net.edu.cn
rlogin——遠程登錄——rlogin hostname -l username
rsh——在遠程主機執(zhí)行指定命令——rsh f01n03 date
ftp——在本地主機與遠程主機之間傳輸文件——ftp ftp.sp.net.edu.cn
rcp——在本地主機與遠程主機 之間復制文件——rcp file1 host1:file2
ping——給一個網(wǎng)絡主機發(fā)送 回應請求——ping hpc.sp.net.edu.cn
mail——閱讀和發(fā)送電子郵件——mail
write——給另一用戶發(fā)送報文——write username pts/1
mesg——允許或拒絕接收報文——mesg n
#### 9 Korn Shell 命令
命令——功能描述——示例
history——列出最近執(zhí)行過的 幾條命令及編號——history
r——重復執(zhí)行最近執(zhí)行過的 某條命令——r -2
alias——給某個命令定義別名——alias del=rm -i
unalias——取消對某個別名的定義——unalias del
#### 10 其它命令
命令——功能描述——示例
uname——顯示操作系統(tǒng)的有關信息——uname -a
clear——清除屏幕或窗口內容——clear
env——顯示當前所有設置過的環(huán)境變量——env
who——列出當前登錄的所有用戶——who
whoami——顯示當前正進行操作的用戶名——whoami
tty——顯示終端或偽終端的名稱——tty
stty——顯示或重置控制鍵定義——stty -a
du——查詢磁盤使用情況——du -k subdir
df——顯示文件系統(tǒng)的總空間和可用空間——df /tmp
w——顯示當前系統(tǒng)活動的總信息——w
#### 11 一些常用技巧
所以你可以使用▲(上箭頭)或▼(下箭頭)來上下移動,使用 空格鍵 來翻頁,輸入/和關鍵字來按照關鍵字搜索按Q來退出使用指南頁面tab按鍵自動補全唯一路徑中止一個錯誤的或者發(fā)瘋的命令,可以使用組合鍵control + C。你可以在執(zhí)行前編輯命令,只需要使用箭頭和鍵盤上的其他字母。沒有輸入任何命令時,你可以用▲和▼來瀏覽歷史命令。同樣可以編輯和再次執(zhí)行。你也可以使用history命令查看歷史記錄。你可以使用組合鍵control + L清屏。
### 5 計算機語言發(fā)展史
#### 第一代語言 機器語言
計算機的基本計算方式都是基于二進制的方式
二進制機器語言:010111001010110010110100
這種代碼是直接輸入給計算機使用的,不經(jīng)過任何的轉換!
#### 第二代語言 匯編語言
- 解決人類無法讀懂機器語言的問題
- 指令代替二進制
- 目前應用 :
逆向工程
機器人
病毒
codesg segment
start:
? ? mow ax, 0123h;寄存器送入值
? ? mov bx, 0457h
? ? add ax, bx; ax + bx 寄存器值相加
? ? add ax, ax;算 ax 的平方
mov ax, 4c00n
int 21h ;結束返回
codesg ends
end start ; 指定程序入口標號為 start
#### 第三代語言 摩爾定律 高級語言
當價格不變時,集成電路上可容納的晶體管數(shù)目,約每隔18個月便會增加一倍,性能也將提升一倍。換言之,每一美元所能買到的電腦性能,將每隔18個月翻兩倍以上
第三代語言?
- 高級語言
- 大體上分為:面向過程和面向對象兩大類.C語言是典型的面向過程的語言。C++、JAVA是典型的面向對象的語言,
聊聊各種語言:
C語言(所有高級語言的鼻祖 + 匯編語言)
C++語言(C語言的升級版,C語言面向對象的版本 )
JAVA語言(基于C和C++,又被稱為 C++--,把C++中不好的--了)
C#語言(Csharp)比爾蓋茨微軟 發(fā)明的語言,目的是代替java語言。c#還是有點用的,unity開發(fā)要學學
Python、PHP、JavaScript
MATLAB
C#net
python
6
JavaScript
Java
oaao
## java入門
#### 1 C& C++
##### 1972年C誕生
- 貼近硬件,運行極快,效率極高。
- 操作系統(tǒng),編譯器,數(shù)據(jù)庫,網(wǎng)絡系統(tǒng)等
- 指針和內存管理
##### 1982年C++誕生
- 面向對象
- 兼容C
- 圖形領域、游戲等
#### 2 反抗
我們要建立一個新的語言:
- 語法有點像C
- 沒有指針
- 沒有內存管理
- 真正的可移植性,編寫一次,到處運行
- 面向對象
- 類型安全
- 高質量的類庫
#### 3 Java初生
###### 三高:高可用 高性能 高并發(fā)
缺乏互動性。1995年的網(wǎng)頁簡單而粗糙圖形界面的程序(Applet)
Bill Gates說:這是迄今為止設計的最好的語言!
- Java 2 標準版(J2SE): 去占領桌面
- Java 2 移動版(J2ME): 去占領手機
- Java 2 企業(yè)版(J2EE): 去占領服務器
大量的巨頭加入
#### 4 Java發(fā)展? (天生為服務器誕生)
他們基于Java 開發(fā)了巨多的平臺,系統(tǒng),工具
- 構建工具: Ant,Maven,Jekins
- 應用服務器: Tomcat,Jetty,Jboss,Websphere,weblogic
- Web開發(fā): Struts,Spring,Hibernate, myBatis 開源的框架?
- 開發(fā)工具:Eclipse, Netbean,intellij idea, Jbuilder
2006 :(大數(shù)據(jù)領域)Hadoop
2008 :hadoop Android(手機端) 運行在安卓之上的正是java
99%的程序員都是會java,精通java得可能只有1%。
微軟:.NET 服務器端 開發(fā)工具Visual Studio Code? VS? SQL server?
#### 5 Java特性與優(yōu)勢
簡單性
面對對象
可移植性(一次編寫,到處運行 windos linix macOS 不用管操作系統(tǒng)和硬件問題。 write once run anywhere? 一個bug 到處運行 )
高性能
分布式
動態(tài)性(反射機制)
多線程
安全性
健壯性
#### 6 Java三大版本
Write Once,Run Anywhere
一個bug 到處運行?
簡而言之:跨平臺但不能交叉編譯?
JVM:java虛擬機,跨平臺。?
- JavaSE: 標準版 (桌面程序,控制臺開發(fā)…)
- X 已廢棄 JavaME: 嵌入式開發(fā) (手機,小家電…),已經(jīng)涼了
- JavaEE: E企業(yè)級開發(fā) (Web端,服務端開發(fā)…),JavaSE為基礎
EE的基礎是SE
#### 7 JDK JRE JVM
JDK:Java Development Kit (Java開發(fā)者工具,包括 JRE,JVM)
JRE:Java Runtime Environment (Java運行時環(huán)境)
JVM:Java Virtual Machine (Java虛擬機,跨平臺核心)
***

