Java问题面试2(全面)(2)

2019-08-03 14:42

特定的方法可以改变字符串序列的长度和内容,并且对于多线程操作是安全的。在字符的连接操作上提供了性能和效率都优于String类的”+”的append()方法,因此如果需要大量频繁地进行字符连接操作时,优先采用StringBuffer类的append()方法。

StringBuilder类是StringBuffer类的一个等价类,该类与StringBuffer类具有相同的方法,且同样代表的是可变长的字符串缓冲区,不同的地方在于StringBuilder类是非线程安全的。但是也正是因为少了很多的同步操作,在效率上会高于StringBuffer类。因此如果不涉及多线程操作,可以优先考虑使用StringBuilder类来提高方法的执行效率。

18、 List、Set、Map是否继承自Collection接口:

在Java体系中,容器类库分为两大类,即Collection(集合)和Map(映像)。Collection中存放的是一组各自独立的对象,而Map中存放的是“键——值”对象。

List和Set都是Collection的子接口,List是一个有序可重复列表,Set是一个无序重复集。

19、 遍历Map和Vector集合: Map:

Iterator迭代器遍历:Map.entrySet().iterator(); XX.hasNext();

新式for循环启遍历:for(String key:Map.keySet());

Vector:

a、 Enumeration枚举器遍历:Enumeration

em=Vector.element();em.hasMoreElement();

b、 for循环遍历:for(int i=0;i

20、 反射机机制及作用:

定义:

反射是指程序可以访问、检测和修改其本身状态或行为的一种能力,在Java环境中,反射机制允许程序在执行时获取某个类的自身的定义信息,例如属性和方法等也可以实现动态创建类的对象、变更属性的内容或执行特定的方法的功能。从而使Java具有动态语言的特性,增强了程序的灵活性和可移植性

反射机制的作用:

Java反射机制主要用于实现以下功能(在运行时时环境中)。 I、在运行时判断任意一个对象所属的类型 II、在运行时构造任意一个类的对象

III、在运行时判断任意一个类所具有的成员变量和方法

IV、在运行时调用任意一个对象的方法,甚至可以调用private方法 Java反射机制API:

实现Java反射机制的API在java.lang.reflect包下,具有以下几点: (1)、Class类:代表一个类 (2)、Field类:代表类的成员变量 (3)、Method类:代表类的方法 (4)、Constructor类:代表类的构造方法

(5)、Array类:提供了动态创建数组及访问数据的元素的静态方法。该类中的所有方法都是静态的。 难点:

反射机制是Java中非常重要的一项功能,应用也非常广泛,在现在流行的Structs、Hibernate、Spring等各种框架都是基于反射机制实现的,首先需要将XML配置文件的配置信息读取,然后利用反射机制创建对象、执行方法等。

21、 如何使用Java调用系统的exe文件

通过Runtime类可以方便调用外部的exe文件。 Runtime rm = new Runtime.getRuntime();

rm.exec(“notepad.exe”);

22、 如何使用Java调用系统的CMD Process rt; try {

rt = Runtime.getRuntime().exec(\); BufferedReader br=new BufferedReader(new InputStreamReader(rt.getInputStream())); while(true){

String s = br.readLine(); if(s==null){ break; }

System.out.println(s); }

br.close(); rt.waitFor();

if(rt.exitValue()==0){

System.out.println(\运行成功!\);

}

} catch (Exception e) {

// TODO Auto-generated catch block e.printStackTrace(); }

23、 使用MD5和SHA算法加密信息:

Java Web程序设计

24、 jsp、java、JavaScript区别:

Jsp是由Sun公司建立一种动态网页技术标准,用于编写动态网站程序。JSP技术以Java语言作为脚本,嵌入到JSP页面中,由服务器负责解释运行。JSP运行环境是JRE和服务器

JAVA程序需要由JRE运行环境才能解释运行,面向对象的语言。 JavaScript由Netscape公司基于Java的语法开发的。一种基于对象的脚本语言。可以在浏览器里直接运行,不需服务器的支持。是基于对象的函数式的语

言,在客户端用于实现表单验证和网页特效功能。 25、 Page、request、session、application区别:

类型不同分别:Object 、HttpServletRequest、HttpSession、ServletContext;

作用范围不同分别:全局作用范围,整个应用程序共享,生命周期为从应用程序启动到停止;会话作用域,当用户首次访问,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期为会话超时或服务器端强制制使会话失效;请求作用域,客户端的一次请求,生命周期为一次请求或使用forward方式执行请求转发;一个页面有效。 26、 forward和redirect区别:

forward和redirect都可以实现页面的跳转,但是跳转时的工作原理不现,使用forward时,浏览器请求URL不会改变,request对象不会被销毁;使用redirect时,浏览器请求的URL会改变,request对象会被销毁并重新创建。在使用request对象在页面传值时,需要使用forward方式,而不能使用redirect方式。

27、 多个JSP页面之间传递信息:

使用URL;使用request对象;使用Session对象;使用application对象 28、 和<%@include%>都可以实现在当前JSP页面中引入另一个

页面,前者主要用于引入动态变化的JSP页面;后者主要用于引入HTML静态页面和共通的JSP源代码。

29、 JavaBean就是一个符合JavaBean规范的JAVA类,可用于封装一些共通

的业务逻辑,从而实现重复利用。特点: 放在一个包中

JavaBean类必须要提供一个无参的构造方法。在JSP中使用创建JavaBean对象时会使用无参的构造方法。 JavaBean类不要定义公共类型的属性,避免外界直接访问实例变量,变量名称首字母必须小写

JavaBean类通过gettero/setter()方法来读写属性的值,并且将对应的属性首字母改成大写。注意使用setter()时value属性的类型要匹配。

30、 Cookie:

Cookie是指存储在客户浏览器目录下的文本文件,文件信息由Web服务器发送到客户浏览器并存储,下次该客户再次访问该web服务器时,可从浏览器读回此信息。使用Cookie,Web服务器可以将一些客户的特定信息存储在客户计算机中,例如上次访问的位置、花费时间或用户密码等不建议使用Cookie保存。

JSP/Servlet操作Cookie: 写入Cookie的示代码如下:

Cookie c = new Cookie(“username”,”tom”); c.setMaxAge(120);

response.addCookie(c);

上述代码中,如果不使用setMaxAge()方法设置有效期,Cookie信息将在客户关闭浏览器之后删除。 读取Cookie的示例代码如下:

Cookie[] c =request.get Cookies();

for(int i=0;i

if(c[i].getName().equals(“username”){ username=c[i].getValue(); } }

在客户端的Cookie文件可以存储若干个Cookie对象的信息,在读取时,request.get Cookies()返回一个Cookie数组,可在该数组中遍历寻找指定的Cookie对象。

删除Cookie示例代码如下:

Cookie c = new Cookie(“mycookie”,null); c.setMaxAge(0); c.setPath(“/”);

response.addCookie(c); JavaScript操作Cookie

写入Cookie的示例代码如下: 略

31、 Servlet生命周期:

加载和实例化、初始化、处理请求、移除实例。 32、


Java问题面试2(全面)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:自动控制实验指导书2014 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: