提示:内容已经过期谨慎付费,点击上方查看最新答案

Java高级特性及项目实战

  1. ArrayList和Vector的区别说法正确的是( )

  2. A:ArrayList底层是链表结构,Vector底层是数组结构 B:ArrayList是线程不安全的,Vector是线程安全的 C:ArrayList是线程安全的,Vector是线程不安全的 D:ArrayList底层是数组结构,Vector底层是链表结构
    答案:ArrayList是线程不安全的,Vector是线程安全的
  3. JVM中是否存在泛型?( )。

  4. A:有时候存在 B:存在 C:不存在 D:可以手动调试出来
    AI参考:B:存在。在Java中,JVM是存在泛型机制的。Java泛型是一种支持类型参数的机制,它允许程序员在编写代码时使用类型参数,而在编译时将类型参数替换为具体的类型。这有助于提高代码的可读性和可维护性,并减少类型转换和类型转换错误的风险。因此,答案是B:存在。'
  5. 一个类实现接口的情况是( )。

  6. A:一次只能实现一个接口 B:不能实现接口 C:一次可以实现多接口个 D:不一定
    答案:一次可以实现多个接口
  7. Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是( )。 ( )。

  8. A:getParentFile() B:getAbsoluteFile() C:getName() D:getAbsolutePath()
    答案:getParent()
  9. 以下哪个方法用于获取构造方法的形参类型()。

  10. A:getParameterTypes B:newInstance C:getExceptionTypes D:getModifiers
    AI参考:正确选项是 `getParameterTypes`。`getParameterTypes` 是 Java 反射 API 中的一个方法,用于获取构造方法的形参类型。通过这个方法,可以获取到构造方法中所有形参的类型信息。其他选项中,`newInstance` 是用于创建类的实例的方法,与构造方法的形参类型无关;`getExceptionTypes` 是用于获取方法抛出的异常类型的,同样与构造方法的形参类型无关;`getModifiers` 是用于获取修饰符的,与构造方法的形参类型无关。因此,只有 `getParameterTypes` 选项与获取构造方法的形参类型相关。'
  11. 下列选项中不正确的是( )。

  12. A:创建date对象时可以使用double型参数 B:Calendar类中HOUR_OF_DAY字段指示一天中的小时 C:DateFormat类用于按照指定的格式对日期或时间进行格式化 D:通常使用getInstance方法来返回一个Calendar对象
    答案:世界遗产数量最多的国家是中国
  13. Java里,以下哪种泛型定义是不正确的( )。( )。

  14. A:class Test{T void test(){ } } B:interface TestT{ } C:class TestT{ } D:class Test{void Ttest(){ } }
    答案:List x = [];AI参考:正确答案是C:class TestT{ }。在Java中,接口、类和方法都可以使用泛型,选项A和B是正确的泛型定义方式,选项D也正确。选项C中的“TestT”是一个没有泛型参数的类名,是不正确的。所以,C选项是不正确的。'
  15. 以下关于serialVersionUID常量说法不正确的是()。

  16. A:唯一标识可序列化类的版本 B:确保对象与具有相同 serialVersionUID 的类兼容 C:反序列化过程中检查此常量 D:反序列化类时必须要显式声明该常量
    AI参考:正确答案是D:反序列化类时必须要显式声明该常量。serialVersionUID是一个常量,用来标识可序列化类的版本,保证对象与具有相同serialVersionUID的类兼容。反序列化过程中会检查此常量。所以ABC说法正确。而D选项反序列化类时可以不需要显式声明该常量,这个选项是不正确的。因此,选择D选项。'
  17. 下列不是JDBC API的类及接口的是

  18. A:Statement接口 B:KeyListener接口 C:Connection接口 D:DriverManager类
    AI参考:正确答案是B:KeyListener接口。JDBC API的类和接口包括Connection接口、Statement接口、ResultSet接口、DriverManager类等,它们都是与数据库操作相关的。而KeyListener接口是Java的键盘事件监听接口,与JDBC API无关,因此不是JDBC API的类及接口。'
  19. 请问以下哪些描述是正确的?( )。

  20. A:wait()方法和notify()方法是在Object类中定义的 B:只有同步化的类支持wait()方法和notify()方法 C:wait()方法和notify()方法是Thread类声明的 D:在JDK1.2中废除了wait()方法和notify()方法
    AI参考:选项A和B是正确的描述。选项A和B都是正确的,因为wait()方法和notify()方法是在Object类中定义的,用于线程间的同步,而只有同步化的类(如synchronized方法或代码块)才支持这些方法。选项C和D是错误的描述,因为wait()方法和notify()方法是在Java的Java SE API中定义的,而不是在Thread类中声明的。此外,这些方法在JDK 1.2中并没有被废除。因此,选项A和B是正确的描述。'
  21. 下面类中的方法可以创建目录的是( )

  22. A:FileOutputStream B:DataOutput C:File D:Directory
    AI参考:正确选项是 D:Directory。Directory 类是用于创建、读取、写入和删除目录的类,因此它包含了许多与目录操作相关的属性和方法,如mkdir()、listFiles()、delete()等。这些方法可以用于创建目录,因此可以用来创建目录结构。而 FileOutputStream、DataOutput 和 File 类虽然也与文件操作有关,但它们并不直接提供创建目录的方法。因此,答案为 D:Directory。'
  23. 下列选项中关于JDK5的新特性错误的是( )

  24. A:新增泛型和可变参数 B:新增枚举类型 C:新增增强for循环 D:自动装箱和自动拆箱是在JDK5之前就出现了的
    AI参考:在JDK 5中,新增的特性包括泛型、可变参数、增强for循环,以及枚举类型。而自动装箱和自动拆箱是在JDK 5之后新增的特性,是在Java 5.0版本中引入的。因此,选项D是错误的。因此,正确答案是D:自动装箱和自动拆箱是在JDK5之前就出现了的。'
  25. 关于泛型的通配符说法正确的是( )。

  26. A:固定上边界的通配符 B:固定下边界的通配符 C:实现泛型的继承 D:无边界的通配符

  27. 以下代码执行的结果是:public class Example {public static void main(String[] args) {int[] x = { 1, 2, 3 };x[1] = (x[1] 1) ? x[2] : 0;System.out.println(x[1]);}}( )。

  28. A:输出1 B:输出4 C:输出3 D:输出2

  29. 以下自定义标识符中哪项是不合法的( )

  30. A:hello B:$double C:BigMeaninglessName D:const
    AI参考:正确答案是D:const。在C++中,常量标识符不能以"const"开始。A选项的"hello"不是合法的标识符,但可以使用extern "C"声明它为C风格字符串;B选项的"$double"是非法的标识符;C选项的"BigMeaninglessName"可以使用标识符的命名规则。而D选项中的"const"被用于标识常量,在常量标识符中是不能以"const"开始的,所以是错误的。因此,答案为D:const。'
  31. 数据增、删、改、查等操作使用的方法是()

  32. A:execute() B:operateSQL() C:executeUpdate() D:executeQuery()
    AI参考:正确选项是【C:executeUpdate()】。executeUpdate()方法是用于执行SQL语句的增、删、改等操作,而execute()方法通常用于查询操作,executeQuery()方法也是用于查询操作,而operateSQL()方法并不是一个标准的Java方法,因此选项B和D都不正确。因此,正确答案是C:executeUpdate()。'
  33. 以下哪些语句用于创建一个Map实例?( )。


  34. A:Map m = new Map(); B:Map m = new Map(init capacity,increment capacity); C:其余选项都不对 D:Map m = new Map(new Collection());

  35. 以下代码的执行结果是什么?public class Example {public static void main(String[] args) {Base b = new Base();Subclass1 S1 = new Subclass1();Subclass2 s2 = new Subclass2();s1 = (Subclass1) s2;}}class Base {}class Subclass1 extends Base {}class Subclass2 extends Base {}( )。

  36. A:代码编译成功,但运行时ClassCastException对象造型异常被抛出 B:代码编译失败,赋值语句s1 = (Subclass1)s2非法 C:代码编译失败,因为一个基类不能被多个子类继承 D:代码编译成功,运行期间没有异常抛出

  37. Java中,如果泛型类是一个接口,能否创建泛型类的对象?( )。

  38. A:可以 B:编译正确 C:有时候可以 D:不可以

  39. 请问wait()方法在以下哪个代码中被调用?( )。

  40. A:编译不通过,因为接口中的构造器必须用public修饰 B:编译不通过,因为接口中不能存在构造器 C:编译不通过,因为接口中不能超过一个以上的构造器 D:编译不通过,因为接口名必须超过1个字符
    AI参考:题目中的代码明显是在调用一个方法,而没有提到任何关于接口的限制或构造器的问题,因此选项ABC都不符合题意。而选项D中的编译不通过是因为接口名必须超过1个字符的说法也并不正确。因此,正确答案是D:编译不通过,因为选项中没有提及任何关于接口的调用。值得注意的是,这道题目可能是为了考察语法或错误提示的识别能力,因此给出的选项并不完全符合题目的实际情况。在实际编程中,接口中的方法通常是通过继承来实现的,而不是直接调用其中的方法。同时,接口中的方法默认是public的,不需要显式地使用public修饰符。因此,如果题目的意图是要考察这些知识点,那么正确的选项应该是A或者C,但是选项D和题目的语境完全不相关。'
  41. 如下代码执行后的输出结果是?public class Example {public static void main(String[] args) {try {throw new Exception();} catch (Exception e) {try {throw new Exception();} catch (Exception e2) {System.out.println(inner);}System.out.println(middle);}System.out.println(out);}} ( )。

  42. A:编译失败 B:inner outer C:middle outer D:inner middle outer

  43. 下列不属于JDBC编程必需的基本步骤的是()。

  44. A:加载、注册驱动程序 B:建立数据库连接 C:执行SQL语句 D:处理结果
    AI参考:正确选项是D:处理结果。JDBC编程的基本步骤包括:1. 加载并注册驱动程序(A对);2. 建立数据库连接(B对);3. 执行SQL语句(C对);4. 关闭数据库连接。处理结果不属于JDBC编程的基本步骤,所以D选项是正确答案。'
  45. 一个线程如果被调用了sleep方法,则唤醒它的方法是( )( )。

  46. A:notify() B:wait() C:stop() D:run()

  47. 只允许子类及同包类访问某方法,使用哪个修饰符?( )。

  48. A:private B:public C:都可以 D:protected
    AI参考:正确选项是【D:protected】。题目中要求只允许子类及同包类访问某方法,因此应该使用protected修饰符。protected修饰符表示该方法可以被子类及同包类访问,但不能被其他包中的类访问。其他选项都不符合要求。因此,答案为D。'
  49. 欲构造ArrayList类继承了List接口,下列哪个方法是正确的?( )。

  50. A:ArrayList myList=new List() B:ArrayList myList=new Object() C:List myList=new ArrayList() D:List myList=new List()
    AI参考:正确选项是C:List myList=new ArrayList()题目要求构造一个继承了List接口的ArrayList类,选项A中的语法错误,因为List是一个接口,不能被实例化。选项B和D中的错误相似,都使用了Object作为ArrayList的基类,而Object不是List接口的基类。选项C中的语法是正确的,因为ArrayList类实现了List接口,所以可以使用List作为ArrayList的基类来创建对象。因此,正确选项是C:List myList=new ArrayList()。'
  51. 已知String str = “Welcome_To_Java_World”,下面操作结果正确的是( )。

  52. A:substring(1,7)结果为”Welcome” B:compareTo(“welcome to java world”)结果为32 C:startsWith(“welcome”)结果为true D:endsWith(“World”)结果为true
    AI参考:正确答案是C:startsWith(“welcome”)结果为true。这个问题中,我们需要对字符串进行操作并判断结果是否正确。根据题目给出的信息,String str = "Welcome_To_Java_World",我们需要对str进行以下操作并判断结果:A. substring(1,7)结果为"Welcome",这个操作会从索引位置1开始,获取长度为7的子字符串,即"Welcome"。所以这个操作的结果是正确的。B. compareTo(“welcome to java world”)结果为-32,这个操作会将当前字符串与另一个字符串进行比较,返回一个整数值表示它们的相对顺序。在这个情况下,当前字符串在另一个字符串之前,所以返回值为负数。C. startsWith(“welcome”)结果为true,这个操作会检查当前字符串是否以指定的前缀开始,在这个情况下,当前字符串以"welcome"开始,所以结果为true。D. endsWith(“World”)结果为false,这个操作会检查当前字符串是否以指定的后缀结束,在这个情况下,当前字符串不以"World"结束,所以结果为false。综上所述,只有C选项的结果是正确的。'
  53. 关于集合中对象的equals()和hashCode()规定说法错误的是?( )。

  54. A:如果两个对象相同,那么他们的hashCode值需要一致 B:Java中hashCode就是对象的内存地址 C:如果两个对象的hashCode值一致,他们的equals方法不一定返回true D:equals方法默认和==判定一致
    AI参考:正确选项是D:equals方法默认和==判定一致。在Java中,equals方法默认和==判定一致,即两个对象在内存中的位置相同,它们的equals方法才会返回true。但是,如果两个对象的hashCode值一致,它们的equals方法不一定返回true,因为hashCode和equals并不是完全一致的。hashCode主要用于哈希表(如HashMap、HashSet等),用于快速查找对象。equals方法则用于判断两个对象是否相等,包括对象的内容是否相等。因此,选项D的说法是错误的。其他选项A、B、C的说法都是正确的。'
  55. 泛型的本质是参数化类型,而这种( )可以用在接口的创建中,称为泛型接口。( )。

  56. A:方法 B:构造方法 C:参数类型 D:类
    AI参考:正确选项是C:参数类型。泛型的本质是参数化类型,即将类型作为参数传递。在Java中,接口可以定义泛型,使得接口的类型参数化。因此,在接口的创建中,可以使用泛型参数类型,这些参数类型可以用来约束接口的实现类,使得实现类能够提供具体的类型实现。因此,选项C“参数类型”是正确的答案。选项A、B、D虽然也涉及到泛型和类型参数化,但它们不是泛型接口中泛型参数的直接应用方式。'
  57. 假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是错误的?( ) public class Foo { inti; static Strings; voidimethod() { } staticvoidsmethod(){ } }

  58. A:Foo.imethod(); B:Foo.smethod() C:f.imethod(); D:System.out.println(f.i);

  59. 关于数据库操作,正确的说法是()。

  60. A:executeQuery()方法返回操作的记录数 B:executeUpdate()方法可以执行SQL查询语句 C:execute()方法可以执行SQL增加语句 D:executeQuery()方法可以执行所有SQL语句
    AI参考:正确答案是B:executeUpdate()方法可以执行SQL查询语句。executeQuery()方法是用于查询返回结果集的方法,只能执行SQL查询语句;execute()方法可以执行SQL增加、删除、更新等操作;executeUpdate()方法可以执行SQL查询语句或者增加、删除、更新等操作。因此,正确答案是B。C选项中的“SQL增加语句”是错误的,因为execute()方法通常用于执行更复杂的SQL操作,如插入、更新和删除等。D选项中的“所有SQL语句”也是错误的,因为executeQuery()方法只能执行查询语句。因此,正确的说法应该是“executeUpdate()方法可以执行SQL查询语句”。'
  61. 关于接口的说法,正确的是()( )。


  62. A:其余选项都不对 B:接口中的方法只能在接口的实现类中实现 C:接口中不能定义常量 D:接口中可定义变量成员
    AI参考:正确答案是C:接口中不能定义常量。接口中不能定义常量,因为接口是抽象的,不能有具体的实现细节,而常量是需要具体的数据值的。接口中可以定义变量成员,但它们必须被声明为抽象的,即不能被直接实例化。接口中的方法可以在接口的实现类中实现,但不能在接口中直接实现。因此,选项C是正确的。'
  63. 泛型是以下哪个JavaSE版本新特性( )。 ( )。

  64. A:1.6 B:1.7 C:1.5 D:1.4
    AI参考:正确选项是 B:1.7。Java SE 1.7版本引入了泛型,使得Java语言更加灵活和强大。泛型是一种类型参数化机制,允许在代码中使用类型参数来定义类、接口和方法,而不需要在编译时指定具体的类型。这种机制可以减少类型转换和类型检查的错误,提高代码的可读性和可维护性。因此,泛型是Java SE 1.7版本的新特性。在Java SE 1.5版本中,已经有了关于接口中方法的类型推断,但这并不属于泛型的范畴。而在Java SE 1.4和1.6版本中,并没有引入泛型这一新特性。'
  65. 下列方法中,可使线程进入死亡状态的是( )( )。

  66. A:sleep() B:start() C:stop() D:wait()
    AI参考:正确答案是C:stop()。sleep()方法是使线程休眠一段时间,不会使线程进入死亡状态;start()方法是启动一个新线程,也不会使线程进入死亡状态;wait()方法是让当前线程暂停执行,释放对象的锁,也不会使线程进入死亡状态。只有stop()方法可以强制终止一个线程,使线程进入死亡状态。因此,答案为C选项。'
  67. 以下哪些描述是正确的?( )。

  68. A:调用sleep()方法使线程进入就绪状态 B:调用sleep()方法使线程进入等待状态 C:调用wait()方法是线程进入就绪状态 D:调用start()方式使线程立即获得执行

  69. 请问wait()方法定义在以下哪个类上?( )。

  70. A:Applet B:Thread C:Runnable D:Object
    AI参考:正确答案是D:Object。wait()方法是一个Java中的同步方法,通常用于暂停当前线程,等待某个条件满足后再继续执行。该方法通常定义在Object类上,因此其他类可以通过继承Object类来使用该方法。在Thread类、Applet类和Runnable类中并没有提供wait()方法的定义。因此,答案为D。'
  71. 现有:list是一个合法的集合引用getCollection()返回一个合法集合的引用,以下语句哪些是合法的?( )。

  72. A:for(Object o : list) B:for(Object o : getCollection()) C:for(Iterator I;list.iterator();i.hasNext()) D:for(Object o : list.iterator())
    AI参考:正确选项是:B:for(Object o : getCollection())解释:A选项中,list是一个集合引用,但是for循环的迭代对象应该是集合本身,而不是集合引用的对象。所以A选项不合法。C选项中,for循环中使用了list.iterator()方法获取一个迭代器对象,但是这个迭代器对象并不能直接使用在for循环中,需要配合使用hasNext()方法来判断是否还有下一个元素。所以C选项也不合法。D选项中,使用list.iterator()方法获取一个迭代器对象,然后用迭代器对象直接作为for循环的迭代对象,这样是合法的。但是由于该集合并没有指定遍历的方式,可能会出现多个对象的错误引用,造成问题。因此B选项最合适。其中list表示集合对象引用,getCollection()方法返回的是另一个合法集合对象的引用,故使用这个引用对象的for循环是合法的。因此正确答案为B:for(Object o : getCollection())。'
  73. 以下关于继承的叙述正确的是( )。

  74. A:在Java中类只允许单一继承 B:在Java中一个类只能实现一个接口 C:在Java中一个类不能同时继承一个类和实现一个接口 D:在Java中接口只允许单一继承

  75. 以下结构中,插入性能最高的是( )

  76. A:tor B:Collection C:ArrayList D:Linkedlist

  77. LinkedList类的特点是( )

  78. A:增删快 B:查询快 C:元素不重复 D:元素自然排序

  79. List、Set、Map哪个继承自Collection接口,一下说法正确的是( )

  80. A:Set Map B:List Map Set C:List Map D:List Set

  81. 现有如下代码:public class Example {public static void main(String[] args) {// anew Example().topGo();}void topGo() {// bmiddleGo();}void middleGo() {// cgo();System.out.println(late middle);}void go() {// dthrow new Exception();}}为了使代码能够编译通过,需要在哪个地方加入声明throws Exception?( )。

  82. A:c和d B:b、c和d C:a、b、c和d D:d
    AI参考:答案:C:a、b、c和d在Java中,主方法main需要声明是否抛出异常,main方法的声明形式如下:public static void main(String[] args) throws Exception但是你的代码已经声明了主方法会调用一个可能会抛出异常的方法topGo,所以在main方法上直接声明throws Exception是不必要的。另外,你的代码中,只有go方法可能会抛出异常,所以只需要在go方法上声明throws Exception即可。所以正确的做法是在a、b、c和d处都加入声明throws Exception,选项C是正确的。因此,为了使代码能够编译通过,需要在a、b、c和d处加入声明throws Exception。所以正确答案是C。'
  83. 以下哪个方法用于获取该类所有public修饰的构造方法,并返回Constructor数组()。

  84. A:getMethod B:getConstructors C:getDeclaredConstructors D:getMethods
    AI参考:正确选项是C:getDeclaredConstructors。这个问题需要获取一个类中所有被声明为public的构造方法,并返回一个Constructor数组。getDeclaredConstructors方法可以获取一个类中所有被声明的构造方法,包括公共的、受保护的、包级私有和类级私有的构造方法。这个方法返回的是一个Constructor数组,包含了该类中所有被声明的构造方法。因此,选项C是正确的答案。选项A、B和D都不符合问题的要求。'
  85. 下列说法错误的是?( )。

  86. A:Java中代码重用中的has a关系通过定义类属性方式实现,is a通过类继承来实现 B:在实现多态后,利用父类引用(声明时类型)调用父类子类均声明了的变量和方法,均调用在子类中声明的版本 C:尽管现行的Java语言版本不允许类的多继承,但是我们仍然可以在extends关键字后面放置一个列表 D:this关键字代表当前对象,即this引用的是当前创建的类实例对象的句柄
    AI参考:正确选项是:C:尽管现行的Java语言版本不允许类的多继承,但是我们仍然可以在extends关键字后面放置一个列表。这是因为尽管Java语言不允许类的多继承,但是在Java中仍然可以通过接口的方式实现类似的效果。使用接口来扩展一个类,可以解决类继承所带来的复杂性,并且接口中的方法通常会使用默认方法,以减少实现的复杂性。因此,选项C的说法是不正确的。其他选项都是正确的描述了Java中的相关概念和特性。'
  87. 以下代码能实现泛型类的是( ) ( )。

  88. A:public T class College{ public void add(T t){} } B:public class College T{ public void save(T t){} } C:public class CollegeT{ public void list(T t){} } D:public class T College{ public void update(T t){} }
    AI参考:正确选项是A:public T class College{ public void add(T t){} }。在Java中,泛型类需要使用尖括号(<>)来定义,并且泛型类型需要放在类名后面的尖括号中。选项A中的代码符合泛型类的定义,其中T表示泛型类型。选项B、C和D中的代码都没有正确使用泛型,因此不符合题意。因此,答案为A。'
  89. 查询结果集的接口是()。

  90. A:Set B:List C:Collection D:ResultSet

  91. 下列关于数组的说法,错误的是( )。

  92. A:在类中声明一个整型数组作为成员变量,如果没有给它赋值,数组元素值为空 B:数组本身是一个对象 C:数组必须先声明,然后才能使用 D:数组中各元素在内存中是连续存放的
    AI参考:正确答案是B:数组本身是一个对象。在类中声明一个整型数组作为成员变量,如果没有给它赋值,数组元素值为空,这是正确的。数组本身不是一个对象,它是一种数据结构,可以存储多个相同类型的数据。数组必须先声明,然后才能使用,这是正确的。数组中各元素在内存中是连续存放的,这也是正确的。因此,选项B是错误的。'
  93. 对于HashMap集合说法正确的是( )

  94. A:可以存储null值和null键 B:底层是数组结构 C:不可以存储null值和null键 D:底层是链表结构

  95. 在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。

  96. A:private B:protected C:public D:private protected

  97. public class TestEquals {public static void main(String[] args) {String a=a;String b=b;String c=a+b;String d=a+b;System.out.println(a==a);System.out.println(c==ab);System.out.println(d==c);System.out.println(new String(a)+b==c);}}运行结果是?( )。

  98. A:true false false false B:false false false false C:true true false false D:true true true false
    AI参考:答案为 C:true true false false。首先分析题目中的代码,发现这段代码实际上是对字符串的相等性进行比较,而且主要是针对字符a和b进行比较,再与其他的字符串进行比较。这里a=a这样的赋值方式是为了确保a指向字符串a的副本,所以a==a为true。而c=a+b这样的赋值方式实际上是创建了一个新的字符串对象,它并不等于ab,所以c==ab为false。d=a+b这样的赋值方式实际上也是创建了一个新的字符串对象,它等于c,所以d==c为true。最后,new String(a)+b与c进行比较,因为a和b相同,所以结果为true。所以整个程序的运行结果为:true true false false。所以,选项C是正确答案。'
  99. Java的线程有( )种状态

  100. A:2 B:5 C:3 D:4
    AI参考:正确选项是【D:4】。Java的线程有四种状态:新建状态、就绪状态、运行状态、阻塞状态。线程的状态可以通过Thread类的getState()方法来查看。'

温馨提示支付 ¥1.35 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部