java面试,简单问题

1.String是基本的数据类型吗?
基本数据类型有byte,int ,float ,double ,boolean,short,long
java.lang.String 类是final类型的,因此不可以继承这个类,不能修改,为了高效我们可以使用StringBuffer类
2.int 与 Integer有什么区别 ?
int 是java原始类型,Integer是java提供的封装类
3.String 和 StringBuffer的区别?
String和StringBuffer都可以存储字符串,String提供的是数值不可改变的字符串,StringBuffer可以提供对字符串进行修改
4.运行时异常与非运行时异常
java编译器要求必须声明抛出的异常称为非运行时异常,否则称为运行时异常
5.ArrayList,Vector,LinkedList的存储性能和特性
ArrayList和Vector都是使用数组存储数据,索引快,插入慢,vector使用了synchronized线程同步,执行慢与ArrayList
LinkedList,顾名思义采用链表作为存储结构,故插入删除快,但是查询慢
6.EJB就是指把你编的软件不放到客户端上打包到服务器上。
7.hashmap和hashtable的区别?
hashmap是轻量级是非线程安全的,hashmap允许空键值,
hashtable是继承自dictionary,hashmap来自于java 1.2引进的map interface接口
8.final,finally,finalize的区别
final用于声明属性,方法和类,表示属性类方法 不可以变
finally是异常处理的一部分,表示总执行
finalize是Object类的一个方法,在垃圾收集执行时会被调用
9.sleep()和wait()的区别
sleep()是线程类,到时间后线程继续执行
wait()是Object类的方法,只用发出notify线程才恢复运行
10.重写(overriding)和重载(overloading)的区别
重载是一个类的多态的表现,重写是父类与子类的多态的一种表现
重写就是子类定义与父类相同的方法和参数
在一个类中定义了多个重名的方法他们或者有不同的参数
11.error表示内存溢出,比如内存溢出,程序没法处理的异常
exception指的是一种设计或实现问题,是程序的错
12.抽象类,声明方法而不去实现就叫做抽象类
接口 ,抽象类的变体,我们多继承就是通过这样的方法实现,接口只可以定义static final成员变量

String 问题
String s = new String( “xyz “);
首先在string池内找,找到?不创建string对象,否则创建, 这样就一个string对象
遇到new运算符号了,在内存上创建string对象,并将其返回给s,又一个对象

接口是否可以继承接口,抽象类是否实现接口
接口可以继承接口,抽象类可以实现接口
实体类有明确的构造函数,抽象类可以实现接口

Collection List,Set继承自Collection,Map不是继承自Collection
J2EE在启动建立时就会建立一定的线程池

native是一个非java接口,abstract不能同时是static,native,synchronized

13.数组中没有length()这个方法,本来数组就不是类,但是有length这个属性
String中有length()这个方法,可用来求字符串的长度
14.构造器是否可以重写Constructor,override
构造器不可以重写但是可以重载
15.switch(a)
switch中的参数定义为int类型,所以里面可以定义小于int的类型的参数,但是长于int类型的带参数都不能使用,如long,String

16.如果try{}中含有return,那么finally在什么时候执行
finally一定会执行的,而且一定是在return前就执行

17.hashcode是根据对象的数据值决定的所以,等xequal(y)==true,不用考虑他们的地址码是否一致,一定含有相同hashcode

18.一个对象的synchronized方法后,只能有一个线程访问

19单例模式
public class singleton{
private singleton(){} //构造函数私有化
private static singleton instance = new singleton();//在内部定义自己唯一的实例,提供get方法供外界使用
private static singleton getInstance(){
return instance;

public class singleton{
private static singleton instance= null;
public static synchronized singleton getInstance(){
if(instance==null){
intstance = new singleton();
}
return instance;
}
}

  1. java的异常分为两种一种是内置异常的检测,数组越界,indexoutofBoundsexception,空指针错误nullpointerexception,另一种是java允许程序员自己创建异常,所有异常属于thowable子类

30.所有的线程的同步的方法
wait():使一个线程处于等待状态,并释放所有的lock
sleep();使一个正在运行的线程处于睡眠状态
notify();唤醒一个等待线程,但是并不能确定是启动哪一个线程,启动哪一个线程是有JVM确定的
Allnotify(),唤醒所有处于等待的线程,并让他们合理的竞争

31.char中是否可以定义一个中文汉字?为什么
可以定义一个中文,因为java中是以unicode编码的一个char占16个字符

32.多线程有几种实现方法,同步有几种实现方法?
多线程有两种实现方法,分别是继承Thread类,实现Runnable接口
同步也有两种实现方法,分别是synchronized, wait以及notify

33.jsp重在测试视图,servlet重在逻辑控制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值