JAVA笔试题(一)

来源:互联网 发布:软件质量保证的重要性 编辑:程序博客网 时间:2024/05/04 15:00

1、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

override(重写,覆盖)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。

overload(重载,过载)
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。

3、存在于父类和子类、同类中。

重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。


如果几个Overloaded的方法的参数列表不一样,它们的返回值类型可以不一样。如果两个方法的参数列表完全一样,不能让它们的返回值类型不同来实现重载Overload。


2、以下线程安全的有哪些?

Vector     Hashtable   ArrayList   HashMap   CopyOnWriteArrayList

答:Vector、Hashtable和CopyOnWriteArrayList是线程安全的,ArrayList和HashMap不是线程安全的而且必须要通过Collections.SynchronizedList或者Collections.synchronizedMap来包装一下才能实现同步。


3、哪些情况下使用抽象类?哪些情况下使用接口?


4、String和StringBuffer的区别?为什么?


5、以下代码是否运行正常?正常的话,输出什么?

public class HelloWorld {public static void main(String[] args) {HelloWorld hello = new HelloWorld();Class cls = hello.getClass();// returns the ClassLoader object associated with this ClassClassLoader cLoad = cls.getClassLoader();System.out.println(cLoad);// returns the parent ClassLoaderSystem.out.println(cLoad.getParent());System.out.println(cLoad.getParent().getParent());}}

6、ThreadLocal是什么?在实际场景中是为了解决什么?简单写下ThreadLocal的使用。


7、ServletConfig与ServletContext的区别?

ServletContext对象:servlet容器在启动时会加载web应用,并为每个web应用创建唯一的servlet context对象,可以把ServletContext看成是一个Web应用的服务器端组件的共享内存,在ServletContext中可以存放共享数据。ServletContext对象是真正的一个全局对象,凡是web容器中的Servlet都可以访问。

servletConfig对象:用于封装servlet的配置信息。从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对servlet自身有效,一个servlet的ServletConfig对象不能被另一个servlet访问。

8、什么方法实现跨域servlet调用servelt?

通过HttpClinet模拟发起请求,可以实现跨域Servlet调用Servlet。

9、Web缓存方案,在开源项目中有哪些?具体比较下


10、什么是PaaS?特点是什么?...



0 0
原创粉丝点击