以下内容来自于小码哥"网络协议从入门到底层原理"
C\C++跨平台的原理:

`C\C++`跨平台的原理
- 
C\C++跨平台: 使用平台相关的编译器生成对应平台的可执行文件
 C\C++编译之后可以生成平台对应的可执行文件
Java跨平台的原理:
只需要编译一次, 但编译出来的是可执行文件吗? 不是
JVM -> Java Virtual Machine: Java虚拟机
- Java的跨平台: 一次编译, 到处运行
- 编译生成跟平台无关的字节码文件(class文件)
 
- 编译生成跟平台无关的字节码文件(
- 由对应平台的JVM解析字节码为机器指令(010101)
 
- 由对应平台的

`Java`跨平台的原理
- 如果代码有语法错误, 将编译失败, 并不会生成字节码文件
- 那就不会去运行一个JVM程序. 最后导致Java程序运行失败
 
- 那就不会去运行一个
客户端 vs 服务器
- 端口: (类似银行的窗口, 提供服务)(运行一个服务器软件占用端口并监听, 对客户端的请求作出相应的处理并返回) 
- 
部署项目: 
 客户端 vs 服务器
网络互连模型
- 为了更好地促进互联网络的研究和发展, 国际标准化组织ISO在1985年制定了网络互连模型
OSI参考模型, 具有7层结构
- 物理层(Physical) -> 2. 数据链路层(Data Link) -> 3. 网络层(Network) -> 4.运输层(Transport) -> 5.会话层(Session) -> 6.表示层(Presentation) -> 7.应用层(Application)
TCP/IP协议(实战型)
- 网络接口层(Network Access) -> 2. 网际层(Internet) -> 3. 运输层(Transport) -> 4.应用层(Application)
学习研究
- 物理层(Physical) -> 2. 数据链路层(Data Link) -> 3. 网络层(Network) -> 4. 运输层(Transport) -> 5.应用层(Application)
