计算机专业学生该会的“常识”

冷暖自知 提交于 2020-02-26 23:41:50

java为什么能跨平台?

因为JVM java是先把.java文件编译成二进制字节码的.class文件,jvm就解释执行.class文件。
就是因为java是运行在jvm上的,所以它的代码不经修改就能在不同平台的jvm上运行

平台:操作系统+硬件

编译性语言

(1)只编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以,执行的效率比较高;

(2)代表:C、C++

(3)程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;不同平台对编译器影响较大。

解释性语言

(1)源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;源代码—>中间代码—>机器语言

(2)代表:Java、Python、JavaScript

(3)运行效率一般相对比较低,依赖解释器,跨平台性好;

一般,编译性语言的运行效率比解释性语言更高;但是不能一概而论,部分解释性语言的解释器通过在运行时动态优化代码,甚至能使解释性语言的性能超过编译性语言; 编译性语言的跨平台特性比解释性语言差一些;

java垃圾回收机制

GC是垃圾回收机制,是用来释放内存中的资源的。 垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。

带宽与宽带

带宽是指网络可通过的最高数据率,即每秒多少比特。 例如:带宽是 10M 。 实际上是 10MB/s或10bps 宽带线路: 可通过较高数据率的线路 对于用于接入到因特网的用户线来说,每秒传送几个兆比特就可以算是宽带速率。 宽带比窄带每秒有更多的比特从计算机注入到线路, 但是二者的传播速率是一样的。

框架与架构

框架:范例,开发包 架构:元件+连接件+配置

Socket和HTTP

socket是对TCP/IP协议的封装和应用(程序员层面上), Socket本身并不是协议,而是一个调用接口(API)。也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。

重载和重写

重写(Override):是子类对父类允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。子类根据需要实现自己的方法 重载(Overload):是在一个类里面,方法名字相同,而参数不同(个数和类型不同),返回类型可以相同也可以不同。 方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性的表现。

重写是在继承关系中;重载是在同一个类中
重写是方法名、参数列表和父类相同;重载方法名相同,参数列表不相同(个数、类型、顺序)
重写返回值类型和父类相同;重载和返回值无关
重写访问权限修饰符不能比父类更加严格;重载没有要求

死锁

多个线程因资源竞争而造成的一种僵局,若无外力作用,这些线程都无法向前推进。产生死锁的4个必要条件:互斥条件、不剥夺条件、请求和保持条件、循环等待

内存泄漏(Memory Leak)

指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 这就是为啥有时候手机会卡重启就好了。

计算机网络相关

TCP和UDP

是传输层的两个协议 传输层的两大功能:

  • 复用:在发送端,多个应用进程公用一个传输层;
  • 分用:在接收端,传输层会根据端口号将数据分给不同的应用进程。

传输层和网络层的区别: 网络层为不同的主机提供通信服务,传输层为不同应用进程提供通信服务。 网络层只对报文头部进行差错检测,而传输层对整个报文进行差错检测。

UDP(User Data Protocol)用户数据报协议: 无连接 不可靠(不能保证都送达) 面向报文(UDP数据传输单位是报文,不会对数据进行拆分和拼接操作,只是给上层传来的数据加个UDP头或者给下层来的数据去掉UDP头) 没有拥塞控制,始终以恒定速率发送数据 支持一对一、一对多、多对多、多对一 首部开销小,只有8字节

TCP(Transmission Control Protocol)传输控制协议: 有连接 可靠的 面向字节流 全双工通信,TCP两端既可以作为发送端也可以作为接收端 连接的两端只能是两个端点,即一对一,不能一对多 至少20个字节,比UDP大的多

套接字

一条TCP连接的两端就是两个套接字。

套接字 = IP地址 :端口号

因此,TCP连接 = (套接字1,套接字2)= (IP1:端口号1,IP2:端口号2)

TCP对应的协议

FTP:定义了文件传输协议,使用21端口。

Telnet:用于远程登陆,使用23端口,用户可以远程连接到计算机上,可提供基于DOS模式下的通信服务。

SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。

POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。

HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。

UDP对应的协议

DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。

SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

无线通信

实际上无线的部分特别少,只有手机到基站是无线的,假设是一个越洋电话,国内基站到国外基站是光纤,只有两端的基站到手机才是无线。

无线局域网(WLAN)使用IEEE 802.11

接入点是指无线局域网用户终端接入网络的设备

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!