最新精编2020年JAVA程序员笔试面试模拟考试题库300题(含答案)

合集下载

最新版精编2020年JAVA程序员笔试模拟考核题库300题(含标准答案)

最新版精编2020年JAVA程序员笔试模拟考核题库300题(含标准答案)

2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1."对下面的语句序列正确的说法是:int c=’A’/3;c+=’1’%5;System.out.println(c);A. 输出结果:25B. 运行时错误C. 产生编译错误D. 输出结果2答案:A2."定义字符串:String s1=”hello”:对下面程序描述正确的是:If(s1==”hello”) {System.out.println(“s1=\”hello\””);} else {Syst em.out.println(“s1 != hello”);}A. 输出 s1!=helloB. 输出 s1=”helloC. 产生编译错误D. 编译正确运行错误答案:B3.软件设计阶段的输出主要是:A. 伪代码B. 程序C. 模块D. 设计规格说明书答案:D4.不同级别的用户对同一对象拥有不同的访问权限或某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动,这种情况最好使用什么模式?A. Fasade模式B. Bridge模式C. Adapter模式D. Proxy模式答案:D5.栈和队列的共同特点是:A. 都是先进后出B. 只允许在端点处插入和删除元素C. 都是先进先出D. 没有共同点答案:B6.Oracle中数值1234567.89如果放入Number(9,3)类型的变量中,存储的值是:A. 1234567.890B. 1234567.9C. 1234567.89D. 会报Numberic error答案:7.PL/SQL中用来判断FETCH语句是否成功,并且在FETCH语句失败时返回逻辑真的属性是:A. %NOTFOUNDB. %FOUNDC. %ISOPEND. %ROWCOUNT答案:A8."Given the following fragment of code;Double d1=newDouble(1.0);Double d2=newDouble(1.0);Float f=new Float(1.0F);Which results of the following expressions are true?A. d1==d2B. d1.equals(d2)C. d1=fD. f.equals(d1)答案:B9.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,他的前序遍历序列是:A. decabB. deabcC. acbedD. cedba答案:10.在oracle中,语句select ‘test’ || null from dual;的查询结果为:A. 结果是testB. 结果是testnullC. 结果是空D. 结果是NULL答案:A11.如果从流中读取一个大数据量的XML文件并进行解析,最好使用哪种解析器?A. 两种都不可以B. 两种都可以,没有太大区别C. SAXParserD. DOMParser答案:C12.如果你设计了一个类,并且覆盖率equals()方法,哪些方法你还会考虑覆盖?A. clone()B. toString()C. wait()D. finalize()E. hashCode()答案:E13."假设test类运行于多线程环境下,那么关于A处的同步下面描述正确的是?public class Test {List list = new java.util.ArrayList();public void test() {synchronized(list) { // --Alist.add( String.valueOf(System.currentTimeMillis()));}}}A. Test 类为singleton时也没有必要增加synchronizedB. Test方法中必须增加synchronizedC. Test类为singleton时有必要增加synchronizedD. Test 方法中没有必要增加synchronized答案:C14.关于final下面哪些是错误的?A. final可以用来声明抽象类中的方法B. final可以用来声明接口中的方法C. 以上都不对D. final method不能被覆盖E. final class不能被继承答案:B15.类的实例方法表示的是什么?( )A. 类的行为B. 父类对象的行为C. 类的属性D. 类对象的行为答案:D16."类A定义如下:class A {private int x=10;int getX() {return x;}}class B extends A {private int x=15;//需要覆盖getx()方法}在”//需要覆盖getx()方法”后应加上的函数是:A. int getX(float f) {…}B. double getx(float f){…}C. float getx(){…};D. int getx(){…}答案:D17.面向对象的特征答案:(抽象、继承、多态、封装)18.在ORACLE中,关于同义词说法错误的是:A. 可以为存储过程创建同义词B. 同义词可以和表重名C. 共有同义词和私有同义词创建的权限不同D. 同义词只能由创建同义词的用户使用答案:D19.释放SessionBean使用的某些资源或者刷新Entity Bean的缓存的代码一般实现在哪个方法中?A. ejbLoadB. ejbPassivateC. ejbStoreD. ejbRemoveE. ejbActivate答案:B20.JSP内置对象有哪些" A.applicationB.requestC.reponseD.sessionE.OOXX答案:ABCD21.Which modifier should be used to define a constant member variable?A. staticB. finalC. abstractD. No modifier can be used答案:B22.下面哪一个primitive type 和对应的wrapper class 是错误的?ng.IntegerB.g ng.LongC.short ng.ShortD.void ng.V oidE.char[] ng.String答案:E23.下面哪个声明是错误?A. int i=0xFFFFFFFF;B. byte b=01;C. char c=\u0000;D. long l=1234567890LE. int i=’a’;答案:C24."转发HTTP 请求一般有两种方法,response.sendRedirect 和RequestDispatcher.forward,哪种方法可以保存request.setAttribute()中设置的值不丢BA. sendRedirectssB. forwardC. 两个都不能D. 两个都可以答案:25.下列关于Java语言的叙述中,正确的是:A. 源文件名其扩展名为.jarB. Java是不区分大小写的C. 源文件中public类的数据不限D. 源文件名必须与public类型的类名相同答案:D26."下面语句片段的输出结果是什么?()int score=9;switch(score){case 0: System.out.println();default: System.out.println(“Error”);case 1: System.out.println(“Good”); break;case 2: System.out.println(“Best”);}A. ErrorB. 没有输出C. Error,Good,BestD. Error,Good答案:D27."下面程序执行代码到第5行时j的值是:1. public class test {2. public static void main(String args[]) {3. int i = OxFFFFFFF1;4. int j = -i;5.6. }7. }A. 14B. 15C. 0D. 1答案:B28.如果你设计了一个类,并且覆盖了equals()方法,哪些方法你还会考虑覆盖?A. hashCode()B. wait()C. finalize()D. toString()E. clone()答案:A29.下面哪些赋值语句是错误的。

精编新版2020年JAVA程序员笔试面试模拟考试300题(含答案)

精编新版2020年JAVA程序员笔试面试模拟考试300题(含答案)

2020年JAVA程序员笔试面试题库300题[含答案]
一、简答题
1.构造ArrayList类的一个实例,下列哪个方法是正确的?A. List myList = new ArrayList();
B. ArrayList myList = new List();
C. List myList = new List();
D. ArrayList myList = new Object();
答案:A
2.下列对继承的说法,哪个是正确的( )A. 子类只能继承父类public方法和状态
B. 子类能继承父类的protected方法,而不继承protected状态
C. 子类能继承父类的所有非私有方法和状态
D. 子类能继承父类的私有方法和状态
答案:C
3.下面对数组的操作代码哪个是正确的?A. char[] a=”hello world”.toCharArray();
B. char c=a[999];
C. Class cc=a.getClass();
D. int len=a.length;
E. a.equals(new Object());
F. char c=a[0];
答案:DF
4.EJB在WEBLOGIC中的部署文件
答案:weblogic-ejb-jar.xml
5.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键
B. 总控键
C. 重复的组
D. 主键
答案:A
6.下面哪个是合法的布尔值
A. “false”
B. false
C. 10
答案:B。

最新精选2020年JAVA程序员笔试面试模拟题库300题(含参考答案)

最新精选2020年JAVA程序员笔试面试模拟题库300题(含参考答案)

2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.一个正在执行的线程在遇到下列()情况时会暂时停止执行?A. 执行suspend被挂起;B. 休眠;C. 执行输入输出操作D. 执行wait()方法。

答案:ABD2.1. 保证在java应用程序中,一个类Class只有一个实例存在该使用什么设计模式答案:单例3.单选题答案:4."下面代码中队result描述正确的是?InputStream in = … ;byte[] buff = new byte[1024];int result = in.read(buff, 0, 256)A. result 可能等于256B. result 可能等于0C. result 可能等于1024D. result 可能等于1答案:AB5.对于大多数J2EE Constainer来说,web应用最终可以用哪种形式部署?A. jarB. earC. warD. 直接以目录形式答案:BCD6."给出下面的不完整的方法:1)2){ success = connect() ;3)if (success == -1){4) throw new TimeOutException();5)}6)}TimeOutException 不是一个RuntimeException,下面那行可以放在 1)处?A. public void method() throws ExceptionB. public void method()C. public void method() throws TimeOutExceptionD. public void method() throw TimeOutException答案:7.关于readLine() 方法,一下说法正确的是?A. 该方法抛出IOException异常,调用该方法应该try …catch…B. 如果读到文件的末尾,该方法返回的结果为nullC. readLine()每次读取一行数据D. BufferReader类的对象可以调用该方法答案:ABCD8.在oracle中,语句select ‘test’ || null from dual;的查询结果为:A. 结果是testB. 结果是testnullC. 结果是空D. 结果是NULL答案:A9.下面哪些是合法的标识符?A. *point;B. _endline;C. $personC. const答案:BC10.容器Panel和applet缺省使用的布局编辑策略是答案:FlowLayout的布局管理器11.构造ArrayList类的一个实例,下列哪个方法是正确的?A. List myList = new ArrayList();B. ArrayList myList = new List();C. List myList = new List();D. ArrayList myList = new Object();答案:A12.Java程序运行入口的main方法的返回值类型是什么?A. booleanB. staticC. intD. void答案:D13.下面哪个Map是排序的?A. HashtableB. TreeMapC. HashMapD. WeakHashMapE. LinkedHashMap答案:E14.如果从流中读取一个大数据量的XML文件并进行解析,最好使用哪种解析方式?A. 两种都可以,没有太大区别B. 两种都不可以C. DOM ParserD. SAX Parser答案:D15.ORACLE数据库属于以下哪种数据库典型?A. 关系数据库B. 网状数据库C. 层次数据库D. 面向对象的关系数据库答案:A16.关于MVC,下面说法正确的是:A. Servlet实现MVC的Model部分B. JSP实现MVC的Control部分C. EJB实现MVC的Model部分D. HTTP实现MVC的View部分答案:C17."字符串中有一种特殊的数据较转义字符,下面哪个是换行字符?A. /tB. /n答案:B18.在java中判断applet的来源的方法有?A. getCodeBase();B. getDocumentBase();C. getCodebase();D. getDocumentbase();答案:AB19."给出下面的不完整的类代码:class Person {String name, department;int age;public Person(String n) { name = n; }public Person(String n, int a) { name = n; age=a;}public Person(String n, String d, int a) {// doing the same as two arguments version of constructor// includeing assignment name=n, age=adepartment = d;}}下面的哪些的表达式可以加到构造方法中的”doing the same as…”处。

最新版精编2020年JAVA程序员笔试完整考题库300题(含标准答案)

最新版精编2020年JAVA程序员笔试完整考题库300题(含标准答案)

2020年JAVA程序员笔试面试题库300题[含答案]
一、简答题
1.多选题:
答案:
2.J2EE的三层模型是什么?
答案:Model View Controller
3.下面哪个是合法的布尔值
A. “false”
B. false
C. 10
答案:B
4.容器Panel和applet缺省使用的布局编辑策略是
答案:FlowLayout的布局管理器
5.System同时包含三个预定义的流变量,分别是
答案:In out err
6.定义字符串:String str =
Abcddefg”; 则str.substring(1,4).indexOf(“d”) 的结果是
答案:2
7.1. 保证在java应用程序中,一个类Class只有一个实例存在该使用什么设计模式
答案:单例
8.下面哪些赋值语句是错误的。

A. double d = 3.14D;
B. double d = 5.3E12;
C. double d = 3.14159;
D. float f = 11.1;
答案:D
9.一个正在执行的线程在遇到下列()情况时会暂时停止执行?A. 执行suspend被挂起;
B. 休眠;
C. 执行输入输出操作。

最新版精编2020年JAVA程序员笔试面试考核题库300题(含参考答案)

最新版精编2020年JAVA程序员笔试面试考核题库300题(含参考答案)

2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.J2EE的三层模型是什么?答案:Model View Controller2.关于final下面哪些是错误的?A. final可以用来声明抽象类中的方法B. final可以用来声明接口中的方法C. 以上都不对D. final method不能被覆盖E. final class不能被继承答案:B3.下面哪些声明是错误的?A. char c = ‘\u0000’;B. int i=’a’;C. byte b=01;D. long l=1234567890L;E. int i=0xFFFFFFFF;答案:4.下面对数组的操作代码哪个是正确的?A. char[] a=”hello world”.toCharArray();B. char c=a[999];C. Class cc=a.getClass();D. int len=a.length;E. a.equals(new Object());F. char c=a[0];答案:DF5.定义整型变量:int n=456;,表达式的值为5的是:A. n/10B. n%10C. (n-n/100*100)/10D. n/10%10答案:CD6."int k=0;for(int i=5;i>0&k<10;i--){k+=i;}最后k的值是多少?答案://k=127.J2EE描述答案:"J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition)J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。

最新版精选2020年JAVA程序员笔试面试模拟考核题库300题(含答案)

最新版精选2020年JAVA程序员笔试面试模拟考核题库300题(含答案)

2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.一个正在执行的线程在遇到下列()情况时会暂时停止执行?A. 执行suspend被挂起;B. 休眠;C. 执行输入输出操作D. 执行wait()方法。

答案:ABD2.下面哪个是合法的布尔值A. “false”B. falseC. 10答案:B3.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。

这样,从浏览器的地址栏中可以看到跳转后的链接地址。

所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。

在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。

4.定义字符串:String str =Abcddefg”; 则str.substring(1,4).indexOf(“d”) 的结果是答案:25.单选题答案:6."下面哪一项运行结果为true?int i = 9;int j = 9;A. ++j == i;B. j == i ++;C. j == ++ i;。

最新精编2020年JAVA程序员笔试考核题库完整版300题(含答案)

最新精编2020年JAVA程序员笔试考核题库完整版300题(含答案)

2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.算法的时间复杂度是指:答案:时间复杂度是度量算法执行的时间长短。

随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。

2.下列关于java程序结果错误的是A. 源文件可以没有 import 语句B. Package语句必须放在源文件的第一句C. 一个源文件可以有多个类定义D. 一个源文件可以定义多个public类答案:D3.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键B. 总控键C. 重复的组D. 主键答案:A4.EJB2.0 中定义了几种Enterprise Bean答案:Session bean, entity bean, message driven bean5.下面哪个是合法的布尔值A. “false”B. falseC. 10答案:B6.容器Panel和applet缺省使用的布局编辑策略是答案:FlowLayout的布局管理器7.在Weblogic中如果部署的应用访问两个数据库并需要进行事务控制时,则需配置答案:两阶段提交协议8.对于FileInputStream和FileOutputStream类,下面哪个方法不会产生IOException异常()A. write()B. read()C. close()D. 二者的构造函数答案:D9.定义字符串:String str =Abcddefg”; 则str.substring(1,4).indexOf(“d”) 的结果是答案:210.面向对象的特征答案:(抽象、继承、多态、封装)11.对于大多数J2EE Constainer来说,web应用最终可以用哪种形式部署?A. jarB. earC. warD. 直接以目录形式答案:BCD12."执行下列代码后,哪个结论是正确的?String[] s = new String[10];A. s.length为10B. s[9]为nullC. s[10]为”D. s[9]为0答案:AB13.关于readLine() 方法,一下说法正确的是?A. 该方法抛出IOException异常,调用该方法应该try …catch…B. 如果读到文件的末尾,该方法返回的结果为nullC. readLine()每次读取一行数据D. BufferReader类的对象可以调用该方法答案:ABCD14.下面哪些接口的声明是错误的?A. interface MyInterface extends Youninterface{}B. private interface MyInterface{}C. interface MyInterface extends Youninterface1, Youninterface2{}D. interface MyInterface implements MyInterface{}E. interface MyInterface{}答案:C15.下面哪一个List最适合用来实现FIFO队列?A. VectorB. LinkedListC. ArrayListD. Stack答案:B16.如果从流中读取一个大数据量的XML文件并进行解析,最好使用哪种解析方式?A. 两种都可以,没有太大区别B. 两种都不可以C. DOM ParserD. SAX Parser答案:D17.每一个ORACLE数据库有一个或多个物理的数据文件,下面哪种说法是错误的?A. 数据文件建立后,大小可随实际业务需要进行调整B. 文件中的数据在需要时可以读取并存储在ORACLE内存储区中C. 一个数据文件可与多个数据库联系D. 一个表空间(数据库存储的逻辑单位)可由一个或多个数据文件组成答案:C18.System同时包含三个预定义的流变量,分别是答案:In out err19.以下关于UML的说法正确的是:A. UML是标准的建模语言,而不是标准的开发过程B. UML是标准的建模语言,也是标准的开发过程答案:A20.软件设计中划分模块的一个准则是__。

新版精编2020年JAVA程序员笔试面试模拟考试题库300题(含参考答案)

新版精编2020年JAVA程序员笔试面试模拟考试题库300题(含参考答案)

2020年JAVA程序员笔试面试题库300题[含答案]一、简答题1.单选题答案:2."int k=0;for(int i=5;i>0&k<10;i--){k+=i;}最后k的值是多少?答案://k=123.下列关于java程序结果错误的是A. 源文件可以没有 import 语句B. Package语句必须放在源文件的第一句C. 一个源文件可以有多个类定义D. 一个源文件可以定义多个public类答案:D4.J2EE的三层模型是什么?答案:Model View Controller5.下面哪个是合法的布尔值A. “false”B. falseC. 10答案:B6.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。

这样,从浏览器的地址栏中可以看到跳转后的链接地址。

所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。

在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。

7.容器Panel和applet缺省使用的布局编辑策略是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A. good and abc
B. good and gbc
C. test ok and abc
D. test ok and gbc
答案:
9."执行下列代码后,哪个结论是正确的?
String[] s = new String[10];
A. s.length为10
B. s[9]为null
C. s[10]为”D. s[9]为0
B)相对URL是指缺少协议名或者服务器地址的路径
C)以‘/‘开头的相对路径被称为""context-relative"" URL
答案:C
16.软件设计中划分模块的一个准则是:A.低内聚高耦合
B.高内聚高耦合
C.低内聚低耦合
D.高内聚低耦合
答案:A
17."下列语句顺序执行后,j的值是:
int j=0;
for(int i=5;i>0&j<10;i--)j+=i;
A. 12
B. 11
C. 9
D. 10
答案:A
18."下面哪一项运行结果为true?
ex.change(ex.str,ex.ch);
System.out.print(ex.str+ and );
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str= test okj ;
ch[0]=’g’;
}
}
""
C. ArrayList
D. Stack
答案:B
15.每一个ORACLE数据库有一个小可随实际业务需要进行调整
B.文件中的数据在需要时可以读取并存储在ORACLE内存储区中
C.一个数据文件可与多个数据库联系
D.一个表空间(数据库存储的逻辑单位)可由一个或多个数据文件组成
8."指出下列程序运行的结果
public class Example{
String str=new String(“good );
char[]ch={‘a’,’b’,’c’};
public static void main(String args[]){
Example ex=new Example();
D. ArrayList myList = new Object();
答案:A
13.Java程序运行入口的main方法的返回值类型是什么?A. boolean
B. static
C. int
D. void
答案:D
14.下面哪一个List最适合用来实现FIFO队列?A. Vector
B. LinkedList
int i = 9;
int j = 9;
A. ++j == i;
B. j == i ++;
C. j == ++ i;
D. j == i;
E. j++ == i;
答案:BDE
19.CMM3级的特点是:A.过程控制
B.过程定义
C.特殊的过程
D.过程实施
答案:
20.下列关于URL的论述哪个是错误的?()
A)绝对URL是指包括协议名和服务器地址的路径
A. public void method() throws Exception
B. public void method()
C. public void method() throws TimeOutException
D. public void method() throw TimeOutException
B. _endline;
C. $person
C. const
答案:BC
12.构造ArrayList类的一个实例,下列哪个方法是正确的?A. List myList = new ArrayList();
B. ArrayList myList = new List();
C. List myList = new List();
答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。
5.关系数据库中,典型的实体关系模型有三个要素?
答案:数据结构、关系操作、完整性约束
6.System同时包含三个预定义的流变量,分别是
答案:In out err
7.算法的时间复杂度是指:
答案:时间复杂度是度量算法执行的时间长短。随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。
答案:
2.如果配置一个servlet需要使用的参数,最好在哪个方法中A. doPost
B. destroy
C. doGet
D. service
E. init
答案:AC
3.将两个表连接在一起时,下面那一项通常是另外一个表的主键A.外键
B.总控键
C.重复的组
D.主键
答案:A
4.转发HTTP请求的两个方法respsonse.sendDirect和RequestDispatcher.forward的区别
2020年JAVA程序员笔试面试题库300题[含答案]
一、简答题
1."给出下面的不完整的方法:
1)
2){ success = connect() ;
3)if (success == -1){
4)throw new TimeOutException();
5)}
6)}
TimeOutException不是一个RuntimeException,下面那行可以放在1)处?
答案:AB
10.下面的异常处理说明正确的是( )A. try块只能使用一个catch子句。
B. try块必须同时与catch子句和finally子句一起使用。
C. try块不能单独使用。
D. try块中如果执行了return语句,则其finally子句不能执行
答案:C
11.下面哪些是合法的标识符?A. *point;
相关文档
最新文档