全局变量:
1)全局变量是在类的范围里定义的变量
2)全局变量有默认初始值
3)未被static修饰的全局变量也叫实例变量,它存储于对象所在的堆内存中,生命周期和对象相同
4) 被static修饰的成员变量也叫类变量,它存储在方法区中,生命周期与当前类相同
局部变量:
1)局部变量是在方法内定义的变量
2)它没有默认初始值
3)局部变量存储在栈内存中,作用的范围结束,变量空间会自动的释放
静态局部变量存放在数据区中,只会被分配一次内存,函数返回后,该变量不会消失。假如后面的程序段要调用该函数,该函数中该静态变量的值可以继续使用。
而局部变量是放在栈里的,函数返回后失效。
在修饰成员变量和方法的时候:
public:可以被任意包下、任意类的成员访问
protected:可以被内部成员访问,也可以被同一个报下的其它类访问,还可以被它的子类访问
defalut:可以被该类内部成员访问,也可以被同一个包下其他的类访问
private:只能被该类的内部成员访问
在修饰类的时候,该类只有public和defalut两种访问权限
public:可以被任意包下的任意类访问
defalut:可以被同一个包下的任意类访问
import 包名.类名
Java 编译器默认所有的 Java 程序都导入了 JDK 的 java.lang 包中的所有类。其中定义了一些常用类,如 System、String、Object、Math等,所以我们可以直接使用这些类而不必显示导入
名字必须以字母开头,后面可以跟字母和数字的任意组合。 长度基本上没有限制。但是不能使用 Java 保留字(例如,public 或 class)作为类名。遵从驼峰形式
6、JVM是什么,干什么的JVM是为了实现跨平台运行,就是一次开发,到处运行。它是java的虚拟机,是JRDE的一部分,它负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。
一个JVM的内存划分为堆(存放new出来的对象),栈(有栈和本地方法栈,放置局部变量),方法区(类信息和带static、final修饰的),程序计数器(记录程序当前执行到那条指令了)
介绍JVM
垃圾回收就是释放垃圾占用的空间,对堆中的对象进行清除。
首先垃圾的判断算法有引用计数法和可达性分析算法。垃圾的回收算法有复制算法、标记清除、标记整理。另外分代收集算法就是根据对新生代和老年代的特点来选择适合的垃圾回收算法。在新生代使用复制算法,在老年代使用标记整理或者标记清除算法。
JVM垃圾回收机制
8、会出现我想用这个类对象,但是它已经被删除的情况吗? 9、cache位于哪里cache叫做高速缓冲存储器,是介于中央处理器和主存储器之间的高速小容量存储器。引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。
运算器、控制器、寄存器、cache都被封装在CPU的内部。CPU整体是从内存中取数据的,而内存中的数据又来自于外存。
整体说来cache是CPU与内存之间的桥梁,用于平衡高速设备(CPU)与低速设备(内存)之间的速度差异。
cache是什么?作用是什么?位置在哪?
10、会出现cache缓存中的数据和主存数据不一致的情况吗?会,在写操作后,没有刷洗cache到内存里面,那么cache为脏,跟内存不同步
高速缓存(cache)和主存内容不一致的情况
一般我们采用折中的思想,将计算系网络分为五层:
应用层
运输层
网络层
数据链路层
物理层
1)应用层
应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。
2)运输层
运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。
3) 网络层
网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。
4)数据链路层
两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。
5)物理层
在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。
网络原理
12、路由器是怎么打包数据的,每层数据怎么打包的?路由器转发数据包的封装过程
路由器转发数据包的封装过程
自己之前写的笔记!!!!
Java网络编程
- TCP是面向连接,需要通过三次握手建立可靠连接,而UDP是面向无连接的
- 可靠性:TCP有ARQ协议、超时重传等,可以保证其可靠性,而UDP没有这些东西,只是尽最大努力交付,不保证可靠交付
- 有序性:TCP利用序列号可以保证其有序性,到达可能无序,最后会进行排序,而UDP无法保证有序性
- 速度:TCP比较复杂所以比减慢,UDP比较快
- 量级:TCP报文是20个字节,UDP报文是8个字节
UDP 在传送数据之前不需要先建立连接,远地主机在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比如: QQ 语音、 QQ 视频 、直播等等
TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景。
15、TCP为什么是可靠的1)应用数据被分割成 TCP 认为最适合发送的数据块。
2)TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。
3)校验和: TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。
4)TCP 的接收端会丢弃重复的数据。
5)流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议。 (TCP 利用滑动窗口实现流量控制)
6)拥塞控制: 当网络拥塞时,减少数据的发送。
7)ARQ协议: 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。
8)超时重传: 当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。



