Java试题

时间:2022-10-07 10:44:02
Java试题

Java试题

在日常学习和工作生活中,我们很多时候都不得不用到试题,试题是用于考试的题目,要求按照标准回答。什么样的试题才是科学规范的试题呢?以下是小编精心整理的Java试题,仅供参考,希望能够帮助到大家。

1、 TCP和UDP的区别?

(1)TCP(Transmission Control Protocol 传输控制协议)

(2)UDP(User Datagram Protocol 用户数据包协议)

(3)OSI(Open System Interconnection 开放系统互联)

七层参考模型:应用层(表现层,会话层),传输层,网络层,数据链路层,物理层。

二者都是OSI(Open System Interconnection 开放系统互联)参考模型中传输层的 协议,其中TCP是三次握手的协议。

二者区别如下:

(1)TCP是面向连接的(即建立通信之前需要通过三次握手建立连接);UDP是无连接的(即不负责确认通信对象是否存在)

(2)TCP通过一系列的机制提供可靠的服务,保证通过TCP传输的数据无差错,不丢失,不重复,且按序到达;而UDP则只尽最大努力交付数据,不保证可靠性,可能丢包。

(3)TCP面向字节流,把数据看做一连串无结构的字节流;UDP是面向报文的,应用程序发送多长的报文,UDP就传输多长

(4)TCP有拥塞控制机制(流量控制),防止向网络中注 ……此处隐藏171个字……之后的状态,即此线程run方法中的代码开始被执行。

(4)阻塞状态(Blocked):因为某种原因,线程放弃CPU的执行权,直到重新进入就绪状态,阻塞的情况分为以下三种:

A、等待阻塞:线程执行wait方法,释放所有资源(包括同步锁),JVM将其放入“等待池”中,即等待队列。只有在超出等待时间后,或者其他线程调用同一个对象的notify或者notifyAll方法时,才能重新进入就绪状态(Runnable)

说明:等待阻塞由于需要释放所占有的所有资源,包括对象锁,所以必须在同步方法块中调用相应的锁对象的wait方法,否则抛出异常java、lang、IllegalMonitorStateException

B、同步阻塞:线程运行同步的代码时,需要先获取同步锁,则JVM把此线程放入“锁池”中,即进入同步队列

C、其他阻塞:运行的线程执行sleep或join方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep状态超时、join等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。

说明:与wait造成的阻塞不同的是,这种阻塞不会释放所占用的资源,即不会释放同步锁

5、 String,StringBuilder,StringBuffer的区别。

(1) String是定长字符串;StringBuilder,StringBuffer是变长字符串。

(2) StringBuilder是线程非安全,一般用于单线程中,执行效率较StringBuffer高。

(3)StringBuffer是线程安全的,如果在多个线程中需要同步则采用此类。

《Java试题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式