以下內(nèi)容來自于小碼哥"網(wǎng)絡(luò)協(xié)議從入門到底層原理"
C\C++
跨平臺的原理:
-
C\C++
跨平臺: 使用平臺相關(guān)的編譯器生成對應(yīng)平臺的可執(zhí)行文件
C\C++
編譯之后可以生成平臺對應(yīng)的可執(zhí)行文件
Java
跨平臺的原理:
只需要編譯一次, 但編譯出來的是可執(zhí)行文件嗎? 不是
JVM
-> Java Virtual Machine
: Java虛擬機(jī)
- Java的跨平臺: 一次編譯, 到處運行
- 編譯生成跟平臺無關(guān)的字節(jié)碼文件(
class
文件)
- 編譯生成跟平臺無關(guān)的字節(jié)碼文件(
- 由對應(yīng)平臺的
JVM
解析字節(jié)碼為機(jī)器指令(010101)
- 由對應(yīng)平臺的
- 如果代碼有語法錯誤, 將編譯失敗, 并不會生成字節(jié)碼文件
- 那就不會去運行一個
JVM
程序. 最后導(dǎo)致Java
程序運行失敗
- 那就不會去運行一個
客戶端 vs 服務(wù)器
端口: (類似銀行的窗口, 提供服務(wù))(運行一個服務(wù)器軟件占用端口并監(jiān)聽, 對客戶端的請求作出相應(yīng)的處理并返回)
-
部署項目:
網(wǎng)絡(luò)互連模型
- 為了更好地促進(jìn)互聯(lián)網(wǎng)絡(luò)的研究和發(fā)展, 國際標(biāo)準(zhǔn)化組織
ISO
在1985年制定了網(wǎng)絡(luò)互連模型
OSI
參考模型, 具有7層結(jié)構(gòu)
- 物理層(Physical) -> 2. 數(shù)據(jù)鏈路層(Data Link) -> 3. 網(wǎng)絡(luò)層(Network) -> 4.運輸層(Transport) -> 5.會話層(Session) -> 6.表示層(Presentation) -> 7.應(yīng)用層(Application)
TCP/IP協(xié)議
(實戰(zhàn)型)
- 網(wǎng)絡(luò)接口層(Network Access) -> 2. 網(wǎng)際層(Internet) -> 3. 運輸層(Transport) -> 4.應(yīng)用層(Application)
學(xué)習(xí)研究
- 物理層(Physical) -> 2. 數(shù)據(jù)鏈路層(Data Link) -> 3. 網(wǎng)絡(luò)層(Network) -> 4. 運輸層(Transport) -> 5.應(yīng)用層(Application)