-
Java中的I/O 线程 网络
Java学习总结——I/O,线程,网络题目整理
I/O
- 1.有什么理由必须要用字符流?
答:处理字符数据的语法更方便、自动化字符编码
- 2.插入哪些代码可以让下面的代码正确编译?
Console console = System.console();
String color = console.readLine("What is your favorite color? ");
console.____("Your favorite color is "+color);
答:控制台输出定义了两个方法,format()和printf()。另外,还可以使用writer()方法来获取控制台的PrintWriter对象。故答案有三个:printf、format、writer().println
- 4.高级流和低级流
- ObjectOutputStream和ObjectInputStream执行低级流序列化和反序列化,属于低级流。
- PrintStreamand PrintWriter格式文本分别作用于低级的OutputStream和writer,但它俩本身属于高级流。
- FileWriter和FileInputStream直接在文件上操作,属于低级流。
- OutputStream是一个抽象父类,既不是高级也不属于低级。
- 5.假如有一个InputStream,接下来的内容是XYZABC,下面代码中假如count为3,下面代码执行结果是?
public static String pullBytes(InputStream is, int count) throws IOException
{
is.mark(count);
final StringBuilder sb = new StringBuilder();
for(int i=0; i<count; i++)
sb.append((char)is.read());
is.reset();
is.skip(1);
sb.append((char)is.read());
return sb.toString();
}
解析:
并不是所有的java输入输出流支持mark()操作;因此,如果没有调用mark- Supported() ,其结果直到运行时都是未知的。如果流支持mark()操作,那么结果将是XYZY,因为reset()操作将流回到mark()被调用之前的位置,skip(1)就会被跳过。但如果流不支持mark()操作,可能会抛出一个运行时异常。
因此当不知道输入流是否支持mark()操作时,The result cannot be determined with the information given(结果不能够被确定)。
线程
- 1.调用Thread的start()后,线程会处于(Runnable)状态
- 2.Java中,可以继承(Thread)类定义线程
- 3.为了确保在多线程访问下的线程安全,应该加上(synchronized)关键字。
- 4.(Thread.sleep()和wait() )方法会使线程进入阻塞状态
- 5.调用Thread的start()后,线程会处于(Runnable)状态?
- 6.Java中,可以继承(Thread)类定义线程
- 7.thread和runnable区别
网络
- 1.在 TCP/IP 参考模型中TCP协议工作在( 传输层 )。
- 2.Java提供的类InetAddress来进行有关Internet地址的操作( InetAddress )。
- 3.为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息( openStream() )
- 4.Java程序中,使用TCP套接字编写服务端程序的套接字类是( ServerSocket)
- 5.ServerSocket的监听方法accept()的返回值类型是( Socket )。
- 6.ServerSocket的getInetAddress()的返回值类型是( InetAddress )。
- 7.当使用客户端套接字Socket创建对象时,需要指定( 服务器主机名称和端口 )。
- 8.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法( getOutputStream() )。
- 9.使用UDP套接字通信时,常用( receive() )类把要发送的信息打包。
- 10.若要取得数据包的中源地址,可使用哪个语句( getAddress() )。
- 11.Java网络程序位于TCP/IP参考模型中的那一层( 应用层 )。
- 12.在客户/服务器端通信模式中,客户与服务器程序的主要任务是( 客户端发送请求,并接收服务器端的相应。 )。
- 13.当客户端执行以下代码时:
Socket socket=new Socket(“angel”,80);
如果远程服务器angel不存在时,会出现什么情况( 构造方法抛出UnknownHostException异常。 )
- 14.Socket类的那个方法返回Socket对象绑定的本地端口( getLocalPort() )。
- 15.下列那个选项设定Socket的接收数据时的等待超时时间( SO_TIMEOUT )
- 16.使用UDP套接字通信时,常用哪个类把要发送的信息打包? ( DatagramPacket )
- 17.如何判断一个Socket对象当前是否处于连接状态:( boolean isConnected=socket.isConnected() && !socket.isClosed(); )
- 18.高级并行API
在使用高级并行API时,(Future)接口的操作对象可以让你在未来取得执行结果;
在使用高级并行API时,(Condition)接口的操作对象可以实现Object的wait()、notify()、notifyAll()功能 ;
在使用高级并行API时,实现(Lock)接口的对象可以具有 synchronized 的功能。
-
相关阅读:
网页布局
Block Formatting Context
SEO初识
新的一个月,就这么不知不觉的来临了
Js结束,项目进行中
JS学习中....
ws快捷键
Html的学习以及webstorm的使用
从事前端开发应该了解的CSS原理
jQuery动画
-
原文地址:https://www.cnblogs.com/yaojingjing/p/6672554.html
Copyright © 2020-2023
润新知