“litingemily”通过精心收集,向本站投稿了11篇中软Java面试试题,下面是小编为大家准备的中软Java面试试题,欢迎阅读借鉴。

中软Java面试试题

篇1:中软Java面试试题

Java面试题目(一)

一、判断题(30分)

1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。

4.类及其属性、方法可以同时有一个以上的修饰符来修饰。

5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点

6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

7.Final类中的属性和方法都必须被final修饰符修饰。

8.最终类不能派生子类,最终方法不能被覆盖。

9.子类要调用父类的方法,必须使用super关键字。

10.一个Java类可以有多个父类。

11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。

12.在java集合中,Vector和HashMap是线程安全的。

13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。

14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。

15.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。

二、选择题(30分)

1、关于垃圾收集的哪些叙述是正确的( ):

A.程序开发者必须自己创建一个线程进行内存释放的工作

B.垃圾收集允许程序开发者明确指定并立即释放该内存

C.垃圾收集将检查并释放不再使用的内存

D.垃圾收集能够在期望的时间释放被java对象使用的内存

2、下面的哪些赋值语句是不正确的( ):

A.float f=11.1;

B.double d=5.3E12;

C.double d=3.14159;

D.double d=3.14D;

3、下面关于变量及其范围的陈述哪些是不正确的( ):

A.实例变量是类的成员变量

B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

4、下列关于修饰符混用的说法,错误的是( ):

A.abstract不能与final并列修饰同一个类

B.abstract类中不可以有private的成员

C.abstract方法必须在abstract类中

D.static方法中能处理非static的属性

5、容器Panel和Applet缺省使用的布局编辑策略是( ):

A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout

6、以下标识符中哪项是不合法的( ):

A、BigMeaninglessName B、$int

C、1 st D、$1

7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( ):

A、public static void main

B、public static void main(String[ ] args)

C、public static int main(String[ ] arg)

D、public void main(String arg[ ])

篇2:中软面试题

1, 简述一下Java或C++的垃圾回收机制和应用2, 写出Java接口和C++虚类的区别3,简述java异常机制4,private public protected 和默认的情况的区别5,Map List Set 是否继承自Collection6,线程的开启时run()还是Start()7, Error和Excption的区别8,构造器是否可以被重写9,抽象关键字可以与Static和native 或synchronized并用10,接口是否可以继承接口,抽象类是否可以继承接口,抽象类是否可以继承实体类11,写出一个常见的运行时异常12,Ejb与Java bean的区别13,抽象类与接口的区别14, Struts的工作原理15,写出你的编程风格第二大题

数据库查询(省略)

1,写出java连接SQL与Oracle数据库代码2,用编程实现替换两个整数(不得使用第三方变量) public void changeXy(int x,int y){ Sysout.out.print(“转换前x的值为”+x+“,转换前的y值为”+y); x=x+y;//相加获得相当于第三方变量的x y=x-y; x=x-y; Sysout.out.print(“转换后x的值为”+x+“,转换后的y值为”+y); }

[中软面试题]

篇3:东软java笔试题

东软java笔试题

下面是关于东软java笔试题,请有需要的童鞋进行下面的测试:

一、选择题(共30题,每题2分,满分60分)

1、(数据结构)对图中的二叉树,按先根次序遍历得到的结点序列为 B

A、ABCDHEIFG

B、ABDHIECFG

C、HDIBEAFCG

D、HIDBEFGAC

2、(数据结构)设线性表(a1,a2,a3,...,a500)中所有元素的值由小到大排列,对一个给定的值K,用二分法查找表中与K相等的元素,在查找不成功的情况下,至多需要比较 A 次,(本人拿不准)

A、8 B、9 C、10 D、11

3、(数据结构)二叉树的查找有深度优先和广度优先,深度优先包括 A

A、前序遍历、后序遍历、中序遍历 B、前序遍历、后序遍历、层次遍历

C、前序遍历、中序遍历、层次遍历 D、中序遍历、后序遍历、层次遍历

4、(数据结构)已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为 D

A、DEBAFC B、DEFBCA

C、DEBCFA D、DEBFCA

5、(数据结构)队列是一种常用的数据结构,其元素的入队与出队遵循 A 原则。

A、先进先出

B、先进后出

C、随机进、随机出

D、顺序进、随机出

6、(数据结构)在数据结构中,结点及结点间的相互关系是数据的逻辑结构,数据结构按逻辑关系的不同,通常可分为 两类

A、动态结构和表态结构 B、紧凑结构和非紧凑结构

C、线性结构和非线性结构 D、内部结构和外部结构

7、(数据结构)队列是一种常用的数据结构,其元素的入队与出队遵循 原则。

A、先进先出 B、先进后出 C、随机进、顺序出 D、顺序进、随机出

8、(数据结构)与单向链表相比,双向链表的优点之一是

A、更节省存储空间 B、便于进行随机访问

C、更容易访问相邻结点 D、可以省略头指针和尾指针

9、(操作系统)在文件存储设备管理中,有三类常用字的空闲块管理方法,即位图向量法,空闲块链表法和

A、级目录法 B、多级目录法 C、分区法 D、索引法

10、(操作系统)在进程管理中,当 时,进程从阻塞状态变为就绪状态。

A、进程被进程调度程序选中 B、等待某一事件

C、等待事件发生 D、时间片用完

11、(操作系统)若进程P1正在运行,操作系统强行撤下P1进程所占用的CPU,让具有更高优先级的进程P2运行,这种调度方式称为

A、中断方式 B、抢占方式 C、非抢占方式 D、查询方式

12、(操作系统)I/O控制方式有多种, 一般用于大型、高效的计算机系统中。

A、查询方式 B、中断方式 C、DMA方式 D、PPU方式

13、(软件工程)软件设计的主要任务是设计软件的结构、模块和过程,其中软件结构设计的主要任务是要确定

A、模块间的操作细节 B、模块间的相似性

C、模块间的组成关系 D、模块的具体功能

14、(软件工程)对软件系统进行验收测试(确认测试)的任务是验证软件

A、是否符合用户提出的需求 B、是否采用了先进的实现方法

C、界面是否美观 C、是否适合计算机硬件环境

15、(软件工程)在软件开发过程中,管理者和技术人员的观念是十分重要的。以下叙述中你认为正确的是

A、如果我们已经落后于计划,可以增加更多的程序员来走上进度

B、在程序真正运行之前,没有办法评估其质量

C、有了对目标的一般描述就足以开始写程序了,我们以后可以再补充细节

D、项目需求总是在不断变化,但这些变化能够很容易地满足,因为软件是灵活的

16、(软件工程)系统中模块的. 不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块

A、可分解性 B、保护性 C、可理解性 D、连续性

17、(软件工程)黑盒测试也称为功能测试,

黑盒测试不能发现

A、终止性错误 B、输入是否正确接收

C、界面是否有错误 D、是否存在冗余代码

18、(软件工程)下列选项中, 不是结构化程序设计的基本结构。

A、顺序 B、选择 C、循环 D、转移

19、(数据库)为了防止合法用户使用数据库时向数据库添加不合语义的数据,应该采取

A、完整性控制 B、安全性控制 C、并发控制 D、访问控制

20、(C语言)以下能正确定义一维数组的选项是

A、int a[5]={0,1,2,3,4,5}; B、char a[]={0,1,2,3,4,5};

C、char a={'A','B','C'}; D、int a[5]=“0123”;

21、(C语言)以下叙述中错误的是

A、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B、数组名代表的是数组所占存储区的首地址,其值不可改变

C、当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

中软Java面试试题D、可以通过赋初值的方式确定数组元素的个数

22、(C语言)假设有如下定义方式int(**ptr);,则以下叙述中正确的是

A、ptr是指向一维数组的指针变量

B、ptr是指向int型数据的指针变量

C、ptr是指向函数的指针的指针,该函数返回一个int型数据

D、ptr是一个函数名,该函数的返回值是指向int型数据的指针

23、(C语言)在头指针为head且表长大于1的单循环链表中,指针p指向表中英雄模范个结点,若p->next->next=head,则

A、p指向头结点 B、p指向尾结点

C、*p的直接后继是头结点 D、*p的直接后继是尾结点

24、(C语言)数字字符0的ASCII值为48,若有以下程序

main()

{

char a='1',b='2';

printf(“%c,”,b++);

printf(“%d\n”,b-a);

}

程序运行的输出结果是

A、3,2 B、50,2 C、2,2 D、2,50

25、(C语言)有以下程序

#define P 3

void F(int x) {return (P*x*x);}

main()

{printf(“%d\n”,F(3+5);}

程序运行后的输出结果是

A、192 B、29 C、25 D、编译出错

26、(C语言)有以下程序

main()

{

int a=1,b;

for(b=1;b<=10;b++)

{

if(a>=8)break;

if(a%2==1) {a+=5;continue;}

a-=3;

篇4:java线程面试试题

一、线程的四种状态

1. 新状态:线程已被创建但尚未执行(start() 尚未被调用)。

2. 可执行状态:线程可以执行,虽然不一定正在执行。CPU 时间随时可能被分配给该线程,从而使得它执行。

3. 死亡状态:正常情况下 run() 返回使得线程死亡。调用 stop()或 destroy() 亦有同样效果,但是不被推荐,前者会产生异常,后者是强制终止,不会释放锁。

4. 阻塞状态:线程不会被分配 CPU 时间,无法执行。

二、线程的优先级

线程的优先级代表该线程的重要程度,当有多个线程同时处于可执行状态并等待获得 CPU 时间时,线程调度系统根据各个线程的优先级来决定给谁分配 CPU 时间,优先级高的线程有更大的机会获得 CPU 时间,优先级低的线程也不是没有机会,只是机会要小一些罢了。

你可以调用 Thread 类的方法 getPriority() 和 setPriority()来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是5(NORM_PRIORITY)。

C. java

D. css

10、在CSS样式中以下哪些选项属于选择符的分类()

A. HTML选择符

B. Class选择符

C. #选择符

D. ID选择符

11、下面不是java关键字的是

A:sizeof B:throws C:this D:cast

12、下列不继承Collection接口的选项多选 ( )

A:HashMap B: ArrayList C:Set D:HashTable E:LinkedList

13、String的描述错误的是

A:大量字符串的拼接可以直接使用String

B:String为final,即不可更改的

C:JVM中有字符串池,相同的常量字符串内存中只有1份

D:StringBuffer,声明的时候最好加上大小即new StringBuffer(1024)

14、关于final的使用,错误的描述为:( )

A final用在try{} catch{}后,用于强制执行

B final修饰的变量可以在声明时不进行初始化

C final修饰的方法不可以被重写

D final修饰的类不可以被继承

15、下面关于java流的`说法错误的是

A:Reader Writer是读写字节流的相关接口

B: 文件流需要显示关闭

C: DataInput是读写java基本类型的接口

D:当读写大文件时可以使用BufferedOutputStream,BufferedInputStream

二、简答题

1.Java中结构化程序设计有哪三种基本流程,分别对应那些语句?

2.Java中如何定义和使用接口?

HTML与JS的执行顺序:

A:顺序执行

B:先执行HTML

C:先执行JS

D:同时执行

3. 简述Spring配置 Bean的Scope?

4. 什么是IOC和AOP?采用IOC的好处?一般在什么情况下使用AOP?

5. 简述你所了解的设计模式和应用场景?

6. 请分别用传统HTML和Ext的事件处理机制处理下面button的onclick事件?

7. window.setTimeOut和 window.setInterval()的区别?

四、编程题(编写的代码最好添加适当的说明,避免阅卷人员误判)

1、请使用Java语言定义一个具备栈功能的类,实现以下接口:

1. public interface StackInterface{

2. void push(Object value);

3. Object pop();

4. boolean isEmpty();

5. }

public TreeNode right;

}

篇8:java面试笔试题 (WEB)

1. jsp有哪些内置对象?作用分别是什么?

一共有9个内置对象

pageContext javax.servlet.jsp.pageContext

request javax.servlet.http.HttpServletRequest

response javax.servlet.http.HttpServletResponse

session javax.servlet.http.HttpSession

application javax.servlet.ServletContext àthis.getServletContext()

config javax.serlvet.ServletConfig

exception java.lang.Throwable

page java.lang.Object

out javax.servlet.jsp.JspWriter

作用:

1、pageContext 表示页容器 àEL表达式、标签 、上传

2、request 服务器端取得客户端的信息:头信息 、Cookie 、请求参数 ,最大用处在MVC设计模式上

3、response 服务器端回应客户端信息:Cookie、重定向

4、session 表示每一个用户,用于登录验证上

5、application 表示整个服务器

6、config 取得初始化参数,初始化参数在web.xml文件中配置

7、exception 表示的是错误页的处理操作

8、page 如同this一样,代表整个jsp页面自身

9、out 输出 ,但是尽量使用表达式输出

2. jsp有哪些动作?作用分别是什么?

jsp共有以下6中基本动作

:在页面被请求的时候包含一个文件

:寻找或者实例化一个javaBean

:设置javaBean的属性,通过反射调用方法

:取得某个javaBean的属性

:把请求转到一个新的页面

:插入Applet程序的代码

:用于传参数,和forward一起使用

3. jsp 中动态INCLUDE和静态INCLUDE 的区别?

动态INCLUDE 用动作实现:

如果包含的是动态页,则先编译之后再进行处理,它总是会检查所包含文件中的变化,并且可以带参数

静态INCLUDE用<%@ include %>伪码实现:

<%@ include file=”include.jsp” %>直接将内容先包含后处理,它不会检查所包含的文件的变化,适用于包含静态页面

4. 两种跳转方式分别是什么?有什么区别?

客户端跳转:跳转之后地址栏不改变,执行完页面后不会转向还会回来,相当于函数调用,并且可以传递request属性,实际上是对RequestDispatcher接口的封装

服务器端跳转:response.sendRedirect(),跳转之后地址栏改变,完全转向新的页面,不会再回来,相当于go to 语句。

5. 请总结一下WEB开发中的会话跟踪实现

1、Session也是最常用的一种

2、Cookie

3、地址重写

4、隐藏域

6. 在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选哪些字符

(< >& “ ‘ 空格 乘号 除号 .........)

因为以上的标记都属于HTML范畴的内容,所以必须进行转义操作

显示效果 符号说明 实体名表示 实体编号表示

空格符

< 小于号 < <

>大于号 >>

& 符号& & &

“ 双引号 “ ”

C 版权符号 &169;

R 注册商标

× 乘号 × ×

÷ 除号 ÷ ÷

‘ 单引号

7. 说明Jsp中errorpage的作用域,应用范围

表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了异常,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误页的处理,但是简单的错误页基本上都是在Jsp的开发中使用的。要想进行错误页的设置,需要满足以下两个条件:

1. 在错误能够处理的页上的page指令中,增加:isErrorpage=”true”,表示可以处理错误

2. 在每一个页面指定errorpage,执行isErrorpage为true的页面。

如果现在希望能够配置一种全局的错误处理的话,则可以在Web.xml文件中进行配置

404

/errors.jsp

java.lang.NullpointerException

/errors.jsp

一旦出现错误之后,会自动跳转到指定的页面,但是这样的跳转,永远都是属于服务器端跳转

篇9:java企业的面试笔试题

1.IP地址的编码分为哪俩部分?

IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。

2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。

循环链表,用取余操作做

3.不能做switch的参数类型是:

switch的参数不能为实型。

4. static有什么用途?(请至少说明两种)

a.限制变量的作用域

b.设置变量的存储域

7. 引用与指针有什么区别?

a 引用必须被初始化,指针不必。

b 引用初始化以后不能被改变,指针可以改变所指的对象。

c 不存在指向空值的引用,但是存在指向空值的指针。

8. 描述实时系统的基本特性

在特定时间内完成特定的任务,实时性与可靠性

9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

全局变量储存在静态数据库,局部变量在堆栈

10. 什么是平衡二叉树?

左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1

11. 堆栈溢出一般是由什么原因导致的?

没有回收垃圾资源

12. 什么函数不能声明为虚函数?

constructor

13. 冒泡排序算法的时间复杂度是什么?

O(n^2)

14. 写出float x 与“零值”比较的if语句。

if(x>0.000001&&x<-0.000001)

16. Internet采用哪种网络协议?该协议的主要层次结构?

tcp/ip 应用层/传输层/网络层/数据链路层/物理层

17. Internet物理地址和IP地址转换采用什么协议?

ARP (Address Resolution Protocol)(地址解析協議)

篇10:java企业的面试笔试题

1.Java集合框架是什么?说出一些集合框架的优点?

每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。

随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。

集合框架的部分优点如下:

(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

(3)通过使用JDK附带的集合类,可以降低代码维护成本。

(4)复用性和可操作性。

2.集合框架中的泛型有什么优点?

Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。

泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。

3.Java集合框架的基础接口有哪些?

Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。

Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。

List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。

Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。

一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。

4.为何Collection不从Cloneable和Serializable接口继承?

Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。

例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。

当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。

在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。

5.为何Map接口不继承Collection接口?

尽管Map接口和它的实现也是集合框架的`一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。

如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。

6.Iterator是什么?

Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。

7.Enumeration和Iterator接口的区别?

Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。

迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。

8.为何没有像Iterator.add()这样的方法,向集合中添加元素?

语义不明,已知的是,Iterator的协议不能确保迭代的次序。然而要注意,ListIterator没有提供一个add操作,它要确保迭代的顺序。

9.为何迭代器没有一个方法可以直接获取下一个元素,而不需要移动游标?

它可以在当前Iterator的顶层实现,但是它用得很少,如果将它加到接口中,每个继承都要去实现它,这没有意义。

10.Iterater和ListIterator之间有什么区别?

(1)我们可以使用Iterator来遍历Set和List集合,而ListIterator只能遍历List。

(2)Iterator只可以向前遍历,而LIstIterator可以双向遍历。

(3)ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。

篇11:面试中常见的面试试题

一、面试问题:你喜欢什么样的上司?

回答:

忌:“谁做我的上司都喜欢。”或“不知道”

应:“我本人比较喜欢有真才实学,公正严明的上司。”

点评:大多数应聘者对上司的背景毫不知情,因此,用一些普通适用的公认标准为好

二、面试问题:为何辞去原来的工作?

回答:工作地点离家较远,路上花费时间多,发生交通问题时,影响工作。贵公司的工作岗位更适合自己专业(个性)的发展。

点评:为了避免应聘者以相同的原因辞职,公司尽量能做到对这方面原因的了解,有助于创造一个良好的工作环境和人际氛围。因此,应聘者最好说出对方能信服的理由。如果自己确有缺点,要说出“将尽量克服自己缺点”,作为有信心改变这类情况的答复。

三、面试问题:能否介绍一下你的社会活动能力

回答:

1.我的外交能力较强,在校学生会我担任外联部长。

2.我在校尽可能多地参加一些能发挥自己特长的活动,使社会活动能力得到了一定的提高。

3.我善于组织同学开展活动,如组织演讲赛,辩论赛,知识抢答赛等等,而且活动也较成功,从中可以证实我有一定的社会活动能力。

4.在校期间,我曾担任过班长职务。为了把班级基础文明建设搞好,组织全班同学进行校规校纪学习,集思广益,制定了“班规十条”,并要求全班同学严格遵守班级纪律。经过大家的努力,我班评为校先进班级,全班同学学习努力,团结友爱。

点评:

1.过于简单,草率,效果不好。

2.比较谦虚地说明自己有一定的能力,但言之无物,有些空洞。

3.如实的介绍自己曾组织过活动,但不具体。

4.通过例举事例,来说明自己的能力,有理有据,效果最佳,使主试者了解其素质和能力。

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。