您的位置:首页 > 职场人生

Java常见面试知识点

2014-11-12 12:37 399 查看
重载(OverLoading):让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数或类型,重载是一个类里面多态性的体现,重载的时候方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不同,无法以返回类型作为区分重载函数的标准。

重写(OverRiding):父类和子类之间的多态性,对父类的函数进行重新的定义;在子类中定义与父类相同名字和参数的方法称为重写,当子类不想原封不动的继承父类的方法时可以重写父类的方法,方法重写也称为方法覆盖,在子类中如需调用父类中原有的方法,可使用super关键字。

 

sleep()和wait()的区别:

都是对线程进行控制,sleep不释放同步锁,wait释放同步锁;sleep可以指定时间让线程自动醒来,也可以用interrupt打断,wait要用notify或者notifyall唤醒;sleep是Thread的静态方法,wait是Object的方法

 

运行时异常和一般异常:

运行时异常是指编写的代码没有语法错误,但在运行时会出现错误,比如空引用,数组越界等;

一般异常也叫错误,用户可以抛出

 

多线程同步的方法:

1、临界区:一次只能由一个线程来执行的一段代码;

2、互斥:可用户跨进程的线程同步;

3、信号量:允许多个线程同时使用共享资源,但会指定最多线程的个数,更适用于对Socket程序中线程的同步。

4、事件

 

 

Linux查看文件命令

查看系统消耗命令:

 

TCP/IP协议

 

数据库索引

是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引

 

Jsp九大内置对象:

Request:用户请求期,在一次请求周期中传递数据

Response:响应

Application:整个程序运行期,用于实现用户之间的数据共享,负责提供应用程序在服务器中运行时的一些全局信息

Page:页面对象

pageContext:页面上下文对象

Out:输出对象

Session:会话对象

Config:配置对象

Exception:例外对象

 

Session生命周期

Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效

 

Servlet生命周期

1、初始化阶段  调用init()方法;

2、响应客户端请求阶段  调用service()方法;

3、终止阶段  调用destroy()方法。

 

POST和GET的区别

使用GET方法时,form中的数据将编码到URL       中,而使用POST的form中的数据则是在http协议的header中传输;

get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;

get安全性非常低,post安全性较高。

 

Java几个常用的设计模式

1)单例模式:使内存中只有一个对象,节省了内存空间,有利于Java的垃圾回收

2)工程模式:同意提供实例对象的引用

3)MVC模式:强制性的使应用程序的输入、处理和输出分开;视图:用户看到并与之交互的界面;模型:表示企业数据与业务规则,一个模型能为多个视图提供数据,模型与数据格式无关;控制器:接受用户的输入并调用模型和视图去完成用户的请求

 

OSI七层模型:

1)物理层

2)数据链路层

3)网络层

4)传输层

5)会话层

6)表示层

7)应用层  

五层模型:物理层、数据链路层、网络层、传输层、应用层

 

http协议

 

structs2,spring,heribate

 

子类继承父类时先调用父类的构造函数,再调用自己的构造函数;

 

 

HashMap不是线程安全的,是map接口的子接口,键值对,键,值都是对象,不能包含重复键,可以有重复值,允许null key和nullvalue(这个Hashtable不允许)

HashTable是线程安全的一个Collection,效率低于HashMap,

vector线程安全

ArrayList非线程安全

 

各种排序的时间和空间复杂度:



排序方法

稳定性

反例

直接插入排序



 

冒泡排序



 

简单选择排序



(3,3,2)

希尔排序



(2,4,1,2) =2, =1

快速排序



(3,2,2

堆排序



(5,5,3)

归并排序



 

基数排序



 

各种排序算法的稳定性比较

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 面试