面试题02
1、线程的基本概念、线程的基本状态以及状态之间的关系
答:线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。
Java中的线程有四种状态分别是:运行、就绪、挂起、结束。
2、是否可以继承String类?
答:String类是final类,故不可以继承。
3、运行时异常与一般异常有何异同?
答:异常表示程序运行中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
4、HashMap和Hashtable的区别?
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
5、error和exeception有什么区别?
答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
6、Anonymous Inner Class(匿名类)是否可以extends(继承)其它类,是否可以Inplements(实现)interface(接口)?
答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
7、"=="和equals方法的区别?
答:"=="操作符使用来比较连个变量的值是否相等,equals方法是用来比较两个独立对象的内容是否相等。
8、javascript中如何定义class?如何扩展prototype?
答:js中没有class的慨念,可以模拟对象。
Function MyObject(){}
上面就是一个对象,你可以理解为一个Class
MyObject.prototype.show=function(){alert();}
为原型扩展一个show的方法
New MyObject().show();调用这个方法。
9、GC是什么?为什么使用它(Core java)
答:GC是垃圾收集器:java程序员你用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用方法:System.gc()或Runtime.getRuntime().gc()
10、JNDI是什么?
答:是java命名和目录接口服务。
11、写出你熟悉的开源框架及各自的作用。
答:框架:
1、Hibernate主要用于数据持久化;
2、Spring的控制反转能起解耦和的作用;
3、Struts主要用于流程控制
服务器类:
Apache Tomcat Jboss等
12、EJB的事务如何实现的?何时进行回滚?
答:是通过使用容器Bean自身管理实务的;
当产生一个系统异常时容器就自动回滚事务。
13、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上答:witch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich
14、heap和stack有什么区别答:栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元素
15、JSP中两种 include方式的区别;(Web)答:动态include用jsp:include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;静态include用<%@include %>指令实现,适用于包含静态页面
16、.简要介绍throw和throws的区别。答:throws是异常的抛出申明,就是用来通知调用者要抛出异常,而throw是抛出异常。
17、简述ajax原理
答:ajax是很多种技术的集合体。其中包括浏览器的xmlHTTPRequest对象,他是负责为你开通另一条连接通道,可以传递信息。
18、写出数据库表a前10条的纪录
Oracle:select * from a where rownum<=10
Sql Server :select top 10 * from a
Mysql:select * from 表名 where 条件 limit 10
19、JSP标准动作有哪些?各自作用是什么
答:
JSP共有以下6种基本动作 jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean。 jsp:setProperty:设置JavaBean的属性。 jsp:getProperty:输出某个JavaBean的属性。 jsp:forward:把请求转到一个新的页面。 jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。
20、简述你在项目中把XML技术的用到哪些方面,是如何实现的
答:
用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。