《Java方向常见面试题.docx》由会员分享,可在线阅读,更多相关《Java方向常见面试题.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、方向常见面试题1中动态及静态的区别? 动态用动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态用伪码实现,定不会检查所含文件的变化,适用于包含静态页面2. 多线程有几种实现方法,都是什么同步有几种实现方法,都是什么答:多线程有两种实现方法,分别是继承类及实现接口同步的实现方面有两种,分别是及创立新执行线程有两种方法。一种方法是将类声明为 的子类。该子类应重写 类的 方法。接下来可以分配并启动该子类的实例; ; ( ) = ; () . p = (143); ();创立线程的另一种方法是声明实现 接口的类。该类然后实现 方法。然后可以分配该类的实例,在创立 时作为一
2、个参数来传递并启动。 ; ( ) = ; () . p = (143); (p)();3. 有那些根本数据类型是不是根本数据类型,他们有何区别。不是根本数据类型,是一个对象。根本数据类型不是对象,是一个内存值,如。4. 写一个方法,实现字符串的反转,如:输入,输出 = (); ()();5. 编码转换,怎样实现将2312编码的字符串转换为8859-1编码的字符串。 (“中(“2312,8859-1);6和的区别?:表示恢复不是不可能但很困难的情况下的严重错误,比方说内存溢出,不可能指望程序能处理这种错误;:表示一种设计或实现问题。它表示程序运行正常,从来不发生的情况。7.是否可以继承类不可以。
3、是类。8.给我一个最常见的运行时异常 答:9. 接口是否可继承接口, 抽象类是否可实现() 接口, 抽象类是否可继承具体类答:接口可以继承接口。抽象类可以实现接口。抽象类可以继承具体类( )。10. 构造器是否可被可以,通过子类覆盖。11的方法是否可以同时是,是否可以同时是,是否可以同时是答:不可以及合用不可以及合用不可以及合用12有没有?有,但没有用13. 数组有没有()这个方法?有没有()这个方法答:数组有这个属性,没有()方法有()这个方法,没有属性15. 和的区别是字符串常量;它们的值在创立之后不能改变。是线程平安的可变字符序列。可将字符串缓冲区平安地用于多个线程。可以在必要时对这些方
4、法进展同步。 上的主要操作是 和 方法,可重载这些方法,以承受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。 方法始终将这些字符添加到缓冲区的末端;而 方法那么在指定的点添加字符。一个可变的字符序列。此类提供一个及 兼容的 ,但不保证同步。该类被设计用作 的一个简易替换,用在字符串缓冲区被单个线程使用的时候这种情况很普遍。如果可能,建议优先采用该类,因为在大多数实现中,它比 要快。在 上的主要操作是 和 方法,可重载这些方法,以承受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串生成
5、器中。 方法始终将这些字符添加到生成器的末端;而 方法那么在指定的点添加字符。将 的实例用于多个线程是不平安的。如果需要这样的同步,那么建议使用 。 a = a假设a指向地址0x0001,a = b重新负值后a指向地址0x0002,但0x0001地址中保存的a依旧存在,但已经不再是a所指向的。从外表上看类型的对象改变了值,但事实是他不能改变值,只能改变指向的地址那么不同,直接改变指向的地址中保存的值还有 s1 = (a); s2 = (a);s1(s2)为什么是 s1 = (a); s2 = (a);s1(s2)为什么是类中没有重新定义这个方法,因此这个方法就来自类,而类中的方法是用来比拟地址
6、的,所以等于.类中重新定义了这个方法,而且比拟的是值,而不是地址。所以会是。16之间的区别?修饰符关键字如果一个类被声明为,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 的,又被声明为的。将变量或方法声明为,可以保证它们在使用中不被改变。被声明为的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为的方法也同样只能使用,不能重载 再异常处理时提供 块来执行任何去除操作。如果抛出一个异常,那么相匹配的 子句就会执行,然后控制就会进入 块如果有的话。 方法名。 技术允许使用 () 方法在垃圾收集器将对象从内存中去除出去之前做必要的清理工作。这个方法是
7、由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 类中定义的,因此所有的类都继承了它。子类覆盖 () 方法以整理系统资源或者执行其他清理工作。() 方法是在垃圾收集器删除对象之前对这个对象调用的。17. 和的区别重定向:这个方式的重定向是通过效劳器收到请求后发送一个状态头给客户,客户再请求一次而实现的,因此它的效率可能要低一些,而且上一页面的资料和状态将不会被重定向到新的页面。转发:这种重定向其实是效劳器控制权的转向,客户端发来的请求将交由新的页面进展处理,而且使用这种重定向,可以将一个页面的资料和状态传到被重定向的页面。而且客户端浏览器的地址栏也不会显示转向后的地址。重定向的速
8、度比转发要慢,因为浏览器得发出一个新的请求。18和以及之间的关系是什么?是客户端的程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。 是效劳器端的程序,用于实现效劳器功能的扩大,响应客户端请求。一般用在中的控制器中,其作用是很强大的,但是如果将它用在表现层将会非常不方便。 那么是对简化,用于方便输出动态页面,实质上就是。一般用作中的视图。19及的区别?答:模式,指及 。特点是平安、快捷、准确。模式,指及。具有节省投资、跨地域广的优点。速度上没什么区别,领域上,更适合于一些远程数据库的管理,但受限于浏览器功能,对于要求效率、防止繁琐来说,还是不错的。 及 区别: 答:是建立
9、在局域网的根底上的是建立在广域网的根底上的. 1硬件环境不同: 答: 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门效劳器提供连接和数据交换效劳. 建立在广域网之上的, 不必是专门的网络硬件环境,例及 上网, 租用设备. 信息自己管理. 有比更强的适应范围, 一般只要有操作系统和浏览器就行 2对平安要求不同 答: 一般面向相对固定的用户群, 对信息平安的控制能力很强. 一般高度机密的信息系统采用 构造适宜. 可以通过发布局部可公开信息. 建立在广域网之上, 对平安的控制能力相对弱, 面向是不可知的用户群. 3对程序架构不同 答: 程序可以更加注重流程, 可以对权限多层次校
10、验, 对系统运行速度可以较少考虑. 对平安以及访问速度的多重的考虑, 建立在需要更加优化的根底之上. 比有更高的要求 构造的程序架构是开展的趋势, 从的系列的 2000 2000等, 全面支持网络的构件搭建的系统. 和推的 构件技术等,使 更加成熟. 4软件重用不同 答: 程序可以不可防止的整体性考虑, 构件的重用性不如在要求下的构件的重用性好. 对的多重构造,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 5系统维护不同 答:系统维护是软件生存周期中,开销大, 重要 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可
11、能是再做一个全新的系统 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6处理问题不同 答: 程序可以处理用户面固定, 并且在一样区域, 平安要求高需求, 及操作系统相关. 应该都是一样的系统 建立在广域网上, 面向不同的用户群, 分散地域, 这是无法作到的. 及操作系统平台关系最小. 7用户接口不同 答: 多是建立的平台上,表现方法有限,对程序员普遍要求较高 建立在浏览器上, 有更加丰富和生动的表现方式及用户交流. 并且大局部难度减低,减低开发本钱. 8信息流不同 答: 程序一般是典型的中央集权的机械式处理, 交互性相对低 信
12、息流向可变化, 等信息、流向的变化, 更象交易中心20. &和的区别答:&是位运算符。是布尔逻辑运算符。21. 和的区别答:都属于接口的类,实现了将惟一键映射到特定的值上。 类没有分类或者排序。它允许一个 键和多个 值。 类似于 ,但是不允许 键和 值。它也比 慢,因为它是同步的。 22. 和 的区别答: 是个下的类,它包含有各种有关集合操作的静态方法。 是个下的接口,它是各种集合构造的父接口。23. () 和 () 有什么区别 搞线程的最爱 答:()方法是使线程停顿一段时间的方法。在 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除
13、非(a)“醒来的线程具有更高的优先级;(b)正在运行的线程因为其它原因而阻塞()是线程交互时,如果线程对一个同步对象x 发出一个()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。 24. 和的区别。的方法是否可以改变返回值的类型 答:方法的重写和重载是多态性的不同表现。重写是父类及子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果在子类中定义某方法及其父类有一样的名称和参数,我们说该方法被重写 ()。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型
14、,那么称为方法的重载()。的方法是可以改变返回值的类型。 25. , , 是否继承自接口 ,是 不是 26. 接口是否可继承接口 抽象类是否可实现()接口 抽象类是否可继承实体类( ) 接口可以继承接口。抽象类可以实现()接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。 27. 启动一个线程是用()还是() 启动一个线程是调用()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由调度并执行。这并不意味着线程就会立即运行。()方法可以产生必须退出的标志来停顿一个线程。28. 和对象的区别小结封装,继承,多态1的对象可以分配在(堆中)和(堆栈中),而的对象只能在;因此
15、,对象都是全局的,当没有引用时,由负责回收,生命周期不明确,所以没有析构函数,资源管理要靠 ; 2,中的对象在调用方法退出后会调用析构函数,中的对象时自动调用析构函数,所以会有 ; 3中类的非静态方法都是虚拟的,而必须明确指出哪些方法是; 4没有指针,对象是全局的,分配在中,创立和赋值都很简单;的多态要靠指针,虚拟函数表();因此引申出了拷贝构造函数,赋值构造函数,当然这和也有关系。5支持多重继承,这是的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很。29. 共有以下9种根本内置组件可及的6种内部组件相对应: 用户端请求,此请求会包含
16、来自请求的参数 网页传回用户端的回应 网页的属性是在这里管理 及请求有关的会话期 正在执行的内容 用来传送回应的输出 的构架部件 网页本身 针对错误网页,未捕捉的例外30. 是什么 为什么要有 (根底)是垃圾收集器。 程序员不用担忧内存管理,因为垃圾收集器会自动进展管理。31. 文档定义有几种形式?它们之间有何本质区别?解析文档有哪几种方式? 此题三个答题点:a:两种形式b:本质区别本身是的,可以被解析器解析(这也是从上开展的根本目的)c:两种主要方式.32. 简述和的异同?主要一样点:能完成所实现的所有功能.(其它不重要)主要不同点:有比更准确的线程语义和更好的性能(在一样点中答复此点也行)
17、会自动释放锁.而一定要求程序员手工释放.并且必须在从句中释放,如果没有答出在中释放不得分.就如没有在中关闭一样.连最根本的资源释放都做不好,还谈什么多线程编程.33. 标准规定中制止的操作有哪些? 共有8点,答出以下3-4点得总分值.1.不能操作线程和线程(线程指非线程对象的方法如等)2.不能操作3.不能实现效劳器功能4.不能对静态属生存取.5.不能使用操作直接存取文件系统6.不能加载本地库.7.不能将作为变量和返回.8.不能循环调用.34中的内置对象及方法表示对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取, , 和数据的有用的方法。 表示对象,并提供了几个用于设置送回 浏览器的响
18、应的方法如,头信息等 对象是的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 表示一个对象。它是用于方便存取各种范围的名字空间、相关的对象的,并且包装了通用的相关功能的方法。 表示一个请求的对象。可以存贮用户的状态信息 表示一个对象。这有助于查找有关引擎和环境的信息 表示一个对象。该对象用于存取实例的初始化参数。 表示从该页面产生的一个实例35.说出四种会话技术,并作出相应的描述 效劳器在一个应答首部传递给浏览器的名称/值对。浏览器保存的时间由的过期时间属性来指定。当浏览器向某个效劳器发送一个请求时,它会检查其保存的,并在请求首部中包含从同一台效劳器上接收到的所有。重写把会话编码在
19、中。这样,即使浏览器不支持,也能够实现会话跟踪。对于复写,效劳器从请求的中提取出会话,并把该请求及相应的会话关联起来,然后在访问会话数据的时候,页面所进展的处理方式就和使用跟踪会话时所使用的方式完全一样。所以的实现要依靠或复写技术。如果想为不支持的浏览器提供会话跟踪,就必须使用行为对应用程序中的所有进展复写。这意味着应用程序中的所有页面至少是那些带有对其他页面引用的页面都必须是页面,这样页面引用才能以动态方式进展编码,如果遗漏了一个,那么效劳就会失去对会话的跟踪。在浏览器和效劳器之间不直接传送所有的状态信息,而只是传递表示符 。浏览器发送,效劳器跟踪及该会话相关联的所有信息。传递可以通过和复写
20、技术,大局部容器都支持这两种技术。效劳器无法分辨用户是否关闭了浏览器,因此关闭浏览器意味着及先前的会话关联的所有会话数据都保存在效劳器上,直到会话超时,效劳器销毁会话对像。隐藏域隐藏表单域是将会话添加到的隐藏表单中(类型为的)。36. 中的异常处理机制的简单原理和应用。当程序违反了的语义规那么时,虚拟机就会将发生的错误表示为一个异常。违反语义规那么包括2种情况。一种是类库内置的语义检查。例如数组下标越界,会引发;访问的对象时会引发。另一种情况就是允许程序员扩展这种语义检查,程序员可以创立自己的异常,并自由选择在何时用关键字引发异常。所有的异常都是的子类。37.到目前为止,你了解的设计模式有那些
21、并谈谈你的看法38. 静态变量和实例变量的区别? i = 10; 常量; A a; =10可变39中实现多态的机制是什么?方法的重写和重载是多态性的不同表现。重写是父类及子类之间多态性的一种表现,重载是一个类中多态性的一种表现。40. 什么是序列化,如何实现序列化?序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进展流化。可以对流化后的对象进展读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进展读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现接口,该接口没有需要实现的方法, 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:)来构造一个
22、(对象流)对象,接着,使用对象的( )方法就可以将参数为的对象写出(即保存其状态),要恢复的话那么用输入流。41.名词解释, , ,进程, 。是一个企业级消息系统。的功能大致上分为两块,叫做消息制造和消息消耗。 。 是事务效劳的 J2 解决方案。本质上,它是描述事务接口比方 接口,开发人员直接使用该接口或者通过 J2 容器使用该接口来确保业务逻辑能够可靠地运行的 J2 模型的一局部。 具有的三个主要的接口分别是 接口、 接口和 接口。模型明确的事务效劳的好处是对于每个单独的事务总是维持四个 特性。()。 命名和目录接口。 在 J2 中的角色就是“交换机 J2 组件在运行时间接地查找其他组件、资
23、源或效劳的通用机制。在多数情况下,提供 供给者的容器可以充当有限的数据存储,这样管理员就可以设置应用程序的执行属性,并让其他应用程序引用这些属性 管理扩展 ,也可以用作这个目的。 在 J2 应用程序中的主要角色就是提供间接层,这样组件就可以发现所需要的资源,而不用了解这些间接性。 运行时环境。由想要重新分布 的终端用户和开发者使用。 包括 虚拟机、 核心类及支持文件。 虚拟机。 运行时环境负责解释 字节码的局部。 国家超级计算机应用中心。进程是指一段包含一个或多个线程的虚拟地址空间统一资源定位器。是一种标准,即对 中的任一块数据用一段文字来加以引用。远程过程调用。是指将网络信息包发送给某个远程
24、主机,它执行起来类似一般的过程调用(或方法调用。42 和 有什么区别 提供两种不同的类型:引用类型和原始类型或内置类型。是的原始数据类型,是为提供的封装类。为每个原始类型提供了封装类。原始类型封装类引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据构造存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 ,而原始类型实例变量的缺省值及它们的类型有关。43. 有哪些动作作用分别是什么 答共有以下6种根本动作 :在页面被请求的时候引入一个文件。 :寻找或者实例化一
25、个。 :设置的属性。 :输出某个的属性。 :把请求转到一个新的页面。 :根据浏览器类型为插件生成或标记44. 应用效劳器及 的区别?应用效劳器:、; :、 45. 排序都有哪几种方法?请列举。用实现一个快速排序。排序的方法有:插入排序直接插入排序、希尔排序,交换排序冒泡排序、快速排序,选择排序直接选择排序、堆排序,归并排序,分配排序箱排序、基数排序快速排序的伪代码。/ /使用快速排序方法对a 0 1 排序,从a 0 1 中选择一个元素作为m i d d l e,该元素为支点,把余下的元素分割为两段 和r i g h t,使得l e f t中的元素都小于等于支点,而 中的元素都大于等于支点,递归
26、地使用快速排序方法对 进展排序,递归地使用快速排序方法对 进展排序,所得结果为 + + 。46. 常用的设计模式?说明工厂模式。 中的23种设计模式:工厂模式,建造模式, 工厂方法模式,原始模型模式,单例模式, 门面模式,适配器模式, 桥梁模式, 合成模式,装饰模式, 享元模式, 代理模式,命令模式, 解释器模式, 访问者模式,迭代子模式, 调停者模式, 备忘录模式,观察者模式,状态模式,策略模式, 模板方法模式, 责任链模式。工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了一样的方法,但是
27、这些方法针对不同的数据进展了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。47. J2是技术还是平台还是框架?J2本身是一个标准,一个为企业分布式应用的开发提供的标准平台。J2也是一个框架,包括、等技术。48和的区别 是可复用的组件,对 并没有严格的标准,理论上讲,任何一个类都可以是一个。但通常情况下,由于 是被容器所创立如)的,所以 应具有一个无参的构造器,另外,通常 还要实现接口用于实现的持久性。 实际上相当于
28、微软模型中的本地进程内组件,它是不能被跨进程访问的。 相当于,即分布式组件。它是基于的远程方法调用技术的,所以可以被远程访问跨进程、跨计算机。但必须被布署在诸如、这样的容器中,客户从不直接访问真正的组件,而是通过其容器访问。容器是组件的代理,组件由容器所创立和管理。客户通过容器来访问真正的组件。49. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递 是值传递。 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
29、50. 是否可以从一个方法内部发出对非方法的调用?不可以,如果其中包含对象的();不能保证对象初始化.51. J2是什么? 22是公司提出的多层(),分布式(),基于组件()的企业级应用模型( ).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次()中。所属层次包括客户层( )组件层和组件层和组件,企业信息系统()层。52. 名词解释。开发包的介绍。、的解释。、解释。 描述语言即简单对象访问协议( ),它是用于交换编码信息的轻量级协议。 的目的是为电子商务建立标准;是一套基于的、分布式的、为 提供的、信息注册中心的实现标准标准,同时也包含一组使
30、企业能将自身提供的 注册,以使别的企业能够发现的访问协议的实现标准。53. 谈谈你对 模式的理解?答:号称是完全按照的思路来进展设计的。在设计开场前,的希望能够到达的目标就包括: 模型驱动的编程方式。 提供一套单一的,但是能够支持多种视感,为用户提供不同的界面。 严格的说,中的实际上是的一个变体:。 中只显示的定义了接口,而在一个对象中集成了视图和控制器的局部机制。和比拟松散的穿插组合在一起,而更多的控制逻辑是在事件监听者局部引入的。 但是,这并没有阻碍在中表达的精华。事实上,在的开发初期,确实是按照标准的模式来设计的,但是很快的问题就出现了:和实际上是严密耦合的,很难作出一个能够适应不同的一
31、般化的来,而且,一般也没有很大的必要。54. 的应用(如架构)是采用 技术,开发应用程序的开放源码的。 采用能开发出基于()设计模式的应用构架。 有如下的主要功能:一.包含一个 ,能将用户的请求发送到相应的对象。二自由库,并且在 中提供关联支持,帮助开发员创立交互式表单应用。三.提供了一系列实用对象:处理、通过 自动处理属性、国际化的提示和消息。55. 说出数据连接池的工作机制是什么J2效劳器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有
32、配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接56. 垃圾回收的优点和原理。并考虑2种回收机制。语言中一个显著的特点就是引入了垃圾回收机制,使程序员最头疼的内存管理的问题迎刃而解,它使得程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,中的对象不再有作用域的概念,只有对象的引用才有作用域。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进展清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进展垃圾回收
33、。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。57. 请说出你所知道的线程同步的方法。():使一个线程处于等待状态,并且释放所持有的对象的。():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉异常。():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由确定唤醒哪个线程,而且不是按优先级。():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争58. 你所知道的集合类都有哪些?主要方法?最常用的集合类是 和 。 的具体实现包括 和 ,它们是可变大小的列表,比拟适合构建、存储和操作任何
34、类型对象的元素列表。 适用于按数值索引访问元素的情形。 提供了一个更通用的元素存储方法。 集合类用于存储元素对称作键和值,其中每个键映射到一个值59. 线程的根本概念、线程的根本状态以及状态之间的关系线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。中的线程有四种状态分别是:运行、就绪、挂起、完毕。60. 描述一下加载文件的原理机制中类的装载是由和它的子类来实现的 是一个重要的运行时系统组件。它负责在运行时查找和装入类文件的类。61. 是否能作用在上,是否能作用在上,是否能作用在上1中,1是一个整数表达式。因此传递给 和 语句的参数应该是 、 、
35、 或者 。 都不能作用于。62. 应用效劳器有那些? , ,9i ,63. 包括说出他们的生命周期,及如何管理事务的?: 的生命周期是由容器决定的,当客户机发出请求要建立一个的实例时,容器不一定要创立一个新的的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个 时,容器必须立即在效劳器中创立一个新的实例,并关联到客户机上,以后此客户机调用 的方法时容器会把调用分派到及此客户机相关联的实例。: 能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在, 就一直存活。而不是按照应用程序或者效劳进程来说的。即使容器崩溃了, 也是存活的。 生命周期能够被容器或者 自己
36、管理。通过以下技术管理实务:对象管理组织的对象实务效劳, 的 、 ,开发组的接口。64. 启动一个线程是用()还是()启动一个线程是调用()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由调度并执行。这并不意味着线程就会立即运行。()方法可以产生必须退出的标志来停顿一个线程。65. 及 的区别? 是可复用的组件,对 并没有严格的标准,理论上讲,任何一个类都可以是一个。但通常情况下,由于 是被容器所创立如的,所以 应具有一个无参的构造器,另外,通常 还要实现接口用于实现的持久性。 实际上相当于微软模型中的本地进程内组件,它是不能被跨进程访问的。 相当于,即分布式组件。它是基于的远程
37、方法调用技术的,所以可以被远程访问跨进程、跨计算机。但必须被布署在诸如、这样的容器中,客户从不直接访问真正的组件,而是通过其容器访问。容器是组件的代理,组件由容器所创立和管理。客户通过容器来访问真正的组件。66. 和有什么区别。栈()是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进展处理。堆()是栈的一个组成元素67. 和有什么区别声明方法的存在而不去实现它的类被叫做抽象类 ,它用于要创立一个表达某些根本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创立 类的实例。然而可以创立一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造
38、函数或抽象静态方法。 类的子类为它们父类中的所有抽象方法提供实现,否那么它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义 成员变量。接口的实现及子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义即将程序体给予所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口
39、类型转换, 运算符可以用来决定某对象的类是否实现了接口。68. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进展同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。69有哪些动作作用分别是什么 答共有以下6种根本动作 :在页面被请求的时候引入一个文件。 :寻找或者实例化一个。 :设置的属性。 :输出某个的属性。 :把请求转到一个新的页面。
40、 :根据浏览器类型为插件生成或标记 70两种跳转方式分别是什么有什么区别 答:有两种,分别为: 前者页面不会转向所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于 语句。 71说一说的生命周期 答有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及效劳完毕。这个生存期由接口的和方法表达。72 中() 及()的区别? 答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者那么是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转
41、后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比方,需要跳转到一个其它效劳器上的资源,那么必须使用()方法。73的作用为什么要用 答:调用该访问返回一个以字符串指定类名的类的对象。 74是什么 答是对象持久化的新的标准,为 的简称,也是一个用于存取某种数据仓库中的对象的标准化。提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码如 的使用。这些繁琐的例行工作已经转移到产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,很灵活,因为它可以在任何数据底层上运行。只是面向关系数据库
42、)更通用,提供到任何数据底层的存储功能,比方关系数据库、文件、以及对象数据库等等,使得应用可移植性更强。 75有哪些解析技术区别是什么 答:有等 :处理大型文件时其性能下降的非常厉害。这个问题是由的树构造所造成的,这种构造占用的内存较多,而且必须在解析文件之前把整个文档装入内存,适合对的随机访问:不现于是事件驱动型的解析方式。它顺序读取文件,不需要一次全部装载整个文件。当遇到像文件开头,文档完毕,或者标签开头及标签完毕时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理文件,适合对的顺序访问 () 76你在工程中用到了技术的哪些方面如何实现的 答:用到了数据存贮,信息配置两方面。在做
43、数据交换平台时,将不能数据源的数据组装成文件,然后将文件压缩打包加密后通过网络传送给接收者,接收解密及解压缩后再同文件中复原相关信息进展处理。在做软件配置时,利用可以很方便的进展,软件的各种配置参数都存贮在文件中。 772.0有哪些内容分别用在什么场合 2.0和1.1的区别 答:标准内容包括提供者,应用程序装配者,容器,配置工具,效劳提供者,系统管理员。这里面,容器是之所以能够运行的核心。容器管理着的创立,撤消,激活,去活,及数据库的连接等等重要的核心工作。. 78的各个局部都有那些技术来实现如何实现 答是的简写。 代表的是应用的业务逻辑通过,组件实现, 是应用的表示面由页面产生, 是提供给用
44、的处理过程控制一般是一个,通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进展交互和重用。79开发中都用到了那些设计模式用在什么场合 答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复一样的工作。主要用到了的设计模式。用来开发或者J2的相关应用。简单工厂模式等。 80.接口和内部类、抽象类的特征答:接口:在一个类里,只有申明没有实现。内部类:是在一个类的内部定义的一个类;抽象类:是以 定义的,里面至少有一个抽象方法。81. 的常用的命令答:, , , 82. 程序怎么优化?答:提高的性能,一般考虑如下的四个主要方面: 程序设计的方法和模式 2 布署的环境。 3 应用程序的实现 (4) 硬件和操作系统 为了提高程序的性能,需要遵循如下的六个步骤。 a) 明确对性能的具体要求 b) 了解当前程序的性能 c) 找到程序的性能瓶颈 d) 采取适当的措施来提高性能 e) 只进展某一方面的修改来提高性能 f) 返回到步骤c,继续作类似的工作,一直到达要求的性能为止。83. 如何优化数据库,如何提高数据库的性能?答:优化数据库主要是优化查询语句,通过高性