• Java错题归纳day21


    1. 如果希望监听TCP端口9000,服务器端应该怎样创建socket?

    A new Socket(“localhost”,9000);
    B new ServerSocket(9000);
    C new Socket(9000);
    D new ServerSocket(“localhost”,9000);
    答案:B
    解析:

    • ServerSocket(int port) 是服务端绑定port端口,调accept()监听等待客户端连接,它返回一个连接队列中的一个socket。
    • Socket(InetAddress address , int port)是创建客户端连接主机的socket流,其中InetAddress是用来记录主机的类,port指定端口。

    2. jre 判断程序是否执行结束的标准是()

    A 所有的前台线程执行完毕
    B 所有的后台线程执行完毕
    C 所有的线程执行完毕
    D 和以上都无关
    答案:A
    解析:

    • 后台线程就是守护线程,前台线程就是用户线程。
    • 守护线程:是指在程序运行时在后台提供一种通用服务的线程,这种线程并不是必须的。同时守护线程的线程优先级都很低的。JVM中的GC线程就是一个守护线程,只要JVM启动,GC线程就启动了。
    • 用户线程和守护线程几乎没有什么区别,唯一的区别就在于,如果用户线程都已经退出了,只剩下了守护线程,那么JVM直接就退出了。

    3. 下列哪项不属于jdk1.6垃圾收集器?

    A Serial收集器
    B parNew收集器
    C CMS收集器
    D G1收集器
    答案:D
    解析:D,G1收集器是在JDK1.7中正式投入使用。
    JDK1.6的收集器有:serial、ParNew、Parallel Scavenge、CMS、Serial old、Parallel Old

    4. instanceof运算符能够用来判断一个对象是否为:

    A 一个类的实例
    B 一个实现指定接口的类的实例
    C 全部正确
    D 一个子类的实例

    答案:C
    解析:instanceof是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例

    5. 下面代码,s 的值是什么?

    int i=5;
    int s=(i++)+(++i)+(i--)+(--i);
    s=( )//s 的值是什么?
    
    • 1
    • 2
    • 3

    A 28
    B 25
    C 21
    D 26
    E 24
    F 23
    答案:E
    解析:

    1. i++是先取值再加,所以第一个括号里表达式值为5,出了括号后i的值为6
    2. ++i 是先加再取值,所以第二个括号里表达式的值相当于6+1之后取值为7,出了括号后i的值为7
    3. i–是先取值再减,所以第三个括号里表达式值为7,出了括号后i的值为6
    4. –i是先减再取值,所以第四个括号里表达式的值相当于6-1之后取值为5,出了括号后i的值为5

    综上s=5+7+7+5=24,答案为E

  • 相关阅读:
    使用Python,Tesseract更正文本方向
    es环境搭建
    Electron程序逆向(asar归档解包)
    C#开源、功能强大、免费的Windows系统优化工具 - Optimizer
    LeetCode 146. LRU 缓存
    MyBatis-Plus分页查询
    数据库基础面试——优化问题
    Windows+Pycharm 如何创建虚拟环境
    『手撕 Mybatis 源码』05 - SqlSession 执行主流程
    Python入门教程 | Python3 网络编程
  • 原文地址:https://blog.csdn.net/m0_52322019/article/details/126097865