java面试题之1

1. 面向对象的特征有哪些方面
答:

1)抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2)继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3)封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4) 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

 

2. String是最基本的数据类型吗?
答:基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类。

 

3. 运行时异常与一般异常有何异同?
答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

 

4. 说出Servlet的生命周期,并说出Servlet和CGI的区别。
答:Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

 

5. 说出ArrayList,Vector, LinkedList的存储性能和特性
答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

 

6. EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
答:EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。

 

7. Collection 和 Collections的区别。
答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

 

8. Static Nested Class 和 Inner Class的不同。
答:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

 

9. JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>

 

10. 什么时候用assert。
答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

 

11. GC是什么? 为什么要有GC?
答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

 

12. 如何现实servlet的单线程模式
答:<%@ page isThreadSafe=”false”%>

 

13. 四种会话跟踪技术
答:会话作用域ServletsJSP 页面描述
page是否代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面
request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

 

14. J2EE是技术还是平台还是框架?
答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

 

15. remote接口和home接口主要作用
答:remote接口定义了业务方法,用于EJB客户端调用业务方法。
home接口是EJB工厂用于创建和移除查找EJB实例。

 

 

16. 如何给weblogic指定大小的内存?
答:在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M。

 

17. weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?
答:保存在此Domain的config.xml文件中,它是服务器的核心配置文件。

 

18. weblogic中发布ejb需涉及到哪些配置文件
答:不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml

 

19. JAVA与JSP中要调用一个LINUX上的脚本程序,或WINDOWS上的脚本程序,该怎么写?

答:System.getRuntime().exec("bash < aaa.sh");

 

20. java中用什么表示双引号?

答:"\""

 

21. 如何在JSP程序里另起一个线程?

答:JSP本身就是独立线程运行而不象CGI都是独立进程.

一般:

Thread t = new Thread("你的对象\\");

t.start();就可以了.

要求你这个对象要实现runnable接口或继承thread.

 

22. jsp如何获得客户端的IP地址?

答:equest.getRemoteAddr()

 

23. 程序终止与输出终止

答:程序中止:return;

输出中止:out.close();这一句相当于ASP的response.end

 

24. jsp中如何得到上页的URL?

答:request.getHeader("referer");

 

25. 提交网页的网页过期功能是怎么做的?

答:response.setHader("Expires","0");

 

26. JSP网页中如何知道自已打开的页面的名称?

答:request.getRequestURI() ;//文件名

request.getRequestURL() ;//全部URL

 

27. 提交表单后验证没有通过,返回提交页面,如何使原提交页面中的数据保留?

答:javascript的go(-1)可以把上页的表单内容重新显示出来,但password域没有

 

28. 如何取得http的头信息?

答:request.getHader(headerName);

 

29. &&和&的区别?

答:&&是短路的与操作,也就是当地一个条件是false的时候,第二个条件不用执行

&相反,两个条件总是执行。

 

 

30. *以正弦曲线的一个周期显示出来?

答:

public void paint(Graphics g)

{

for(int i=0;i<200;i++){

g.drawString("*",i,(int)(Math.sin(i)*20)+50);

}

}

 

31. 浮点数相乘后结果不精确如100.0 * 0.6 结果等于 60.0004

答:这不叫错误,float和double是这样实现的.如果要精确计算,java提供了一个strictfp,它的计算遵循IEEE 754标准.而普通的float和double是由地平台浮点格式或硬件提供的额外精度或表示范围。

 

32. 如何获得当前用的cursors的位置?

答:int row = rs.getRow()

就是当前指针行数,还有isFrist();isBeforeFist();isLast();isAfterLast();可以测试是不是在方法名所说的位置

 

33. 表单成功提交了,点后退显示网页过期

答:在<head></head>里面加以下代码

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">

<META HTTP-EQUIV="Expires" CONTENT="0">

或者在表单页中加上

<%

response.setHeader("Pragma","no-cache");

response.setHeader("Cache-Control","no-cache");

response.setDateHeader("Expires",0);

%>

 

34. 抽象类和接口有什么区别?

答:1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。

4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。

5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。

7.接口中的方法默认都是 public,abstract 类型的。

 

35. java的反射(reflection)机制的基本要素是什么

答:开放性和原因连接(causally-connected)是反射系统的两大基本要素.

 

36. CORBA是什么?用途是什么?
答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:
1. 用不同的程序设计语言书写
2. 在不同的进程中运行
3. 为不同的操作系统开发

 

37. 怎样编写一个取消按钮(怎样返回上一个页面,象工具栏的后退按钮)?

答:javascript把每次浏览过的location都压到了一个栈中,这个栈就是history,然后你如果要回到第几个页面它就做几次POP操作,把最后POP出来的那个LOCATION给你. 这就是JAVASCRIPT在实现history.go(-x)的原理.

 

38. 什么是回调?

答:简单说,回调用不是让你去监听谁做完了什么事,而是谁做完了什么事就报告给你. 这就是回调用的思想.例子太多了,AWT的事件,SWING事件模型都是这样有. 还有多线程中,如果要控制线程数,不能总是查询每个线程是否结束,要在每个线程结束时让线程自己告诉主线程我结束了,你可以开新的线程了.

 

39. 简要介绍一下compareTo方法

答:compareTo方法是Comparable 接口必需实现的方法,只要实现Comparable 就可以用Arrays.srot()排序就象实现Runnable接口的run就能Thread()一样.

 

40. 如何可以从别的Web服务器检索页, 然后把检索到的网页的HTML代码储存在一个变量中返回过来

答:这是一个简单的WEB ROBOT实现,用URL类实现从网页中抓内容,然后自己写一个分析程序从中找出新的URL,不断递归下去就行了.

 

41.  applet中如何获得键盘的输入

答:application的System.in是当前系统的标准输入,applet因为安全的原因不可能读取当前系统(客户端)的标准输入,只能从它的ROOT组件的事件中,比如键盘事件中取得键值.

 

42. 如何获在程序中获得一个文件的ContentType?

答:URL u = new URL("file:///aaa.txt");

URLConnection uc = u.openConnection();

String s = uc.getContentType();

 

43. 连接池的使用是建立很多连接池,还是一个连接池里用多个连接?

答:只有在对象源不同的情况下才会发生多个池化,如果你只连结一个数据源,永远不要用多个连结池. 所以连结池的初始化一定要做成静态的,而且应该在构造对象之前,也就是只有在类LOAD的时候,别的时候不应该有任何生成新的连结池的时候。

 

 

44. JavaMail要怎么安装?

答:下载两个包,一个是javamail包,另一个是jaf包。下载完直接把这两个包不解压加到CLASSPATH。

 

45. 怎样把地址栏里的地址锁定?

答:把你的服务器的可访问目录索引选项关闭就行了,任何服务器都有一个config文件,里面都有这个选项。

 

46. JAVA中怎么取得环境变量啊。比如: TEMP = C:\TEMP ?

答:String sss = System.getProperty(key)

 

47. 怎样实现四舍五入,保留小数点后两位小数?

答:

import java.text.*;

...

NumberFormat nf=NumberFormat.getNumberInstance();

nf.setMaximumFractionDigits(2);

nf.setMinimumFractionDigits(2);

nf.format(numb);

 

48. Applet和form如何通信?

答:

取得的参数传到param里面

<%

String xxx = request.getParameter("xxx");

%>

<applet>

<param value="<%=xxx%>">

</applet> 

 

49. java-plug-in是什么?

答:Java Runtime Environment的插件。用来运行java程序。不需要什么特别的设置。等于你的机器里面有了jvm。

 

50. WEB上面怎么样连接上一个EXCEL表格?

答:定义页面得contentType="application/vnd.ms-excel",让页面以excel得形式打开。同样也可以以word得形式打开:application/msword。

 

51. 怎样才能避免textarea字数限制?

答:是使用了FORM的默认方法的缘故,如果什么也不写默认是GET改用Post即可,在Form中定义mothod="post"。

 

 

52. 为什么加了<%@page contentType="text/html;charset=gb2312" %>插入数据库的中文,依然是乱码?

答:这要从环境看,能显示说明你的JSP引擎没有问题,但写入数据库时你的JDBC能不能处理中文,同一公司不同版本的JDBC都有支持中文和不支持中文的情况,RESIN自带的MYSQL JDBC就不支持,MM的就支持,还有你的数据库类型是否支持中文?CHAR的一般支持,但是否用binary存储双字节码

 

53. 对于JFrame,hide(),show()与setVisibel()有什么区别吗?

答:setVisible()从Component继承过来,而hide(),show()从Window里面继承过来。

 

54. sendRedirect为什么不可以转到mms协议的地址的?response.sendRedirect("mms://missiah.adsldns.org:9394");

答:java平台目前实现的protocol中并没有mms,你可以取系统属性java.protocol.handler.pkgs看看它的值中有没有mms,所以如果要想重定向到[url]mms://host[/url]这样和URL,只有生成客户端的JAVASCRIPT让它来重定向

 

55. JTable中怎样定义各个Columns和Width和怎样设置表格的内容靠做靠右或居中?

答:

TableColumn tc = table.getColumn("Name");//取得列名为"Name"的列Handle

int currentWidth = tc.getPreferredWidth(); //取得该列当前的宽度

tc.setPreferredWidth(200); //设置当前列宽

tc.setMaxWidth(200); //设置该列最大宽度

tc.setMinWidth(50); //设置该列最小宽度

 

 

56. 批操作是否可用于select语句?

答:批操作其实是指成批理更新的操作,绝对不可能用于select操作。

 

57. 为什么jsp路径太深文件名太长就无法读取文件?

答:path不能超过255长度,不然就找不到了.这是作业系统的事。

 

58. 如何让页面不保留缓存?

答:

<%

response.setHeader("Pragma","No-cache");

response.setHeader("Cache-Control","no-cache");

response.setDateHeader("Expires", 0);

%>

 

 

59. 我的applet code 中用到jbutton 时就出错是否由于ie不支持swing package 请问应怎么办?

答:JBUTTON是SWING基本包啊,只要把jdk/jre/lib/rt.jar放在classpath就行了.不要加载任何别的库。

 

60. 不知道java是否支持midi格式,如果支持,应该怎么把wave格式转换成midi格式?

答:目前还不行,可以看一下JMF三个版中对MIDI的格式支持是read only,而WAVE是read/write,MIDI只能播放,不能生成。

 

61. jsp里面防止用户直接输入url进去页面,应该怎么做呢?

答:一是从web服务器控制,对某一目录的所有访问要通过验证.

二是在要访问的页面中加入控制.这个一般用session,也可以用请求状态码实现

 

62. 例如后台有一计算应用程序(此程序运算起来很慢,可持续几分钟到几小时,答:这不管,主要是能激活它),客户机讲任务提交后,服务器对任务进行检测无误后将向服务器后台程序发送信息,并将其激活。要求如下:

1)首先将后台程序激活,让它执行此任务(比如,前台将计算的C代码提交上后,后台程序程序能马上调用,并将其运行)

2)要在前台JSP页面中显示运行过程信息(由于运行时间长,希望让客户看到运行过程中产生的信息)如何完成?

 

答:激活是可以的,运行一个shell让它去运行后台就行,但不可能取出运行信息,因为HTTP的超时限制不可能永远等你后台运行的,而且信息如果要动态实时推出来就得用SERVER PUSH技术。

 

63. 数据库是datetime 型 ,插入当前时间到数据库?

答:

java.sql.Date sqlDate = new java.sql.Date();

PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");

pstmt.setDate(1,sqlDate);

pstmt.executeUpdate();46. 问:怎样去掉字符串前后的空格。

答:String.trim()

 

 

64. session怎样存取int类型的变量?

答:

session.setAttribute("int", i+"");

int i = Integer.parseInt(session.getAttribute("int"));

 

 

65. javascript中如何使输出的float类型的数据保留两位小数。

答:Math.round(aaaaa*100)/100。

 

 

66. bean种如何调用session

答:你可把session对象作为一个参数传给bean

BEAN中定义HttpServletRequest request;HttpSession session;

然后

session = request.getSession(false);

false为如果session为空,不建立新的session

session作为参数传入.其实只要将request传入就可以

 

 

67. 如何把txt或word文件按原格式显示在jsp页面或servlet上?

答:其实一个非常简单的解决方法就是在服务器的MIME中指点定TEXT和WORD的解释方式,然后用JSP或SERVLET生成它就行了,客户端就会自动调用相应程序打开你的文档。

如果是希望按原格式的显示在页面上,而不是调用其他程序打开那么你可以试试用WEBDEV协议,可以说这是MS的一个亮点.它是在WEB方式下打开文档,和共享一样.完全符合的要求。

 

68. object的clone方法为什么不能直接调用?

答:这个方法在object中是protected

为什么要把这个方法定义为protected,这是一个折中,它的目的是想知道你这个方法在Object里只是一个标记,而不是一个实现,比如

 

public class Object

{

 

.............

protected Object clone()

{}

}

 

所以直接继承的clone()方法并不能做任何时,你要使用这个方法就要重载这个方法并放宽访问权限为public,或实现cloneable接口. 但它没法这样告诉你它没有真的实现,只好用protected 方法加以警示

 

 

69. 一个页面中如何刷新另外一个页面?

答:要求是这些面页必须有关联,一是它们都有一个共同的顶层帧,也就是说是一个帧内的分级页面,当然可以是任意级,帧内再分帧也可以,另一个可能是当前窗口弹出的窗口,如果没有联系,那就不可能用一个页面刷新另一个页面. 帧内只要一级一级引用就行了. 比如在左帧中一个页面中写top.right.location.reload();那么名为right的右帧中的页面就会刷新. 弹出的一样,用open时的名称刷新子窗口,子窗口用opener刷新主窗口

 

70. 如何在jsp中怎么样向客户端写cookies?

答:Cookie coo = new Cookie(name, value);

HttpServletResponse.addCookie(name);

 

71. 为什么jTextField1.setText("aaabbb");jTextField2.setText("AAABBB"); 得到的字体宽度不一样?

答:就是说如果不是指定为等宽字体,每个字体的宽度都是不一样的.因此JAVA中用FontMetrics 类来取字符宽度。

 

72. String kk=application/octet-stream; name="G:/SMBCrack.exe";如何得到SMBCrack.exe?

答:这应该是解析上传时候的二进制流得到的这一行里面格式是固定的,取到name="后面的字符串,然后把";去掉。然后取最后一个/后面的所有字符组成一个新字符串就行了。

 

73. 如何传值并不刷新页面?

答:弹出一个页面进行值的选择或者输入,ok后使用将值传给原窗口,使用javascript关闭打开的窗口即可:

window.close();opener.focus();

 

74. 有一个字符串:"EF0C114EA4",如何变为a[0] = 0xEF a[1] = 0x0C a[2] = 0x11 a[3] = 0x4E a[4] = 0xA4?

答:

String str="EF0C114EA4F";

out.print(str+"<br>");

int l=str.length()/2+str.length()%2,j=0,k=0;

String[] a=new String[l];

for(int i=0;i<l;i++){

if(str.length()-j==1)

k=str.length();

else

k=j+2;

a[i]="0x"+str.substring(j,k);

out.print("a["+Integer.toString(i)+"]="+a[i]+"<br>");

j+=2;

}

 

 

75. 怎样将一个int转换成一个四字节的byte数组?

答:int x = 1234567;

byte[] b = new byte[4];

for(int i=0;i<b.length;i++)

{

b[i] = (x >>( i*8)) & 0xFF;

}

 

76.  indexOf()的使用需要注意什么?

答:参数是指从第几位(1,2,3,...)开始搜索,而返回值是指搜索到的位置(0,1,2,3.......)注意是从零算起的。

 

77. Java应用程序中如何动态的添加一个按钮?

答:这里涉及一个组件重绘的问题,组件要先于panel被显示之处存在,如果一panel已经显示了,那么加在上面你能看到吗?但如果在同一个panel上, 先有button A,假如按下它加了butt on B,这时你如果使整个panel重给,那么A本身要重绘,它的事件监听就没有了,当然也就加不成B了,所以如果要先有另一个panel,当按A时把B加在这个panel上并重绘这个paenl,其实更好的方法是先把B加在panel中,同一个也行.把它setVisiable(flase),按A时设为 true。

 

78. book mybook=new book(bookid);book是servlet,出错。

答:book是servlet,能book mybook=new book(bookid);

说明自己实现了servlet容器?不然,servlet能让你自己去调用? servlet如果调用其实和EJB连1%的区别都没有,它们都是自己继承或实现一些接口,在这些父类或接口中实现了如果和容器\"打交道"的方法,然后容器调用这些方法来管理它,让它生成实例,池化,钝化,销毁,再生等.所以这样写是错误的。

 

79. 如何实现递交表单内容的加密解密?

答:如果你用IE目前只能用SSL协议,这一层不要你考虑,否则只你用你自己的工具加密传输,接收后再解密友,至于如何加解,如果要和公认的系统结合,就用通用的MD5,RAS等公开算法,如果你只是自己传自己解,你随便按你的想法把数据加上一些东西,取回来按规则减掉这些东西,我敢保证除你自己没有任何人能知道解密方法.

 

 

80. 为什么Integer.parseInt("+1");会抛出NumberFormatException的异常?

答:因为"+"运行算在JAVA中被重载.系统无法确定你用的是算术加还是字符+。

这一点可以在JAVASCRIPT中更好地理解:

<form name="t"><input name=s value=1234></form>

var a = document.t.s.value+1;

这时a = 12345,因为document.t.s.value作为字符串.但var a = document.t.s.value-1;

a 就是1233,因为系统知道-运算肯定是算术运行.所以把document.t.s.value转换成数字.

 

81. hashCode() 有什么用为什么有时候需要覆盖Object里的hashcode()方法?

答:这就是这个对象的身份证啊,要不如何区分哪个对象。

 

82. 怎样在tomcat中实现一个定时执行的东西?

答:在应用程序启动时自动运行。servlet2.3中定义了ServletListener,监听Servlet Con text的启动或则关闭(可在配置文件中配置),启动时触发一个守护程序的运行(可以实现java.util.Timer或则 javax.swing.Timer).

 

83. 程序可以输出自己吗?

答:孔德悖论这个非常有名的法则.就是说任何程序都不可能输出自己.

 

84. 能够把字符转化成ASCII码?比如将 A 转化成 65?

答:

int a='A';

out.println(a);

 

85. 如何区分输入的文字中的全角与半角?

答:由于不能分辨出全角和半角字符的值有什么规律,只好把全角符号牧举出来了.

 

86. 用户注册后的自动发信程序该怎么做?

答:这种发信程序不考虑性能,因为不可能1秒就有一个人注册,我们说的考虑性能的发信程序是指上百万封信在队列里要不停发送的那种,象你这个随便怎么写一个程序都行,没有必要用JAVAMAIL.只要指定一个发信的服务器然后用socket连它的25口就行了.自己用SOCKET连SMTP的25口发一封信就好象两个邻居之间送一样东西,直接递过去得了,用JAVAMAIL,消息机制就是你把这个东西从邮局寄给你的邻居了

 

87. 下列语句哪一个正确()

A. Java程序经编译后会产生machine code

B. Java程序经编译后会产生byte code

C. Java程序经编译后会产生DLL

D. 以上都不正确

答案:B  

 

88. 下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行 

D. 一个class只能定义一个constructor

答案:C  

 

89. 提供Java存取数据库能力的包是()

A. java.sql

B. java.awt

C. java.lang

D. java.swing

答案:A  

 

90. 下列运算符合法的是()

A.&&

B.<>

C.if

D.:=  

答案:A

 

91. 执行如下程序代码

a=0;c=0;

do{

--c;

a=a-1;

}while(a>0); 后,C的值是()

A.0

B.1

C.-1

D.死循环

答案:C

 

92. 下列哪一种叙述是正确的()

A. abstract修饰符可修饰字段、方法和类

B. 抽象方法的body部分必须用一对大括号{}包住

C. 声明抽象方法,大括号可有可无

D. 声明抽象方法不可写出大括号

答案:D

 

93. 下列句正确的是()

A. 形式参数可被视为localvariable

B. 形式参数可被字段修饰符修饰

C. 形式参数为方法被调用时,真正被传递的参数

D. 形式参数不可以是对象

答案:A

 

94. 下列哪种说法是正确的()

A. 实例方法可直接调用超类的实例方法

B. 实例方法可直接调用超类的类方法

C. 实例方法可直接调用其他类的实例方法

D. 实例方法可直接调用本类的类方法

答案:D

 

95. 下列说法正确的有()

A. 环境变量可在编译sourcecode时指定

B. 在编译程序时,所能指定的环境变量不包括class path

C. javac一次可同时编译数个Java源文件

D. javac.exe能指定编译结果要置于哪个目录(directory)

答案:BCD

 

96. 下列标识符不合法的有()

A. new

B. $Usdollars

C. 1234

D. car.taxi

答案:ACD

 

97. 下列说法错误的有()

A. 数组是一种对象

B. 数组属于一种原生类

C. intnumber=[]={31,23,33,43,35,63}

D. 数组的大小可以任意改变

答案:BCD

 

98. 不能用来修饰interface的有()

A. private

B.  public

C.  protected

D. static

答案:ACD

 

99. 下列正确的有()

A. call byvalue不会改变实际参数的数值

B.  call by reference能改变实际参数的参考地址

C.  call byreference不能改变实际参数的参考地址

D. call byreference能改变实际参数的内容

答案:ACD

 

100. 下列说法错误的有()

A. 在类方法中可用this来调用本类的类方法

B.  在类方法中调用本类的类方法时可直接调用

C. 在类方法中只能调用本类中的类方法

D. 在类方法中绝对不能调用实例方法

答案:ACD

 

101. 下列说法错误的有()

A. Java面向对象语言容许单独的过程与函数存在

B.  Java面向对象语言容许单独的方法存在

C.  Java语言中的方法属于类中的成员(member)

D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同

答案:ABC

 

102. 下列说法错误的有()

A. 能被java.exe成功运行的javaclass文件必须有main()方法

B.  J2SDK就是Java API

C.  Appletviewer.exe可利用jar选项运行.jar文件

D. 能被Appletviewer成功运行的javaclass文件必须有main()方法

答案:BCD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值