java高级面试题(易错题)
5.
// point X
public class Foo {public static void main(String[] args) throws Exception {PrintWriter out = new PrintWriter(new java.io.OutputStreamWriter(System.out), true);System.out.println("Hello");}
}
选项中哪一个代码插入到point X能够使代码编译和运行无误?
A:import java.io.PrintWriter;
B:include java.io.PrintWriter;
C:import java.io.OutputStreamWriter;
D:include java.io.OutputStreamWriter;
E:no statement is needed.
参考答案:
A
解析:
Java中没有include关键字,采用关键字import导入包;代码中使用了PrintWriter 类,该类位于
java.io.PrintWriter;包下,故需要导入此类Import java.io.PrintWriter;
在创建OutputStreamWriter的时候,使用的是类的全名称。所以不需要使用import。
7. 下面哪个流属于面向字符的输出流()
A:BufferedWriter
B:FileInputStream
C:ObjectInputStream
D:InputStreamReader
参考答案:
A
解析:
Java所有的流位于java.io包中,都分别继承自以下四种抽象流类型。 所有包含Stream的流都是字节流,不包含Stream的是字符流
9. 对于Java中异常的描述正确的是( )
A:用throws定义了方法可能抛出的异常,那么调用此方法时一定会抛出此异常。
B:如果try块中没有抛出异常,finally块中的语句将不会被执行。
C:抛出异常意味着程序发生运行时错误,需要调试修改
D:Java中所有的可不检测(unchecked)异常都来自RuntimeException类或其子类。
参考答案:
D
解析:
A中需要定义的是,throws表示在这个类里面可能要抛出异常,throw表示在这个类里面一定会抛出异常 C异常分为检查时异常和运行时异常
3. 有如下需求:存储元素,保证元素在集合里没有重复,并且能够按照自然顺序进行访问,下列选项哪个接口能够满足该功能?
A:java.util.Map
B:java.util.Set
C:java.util.List
D:java.util.SortedSet
参考答案:
D
解析:
Map用来存放键值对 List集合里的元素有序,允许重复,查询效率高,但是插入删除的效率低下
Set集合里的元素无序,不允许重复,查询效率低,但是插入删除的效率高
SortedSet结合了List和Set的特点,里面的元素既有序又不允许重复
14. 设一个栈的输入序列为1、2、3、4,则借助一个栈所得到的输出序列不可能的是( )
A:1,2,3,4
B:4,3,2,1
C:1,3,4,2
D:4,1,2,3
参考答案:
D
解析:
把握一个原则:出栈后数据的顺序,假如先入栈的两个数据,在后入栈的数据之后没有改变顺序,这种出栈顺序一定错误。例如:本题D选项,4之后的数据顺序1,2与入栈前1,2相同,所以这种出栈顺序是错误。
16.
public class Shape extends Thread implements Runnable {public void run() {System.out.println("this is run()");}public static void main(String args[]) {Thread t = new Thread(new Shape());t.start();}
}
下列说法正确的是( )。
A:第一行会产生编译错误
B:第六行会产生编译错误
C:第六行会产生运行错误
D:程序正常运行
参考答案:
D
解析:
可以既继承Tread类又实现Runnable接口
17. java.io包的File类是()
A:字符流类
B:字节流类
C:对象流类
D:不属于上面三者
参考答案:
D
解析:
File类是文件和目录路径名的抽象表示形式;并不属于字符流或字节流,也不属于对象流
18. 1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有20元钱,最多可以喝到几瓶汽水?
A:40
B:39
C:38
D:37
参考答案:
A
解析:
由1元买一瓶水(瓶+水),两个瓶子(瓶+瓶)买一瓶水,可以得出:一瓶水,瓶0.5元,水0.5元。所以20元可以喝20/0.5=40瓶水。
20. ArrayList list = new ArrayList(20);中的list扩充几次()
A:0
B:1
C:2
D:3
参考答案:
A
解析:
这里有点迷惑人,大家都知道默认ArrayList的长度是10个,所以如果你要往list里添加20个元素肯定要扩充一次,但是这里显示指明了需要多少空间,所以就一次性为你分配这么多空间,也就是不需要扩充了。
22. 下面有关JAVA异常类的描述,说法错误的是?
A:异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception
B:非RuntimeException一般是程序错误(或缺陷),其必须被 try-catch语句块所捕获
C:Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
D:RuntimeException包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被 try-catch语句块捕获
参考答案:
D
解析:
运行时异常并不是必须用try-catch捕捉,检查时异常才是必须被try-catch捕捉的
24. 若某线性表中最常用的操作是在第i个元素之前插入一个元素和删除第i个元素,则采用( )存储方式最节省时间。
A:散列表
B:单链表
C:二叉链表(二叉树)
D:顺序表
参考答案:
B
解析:
首先题目已经说明是线性表,hash表和二叉树都不是线性表,所谓线性是指每个元素都有唯一的前驱和后继
对于经常增删元素操作,应该选择链表,而不是顺序表.因为顺序表中插入和删除元素都涉及到元素的移动.
27. java socket如何获取本地ip地址?
A:getInetAddress()
B:getLocalAddress()
C:getReuseAddress()
D:getLocalPort()
参考答案:
B
解析:
Socket中获取IP地址通过Socket的getInetAddress()方法即可获得Socket中的Ip地址。其中Socket中还可以通过getLocalAddress()获取Socket绑定的本地地址
28. 数据结构通常是研究数据的()及它们之间的联系。
A:存储和逻辑结构
B:存储和抽象
C:理想和抽象
D:理想与逻辑
参考答案:
A
29. 如下陈述中正确的是()
A:串是一种特殊的线性表
B:串的长度必须大于零
C:串中元素只能是字母
D:空串就是空白串
参考答案:
A
31. 关于JAVA的垃圾回收机制,下面哪些结论是正确?()
A:程序可以任意指定释放内存的时间
B:JAVA程序不能依赖于垃圾回收的时间或者顺序
C:程序可明确地标识某个局部变量的引用不再被使用
D:程序可以显式地立即释放对象占有的内存
参考答案:
B
解析:
本题目的是扫盲:
java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,
自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回
收时间,是不可知的。 当对象的引用变量被赋值为null,可能被当成垃圾。
32. 以下java程序代码,执行后的结果是()
java.util.HashMap map=new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.size());
A:0
B:null
C:1
D:2
参考答案:
C
解析:
HashMap可以插入null的key或value,插入的时候,检查是否已经存在相同的key,如果不存在,则直接插入,如果存在,则用新的
value替换旧的value,第一条put语句,会将key/value对插入HashMap,第二条put语句,要替换为(name,jack)。所
以,size为1.
33. 设输入序列为a,b,c,d。下面的四个序列中,借助一个栈能够得到的输出序列是( )。
A:d,c,a,b
B:c,a,d,b
C:a,c,d,b
D:d,a,b,c
参考答案:
C
解析:
C项序列进出栈的顺序为:a进栈出栈,b进栈,c进栈出栈,d进栈出栈,b出栈 a,c,d,b
34. 输入序列为(A,B,C,D),用栈作为数据结构,不可能得到的输出序列是()
A:(A,B,C,D)
B:(D,C,B,A)
C:(A, C,D,B)
D:(C,A,B,D)
参考答案:
D
解析:
栈的存取方式:后进先出
37. 设有一个长度为100的已排好序的表,用二分查找进行查找,若查找不成功,至少比较( )次。
A:9
B:8
C:7
D:6
参考答案:
C
38. 以下关于异常的说法正确的是:()
A:一旦出现异常,程序运行就终止了
B:如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常
C:在catch子句匹配异常是一种精确匹配
D:可能抛出系统异常(运行时异常)的方法是不需要申明异常(throws声明)的
参考答案:
D
解析:
程序出现了异常可以由异常处理机制处理,程序的执行不一定会停止;方法声明抛出的异常是程序在执行的过程中有可能的抛出的异常,并不确定是否会真的抛出;在catch子句匹配异常不是精确匹配的,可以匹配指定异常类的子类。运行时异常不需要声明或处理。
39. 程序执行后的返回值是:
public static int func(){int i = 1;try{return i++;}catch(Exception e){return i++;}finally{return i++;}
}
A:1
B:2
C:3
D:4
参考答案:
B
解析:
首先,try、catch和finally结构中都有return语句,try中没有异常抛出,所以catch不会执行,又由于finally后执行,所
以方法func最终返回的值是finally结构中的返回值。然后,try结构执行完成后,i的值变成了2,finally中由于i是后加,所以返回的值
是2,但是i的值已经变成了3.
40. 在有序表A[20]中按二分查找方法查找元素k=A[13],k会和若干元素比较,那么和它比较的元素下标顺序是 ( )假设有序表的起始元素从A[0]开始存放。
A:9,14,12,13
B:9,15,12,13
C:9,14,11,12,13
D:10,15,12,13
参考答案:
C
解析:
二分查找基于数组有序,基本思想是将n个元素分成大致相等的两部分,取a[n/2]与目标值k做比较,如果k=a[n/2],则找到k,算法中止;
如果k<a[n/2],则只要在数组a的左半部分递归查找k, 如果k>a[n/2],则只要在数组a的右半部分递归查找k.
43. HashMap和HashTable的描述,错误的是?
A:他们都实现了Map接口。
B:HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
C:HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
D:通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。
参考答案:
D
解析:
Map接口无contains方法
45. 下列代码执行结果为()
public static void main(String argv[])throws InterruptedException{Thread t=new Thread(new Runnable() {public void run() {try {Thread.sleep(2000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.print("2");}});t.start();t.join();System.out.print("1");
}
A:21
B:12
C:21或者12
D:以上答案都不对
参考答案:
A
解析:
thread.join()把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。
比如在线程B中调用了线程A的join()方法,直到线程A执行完毕后,才会继续执行线程B。
本题中t启动,主线程让渡t线程先执行,再执行主线程后续代码,因此输出为21
48. 快速排序在()情况下最易发挥其长处。
A:被排序数据中含有多个相同排序码
B:被排序数据已基本有序
C:被排序数据完全无序
D:被排序数据中最大值和最小值相差悬殊
参考答案:
C
51. 下列哪些情况可以终止当前线程()
A:当一个优先级高的线程进入就绪状态时
B:当该线程调用sleep()方法时
C:当创建一个新线程时
D:抛出一个异常时
参考答案:
D
解析:
优先级高的并不一定会马上执行;sleep方法会阻塞一个线程并不会终止;创建一个新的线程时也不会终止另一个线程;当抛出一个异常后程序会结束,所以线程也会被终止。
52. 下面代码的输出结果是什么?
public class ZeroTest {public static void main(String[] args) {try{int i = 100 / 0;System.out.print(i);}catch(Exception e){System.out.print(1);throw new RuntimeException();}finally{System.out.print(2);}System.out.print(3);}}
A:3
B:123
C:1
D:12
参考答案:
D
解析:
首先try块中会在运行时抛出除以0的异常,因此程序进入catch块执行打印1,下一句抛出了一个运行时异常,但由于有finally的存在,要先执行finally中的打印任务,之后异常被抛出,程序在此处中止
因此结果为:12
53. 下列不是继承Collection接口的是()
A:List
B:Set
C:Map
D:null
参考答案:
C
解析:
List、Set、Queue继承自Collection接口; Map接口和Collection接口平行关系
57. 下面哪一种说法对于线程来说不成立()
A:如果对同一个 Thread 对象两次调用 start() 方法,在运行时会抛出一个异常。
B:线程开始的顺序与它们实际运行的顺序可能不一样。
C:如果对 Thread 对象直接调用 run() 方法,在运行时会抛出一个异常。
D:如果在执行同步代码时对线程调用 sleep() 方法,锁不会释放。
参考答案:
C
解析:
答案为C,如果对 Thread 对象直接调用 run() 方法,在运行时不会抛出异常。不过,在 run()
方法中编写的代码会被当前线程而不是新线程执行。所以开始一个线程的正确方法是调用 start() 方法,这会使 run() 方法被新线程执行。A 说法成立多次调用同一 Thread 对象的 start()
方法会导致在运行的线程抛出IllegalThreadStateException 异常。B 说法成立,因为线程运行的顺序是由线程调度程序决定的,与哪个线程是首先开始的无必然关系。
D 说法成立,因为线程在进入 sleep 状态时不会释放它所拥有的锁。
58. 分析以下DTD文档:
<!ELEMENT doc(title?,chap*)>
<! ELEMENT title(#PCDATA)>
<! ELEMENT chap(sect+)>
<! ELEMENT sect(para+)>
<! ELEMENT para(#PCDATA)> 下面的XML实例能够通过DTD的校验。
A:Text
B:Text
C:Text
D:TextText
参考答案:
B
解析:
<!ELEMENT doc(title?,chap*)>
元素为doc里面包含有1个title或0个title,title后包含0个或多个chap
<! ELEMENT title(#PCDATA)> 元素title的内容为字符串
<! ELEMENT chap(sect+)> 元素chap中包含至少一个sect元素
<! ELEMENT sect(para+)> 元素sect中至少包含一个para元素
<! ELEMENT para(#PCDATA)> 元素para的内容为字符串
60. 获得Class类的方法不包括:
A: 使用Class类的forName()静态方法获得与字符串对应的Class对象,参数字符串必须是类或接口的全限定名
B: 调用Object类的getClass()方法来得到Class对象
C: 使用“类型名.class”获取该类型对应的Class对象
D: 使用“类型名.getClass()”获取该类型对应的Class对象
参考答案:
D
解析:
使用“类型名.class”获取该类型对应的Class对象
62. 以下对int型变量x的操作,有的是原子性(对CPU来说是不可分割的一次操作)的有的不是,其中哪个是原子的,不需要在多线程环境下进行同步()?
A:++x
B:x=y
C:x++
D:x=1
E:
F:
参考答案:
D
解析:
++x在jdk中实际运行步骤是:读取x的值,int temp=x;temp=x+1;x=temp; x++在jdk中实际运行步骤是:读取x的值,int temp=x;temp=x+1;x=temp;
x=y在jdk中实际运行步骤是:读取y的值,将y的值赋给x;
以上三种都不是一步完成的,中间的任何一步在执行时其他线程都有可能调用正在被使用的值,所以需要线程同步。而x=1是一步完成的,不需要线程同步。
66. 考虑下面这个简单的例子,让我们看看reflection是如何工作的。
import java.lang.reflect.*; public class DumpMethods{public static void main(String[] args) {try {Class c=Class.forName(args[0]);Method m[]=c.getDeclaredMethods();for (int i = 0; i < m.length; i++) {System.out.println(m[i].toString());}} catch (Throwable e) {System.err.println(e);}} }
其中"c.getDeclaredMethods"的作用是:
A:取得类的公有方法对象
B:取得类的所有公有方法名称
C:取得类的所有方法对象
D:以上选项都不正确
参考答案:
C
解析:
public Method[]
getMethods()返回某个类的所有公用(public)方法包括其继承类的公用方法,当然也包括它所实现接口的方法。 public
Method[] getDeclaredMethods()对象表示的类或接口声明的所有方法,
包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。当然也包括它所实现接口的方法。
68. N(N为需要排列的个数) 从1开始,每一轮从待排数列中选择第N小(或大)的数放到排序列表的第 N个位置。”这是描述下面哪一种排序算法?
A:冒泡排序
B:直接插入排序 :假设前面N-1个数有序,将第N个数插入到前面N-1个数中的合适的位置
C:选择排序
D:快速排序
参考答案:
C
多选题:
4. 已有类 org.lanqiao.Student,则获取Student的Class类型实例的方法是?(选出正确的三项)
A:Class.forName("org.lanqiao.Student")
B:Student.class
C:Student.TYPE
D:new Student().getClass()
参考答案:
ABD
解析:
A/B/D是获取Class类型实例的三种通用方式,对于基本数据类型的包装类型,则需要通过类型.TYPE的形式获取。
7. 新建ServerSocket对象可以有哪些参数?
A:ip地址
B:端口
C:服务名
D:协议名
参考答案:
AB
解析:
ServerSocket(int port, int backlog, InetAddress
bindAddr):由该构造函数可以看出,ServerSocket对象的参数有端口号port、最大访问量backlog、IP地址。
9. 关于throw和throws说法正确的是?(请选出两项)
A:throw用于声明异常
B:throws用于声明异常
C:throw用于抛出异常
D:throws用于抛出异常
参考答案:
BC
解析:
throw一般在方法内部,用于向外抛出异常 throws一般在类名之后,用于声明可能出现的异常
11. 以下( )两个类能将字节流转换为字符流?(选出正确的两项)
A:BufferedInputStream
B:InputStreamReader
C:BufferedOutputStream
D:OutputStreamWriter
参考答案:
BD
解析:
基本的字节流是InputStream和OutputStream,基本的字符流是Reader和Writer,而InputStreamReader和OutputStreamWriter是它们的桥梁,起一个转换的作用
15. 关于WWW,以下说法正确的有()
A:WWW是当前流行的因特网的前身网络
B:WWW使用URL来标识、定位各种文档
C:WWW使用HTTP协议来传送超文本内容
D:WWW可以使用HTML来编辑、排版超文本内容
参考答案:
BCD
解析:
基础知识,需要记忆Internet是在美国早期的军用计算机网ARPANET(阿帕网)的基础上经过不断发展变化而形成的。因特网的概念比WWW要广泛,WWW只是因特网上提供的服务和应用之一。
17. 下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、 java.lang.ClassLoader
A:Thread
B:Number
C:Double
D:Math
E:ClassLoader
参考答案:
ABE
解析:
本题考查易忽视的知识点 A,Thread可以被继承,用于创建新的线程
B,Number类可以被继承,Integer,Float,Double等都继承自Number类 C,Double类的声明为 1 public
final class Double extends Number implements Comparablefinal生明的类不能被继承
D,Math类的声明为 1 public final class Math extends Object
不能被继承 E,ClassLoader可以被继承,用户可以自定义类加载器
19. 下列新建一个流对象语法正确的是?(请选出三项)
A:new BufferedWriter(new FileWriter("a.txt"));
B:new BufferedReader(new FileInputStream("a.dat"));
C:new GZIPOutputStream(new FileOutputStream("a.zip"));
D:new ObjectInputStream(new FileInputStream("a.dat"));
参考答案:
ACD
解析:
B错误:BufferedReader()的构造函数只能接受Read类型的对象。 拓展:
字符型的输入、输出流 以Reader和Writer为基类 字节型的输入、输出流 以InputStream和OutputStream为基类
所有输入流都有读方法,都有一个源头 所有输出流都有写方法,都有一个目的地
过滤流(包装流)是以别的流为源头或目的地
24. 关于TreeMap说法正确的是(不定项)
A:存入TreeMap的对象所属类,必须实现Comparable接口
B:存入TreeMap的对象所属类,必须实现Comparator接口
C:构造TreeMap时,必须传入一个Comparable对象
D:构造TreeMap时,必须传入一个Comparator对象
E:非必须,A、D满足其一即可
参考答案:
E
解析:
TreeMap里存储的对象是需要排序的,为了实现排序该对象要么实现Comparable接口,要么在构造TreeMap时传入一个Comparator对象
26. 下面哪些是检查时异常?(选出正确的三项)
A:ArithmeticException
B:IOException
C:ClassNotFoundException
D:FileNotFoundException
E:InputMismatchException
F:Error
参考答案:
BCD
解析:
A.运行时异常 C.Error不属于Exception
考试常错题:
一、单选题:
1.研究下面的Java代码:
public class TestException{public static void main(String[]args){int a[]={0,1,2,3,4};int sum=0;try{for(int i=1;i<6;i++)sum=sum+a[i];System.out.println(“sum=”+sum);}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组越界”);}finally{System.out.println(“程序结束”);}}
}
输出结果将是()
A.10 数组越界程序结束
B.10 程序结束
C.数组越界程序结束
D.程序结束
参考答案:
C
2.链表不具有的特点是( )。
A.不必事先估计存储空间
B.可随机访问任一元素
C.插入删除不需要移动元素
D.所需空间与线性表长度成正比
参考答案:
B
3.下列数据结构中,能用二分法进行查找的是()。
A.顺序存储的有序线性表
B.线性链表
C.二叉链表
D.有序线性链表
参考答案:
A
4.对于Java反射机制的使用,以下说法错误的是()。
A.JDBC中使用了java的反射机制。
B.Hibernate中使用了java的反射机制。
C.Struts中使用了java的反射机制。
D.Html中使用了java的反射机制
参考答案:
D
5.数据的逻辑结构不包含以下哪种()。
A.链式结构
B.线性结构
C.树结构
D.图结构
参考答案:
A
6.线性结构不包含以下哪种类型( )。
A.线性表
B.栈
C.队列
D.堆
参考答案:
D
7.在Java中,下列关于读写文件的描述错误的是( )。
A.Reader类的read()方法用来从源中读取一个字符的数据
B.Reader类的read(int n )方法用来从源中读取一个字符的数据
C.Writer类的write(int n)方法用来向输出流写入单个字符
D.Writer类的write(String str)方法用来向输出流写入一个字符串
参考答案:
A
解析:
public int read()
throws IOException
读取单个字符。在字符可用、发生 I/O 错误或者已到达流的末尾前,此方法一直阻塞。用于支持高效的单字符输入的子类应重写此方法。
返回:
作为整数读取的字符,范围在 0 到 65535 之间 (0x00-0xffff),如果已到达流的末尾,则返回 -1
抛出:
IOException - 如果发生 I/O 错误
8.阅读下列文件定入的Java代码,共有( )处错误。
import java.io.*;
public class TestIO {public static void main(String []args){String str ="文件写入练习";
FileWriter fw = null; //1
try{fw = new FileWriter("c:\mytext.txt"); //2
fw.writerToEnd(str); //3
}catch(IOException e){ //4
e.printStackTrace();
}finally{//此处省略关闭流
}
}
}
A.0
B.1
C.2
D.3
参考答案:
C
解析:
2/3处错误,2处需要 \ ; 3处 没有该方法。
9.以下对TCP和UDP描述正确的是( )。
A.TCP不能提供数据的可靠性
B.UDP能够保证数据库的可靠性
C.TCP数据传输效率高于UDP
D.UDP数据传输效率高于TCP
参考答案:
D
10以下对异常的描述正确的是()。
A.异常分为Error和Exception
B.Throwable是所有异常类的父类
C.Exception是所有异常类父类
D.Exception只包括RuntimeException之外的异常
参考答案:
C
11.以下哪个命令用于测试网络连通。
A.telnet
B.netstat
C.ping
D.ftp
参考答案:
C
解析:
Telnet是一种远程登录的工具命令,可以查看远程机某个端口是否可访问
Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告
ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障
ftp的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去
TCP通信建立在连接的基础上,TCP连接的建立要使用( )次握手的过程。
A.2
B.3
C.4
D.5
参考答案:
B
解析:
TCP连接的三次握手功能:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
SYN:同步序列编号(Synchronize Sequence Numbers)
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.
完成三次握手,客户端与服务器开始传送数据
java高级面试题(易错题)相关推荐
- java 基础面试练习题(易错题)
单选题 2. 下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换: byte[] src,dst; A:dst=String.frombytes(src,"GBK&qu ...
- java 3_4_5判断三角形_小学四年级数学下册【填空题】易错题专项训练
原标题:小学四年级数学下册[填空题]易错题专项训练 易错题训练(填空题)1 1.把1米平均分成10分,每份是,用分数表示是,用小数表示是 2.50个0.1和4个0.01组成的数是. 3.10.496精 ...
- js逻辑训练题_二建冲刺必刷300题!精选历年真题+母子题+模考易错题!
订阅公众号,回复[口诀],获取完整版实务口诀 你是不是常常疑惑为什么同样在做题,同样熬通宵,同样很努力,为什么有人顺利拿证,有人却因几分之差黯然落榜? 因为二建不仅拼努力的程度,更要拼对精准二建信息的 ...
- c语言解三元一次方程组_七年级下学期《8.3 一元一次不等式组》2020年高频易错题集...
一.选择题(共10小题) 二.填空题(共5小题) 三.解答题(共5小题) 七年级下学期<8.5 一元一次不等式组>2020年高频易错题集 参考答案与试题解析 一.选择题(共10小题) [点 ...
- 用计算机计算一定比笔算简便,四年级数学(下册)期末知识要点汇总,易错题解析...
当我第一遍读一本好书的时候,我仿佛觉得找到了一个朋友;当我再一次读这本书的时候,仿佛又和老朋友重逢.我们要把读书当作一种乐趣,并自觉把读书和学习结合起来,做到博览.精思.熟读,更好地指导自己的学习,让 ...
- java高级面试题收集及答案
2021 java高级面试题收集及答案 以下问题是个人面试时收集,答案纯属个人见解,如有错误请不吝赐教,感激不尽. 这里写目录标题 2021 java高级面试题收集及答案 一级目录 二级目录 三级目录 ...
- 北理 嵩天老师 Python程序设计 课后作业易错题总结
Python程序设计课后作业易错题总结 最近小c君在学习北理的嵩天老师在中国大学MOOC上发布的,<Python程序设计>课程. 下面是我总结该课程课后作业的易错题,分享给大家.同时非常推 ...
- CAIE ALevel物理(9702)易错题分析
CAIE ALevel物理(9702)易错题分析 考点:uncertainty和percentage uncertainty uncertainty=half range percentage unc ...
- 判断小数是否相等_四年级上册数学填空+计算+判断易错题整理练习,收藏练一练!...
四年级数学易错题练习 一.填空题 1.1.25×0.8表示( ). 2.去掉0.25的小数点,就是把这个数扩大( ):把50.4的小数点向左移动两位,就是把它缩小到 ...
最新文章
- WCF 第九章 诊断 系列文章
- Chrome 输入文字卡死
- Oracle查询重复数据并删除,只保留一条记录
- LeetCode-链表-206. 反转链表
- 【收藏】maven跳过单元测试-maven.test.skip和skipTests的区别
- BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能...
- 95-30-070-java.util-LinkedList
- 2021 年 RISC-V 会有什么大变化?
- 提高工作沟通技巧,加强沟通,不要推测他人发生问题发生的原因
- 动态主机配置协议DHCP
- [转载] java接口中方法的默认访问修饰符为public
- Play framework(二)
- 如何解决NDK toolchains出现ABI mips64el-linux-android无法编译问题
- word多级标题的使用
- 3W咖啡商业计划书模板
- c语言setlocale第二个参数,关于setlocale函数的参数问题
- 数字后端概念——Wire Shape
- Kubernetes 节点调度原理及调度策略
- 家卫士扫地机器人好吗_谁用过家卫士 S320扫地机器人,说说感受
- SecureCRT中常用linux命令