Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类
- 枚举(Enumeration)
- 位集合(BitSet)
- 向量(Vector)
- 栈(Stack)
- 字典(Dictionary)
- 哈希表(Hashtable)
- 属性(Properties)
- TCP UDP区别 TCP是面向连接的、可靠的、有序的、速度慢的协议; UDP是无连接的、不可靠的、无序的、速度快的协议。 TCP头部需要20字节,UDP头部只要8个字节。 TCP无界有拥塞控制,TCP有界无拥塞控制。
- 测试过程:需求分析,设计用例,搭建环境,执行用例,提交并跟踪bug
- Java对象如何转换json:
1.导入JackSon 的jar包
2.创建ObjectMapper对象
3.使用ObjectMapper对象的writeValueAsString()方法将java对象转换为JSON对象
-
输入URL发生:
1、DNS查询; 2、TCP连接; 3、HTTP请求即响应; 4、服务器响应; 5、客户端渲染。
-
HTTP状态码:
1xx——指示信息,表示请求已接收,继续处理
2xx——成功,表示请求已被成功接收、理解、接受
3xx——重定向,要完成请求必须进行更进一步的操作
4xx——客户端错误,请求有语法错误或请求无法实现
5xx——服务器端错误,服务器未能实现合法的请求
Ÿ 304——自从上次请求后,请求的网页未修改过,请客户端使用本地缓存 Ÿ 400——客户端请求有错(譬如可以是安全模块拦截) Ÿ 401——请求未经授权 Ÿ 403——禁止访问(譬如可以是未登录时禁止) Ÿ 404——资源未找到 Ÿ 500——服务器内部错误 Ÿ 503——服务不可用。服务器目前无法使用 Ÿ
- 正向代理和反向代理区别
正向代理的是客服端,反向代理的是服务器。
正向代理
-
正向代理隐藏了真实的请求客户端。服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。
-
反向代理
-
反向代理隐藏了真实的服务端,访问者者并不知道自己访问的是一个代理,因为客户端不需要任何配置就可以访问。
-
正向代理: 买票的黄牛
反向代理: 租房的代理
-
Python和Java的区别
-
虚拟机的区别,java虚拟机是java的核心
-
python是动态语言,java是静态语言。
-
python的库很强大,它整合了C,C++等等很多语言的库直接用以及脚本
-
Java编译后才能运行,而Python直接用
session和cookie的区别 说了一个客户端,一个服务器端。session利用session id,安全性更高。还说了cookie保存数据不超过4K,面试官挺惊讶的。说我能知道这个挺厉害的。我反问他是不是4K,他说他也不知道。
Linux常用命令:ls 显示文件或目录 mkdir 创建目录 cd 切换当前工作目录 touch 创建空文件 echo 可以输出内容到标准输出,以空白分割字符串,并且后面增加换行 cat 查看文件内容 cp 拷贝文件 mv 移动或重命名文件 rm 删除文件
final finally finalize的区别:
在java中,final可以用来修饰类,方法和变量(成员变量或局部变量)。类不能被继承,方法被锁定,不能被修改,变量只能被赋值一次不可被更改。
finally作为异常处理的一部分,它只能用在try catch语句中,并且附带一个语句块,表示这个一定会被执行,经常被用在需要释放资源的情况下。只有与finally对应的try语句块得到执行的情况下,finally语句块才会执行。以上两种情况在执行try语句块之前已经返回或抛出异常,所以try对应的finally语句并没有执行。
finalize()是在java.lang.Object里定义的,也就是说每一个对象都有这么个方法。这个方法在gc启动,该对象被回收的时候被调用。其实gc可以回收大部分的对象(凡是new出来的对象,gc都能搞定,一般情况下我们又不会用new以外的方式去创建对象),所以一般是不需要程序员去实现finalize的。