`
wugaokai
  • 浏览: 61987 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我最近笔试的Java题目

阅读更多
----------------------------Java部分-----------------------------
1.Java面向对象有哪些特征
     抽象 封装 继承 多态
2.String和StringBuffer的区别
String是final类型,不能被继承且String是不可变的字符串常量,一旦变化就会生成新的String对象,并把值保存进去。
StringBuffer是可变对象,对它进行修改的时候就可以不用像String一样重新建立对象,
而且StringBuffer对字符串连接操作执行效率要比String高
3.运行时异常和一般异常有何异同
   一般异常是跟原代码有关,java编译器强制我们对这些异常进行catch
运行时异常跟环境有关,一般交给JVM处理
4.说出ArrayList  Vector  和LinkList的存储性能和特性
ArrayList和Vector 都是以数组方式存储数据,此数组元素数大于其实际存储的数据便增加和插入元素,可以以序号直接索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。
LinkList以双向链表实现存储,但是索引数据要进行前向或后向遍历,而插入元素只需记录本项的前后项即可,所以索引元素慢而插入元素快。
5.Collection和Collections的区别
Collection是集合类的上级接口,继承于它的接口主要有Seg和List.
Collections是一个针对集合类的帮助类,提供一系列的静态方法,对各种集合进行搜索,排序,线程安全化等操作。
6.HashMap和HashTable的区别
HashMap是HashTable的轻量级体现,它们都实现了Map接口。
HashMap允许空键值,非线程安全,效率上可能要高于HashTable
HashTable不允许空键值,线程安全
7.Final finally finalize的区别
     Final声明属性,方法,类分别表示不可变,不可覆盖,不可继承。
     Finally异常处理语句结构的一部分,表示始终执行。
     Finalize是Object类的一个方法,当垃圾收集器执行的时候调用被回收对象的finalize方法。
8.Overload和Override的区别
重载(Overload):
一个类中多态性的表现。
不同的参数个数或不同参数类型
返回类型可以改变
重写(Override):
父类和子类之间多态性的表现。
方法名和参数要一致
访问范围不能小于父类的访问范围
9.Error和Exception的区别
Error:      不可控制的
   经常表示系统错误或低层资源错误
   如果可能的话,应该在系统级被处理
Exception :  可控制的和不可控制 的
这是一个由程序员导致的错误
应该在应用程序级被处理
10.同步和异步有何异同,在什么情况下分别使用它们,举例说明
如果数据将在线程间共享,比如正在写的数据以后可能被另一个线程读到,那么这些数据就是共享数据,必须实现同步 。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不需要让程序等待该方法的返回时,就应该使用异步编程。
11.我比较常见的runtime exception:
ClassCastException NullPointException  IllegalArgumentExceptio IndexOutOfBoundsException  
12.垃圾回收的优点和原理
垃圾回收机制是java语言的特点,它解决了令C++程序员头疼的内存管理问题,使得Java程序员编写代码不用再考虑内存管理的问题。它使得对象不再有作用域的概念,只有对象的引用才有作用域的概念。垃圾回收可以有效的防止内存泄漏,有效的使用可以使用的内存。垃圾回收器通常作为一个单独的低级别的线程运行,不可预知的情况下对内存中已经死亡的或长时间不使用的对象进行清理和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
垃圾回收有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
13.J2EE是什么
J2EE是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC ,JNDI ,EJB,JMS(java消息服务) ,JTA,RMI(远程方法调用)等技术。


-------------------------------UML部分-------------------------------
1.UML有哪几种图
类型 包含
静态图 类图  用例图  部署图 组件图
行为图 状态图  活动图
交互图 序列图  协作图
2.UML类图的类之间有哪些关系?
依赖 关联(聚合/组合) 泛化(继承) 实现


-------------------------------数据库部分-------------------------------
1.数据库连接池的工作机制
     服务器启动时就会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将它表示为忙。如果当前没有空闲连接,池驱动程序就会新建立一定数量的连接,新建的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序会将它表示为空闲,其它调用就可以使用这个连接。
2.纯JDBC连接
Class.forName(drivername);
DriverManager.getConnection(url,username,password);
3.Oracle分页sql语句:
select * from ( select rownum r,t1.* from 表名 t1 where rownum<(当前页*记录数)) t2 where t2.r>(当前页-1)*记录数


-------------------------------Web部分-------------------------------
1.jsp有哪些内置对象和作用
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application 正在执行的内容
out 用来传送回应的输出
config 的构架部件
page JSP网页本身
exception 针对错误网页,
2.forward和redirect的区别
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
  前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
3.get和post的区别
(1)get是从服务器上获取数据,post是向服务器传送数据。
(2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(3) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(5) 安全性问题。正如在(2)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。
4.Servlet的生命周期
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service 方法自动派遣运行与请求对应的doGet或doPost方法。当服务器决定将实例销毁的时候,调用其destroy方法。
                          --------------------会不断的完善中............
2
7
分享到:
评论
1 楼 激情成就梦想 2013-09-07  
不错哦 很有意义!

相关推荐

Global site tag (gtag.js) - Google Analytics