JAVA基础测试企业面试题

元享利贞科技有限公司
1、final、finally、finalize区别

  1. final 修饰长量 变成常量(声明的时候 实例代码块)
    修饰变量 表示这个变量的值不能被修改 只能初始化一次(声明,实例代码块,构造方法的地方初始化)
    修饰类 表示不能被继承
    修饰方法 方法不能被重写
  2. finally 声明异常的时候 这个里的代码都会被执行
  3. finalize 只能在类的内部调用,finalize()是Object的protected方法,子类可以覆盖该方法来实现资源清理工作,GC在回收对象之前调用该方法
    2、解释装箱与拆箱
  4. 装箱 自动将基本数据类型转换为包装器类型
  5. 拆箱 自动将包装器类型转换为基本数据类型
    3、Throw和throws区别
  6. Throw 作用是抛出一个异常对象,后面要跟一个(throwable)对象
  7. throws 作用是声明方法可能被抛出的异常的类型
    4、方法的重载和重写的区别
  8. 重载 方法重载,发生在同一个类中,同名不同参
  9. 重写 只有发生了继承的关系,继承类,重新父类的方法,方法签名一致
    5、解释抽象类和接口的区别
  10. 抽象类 继承抽象类必须实现抽象类的抽象方法,不能被创建对象,必须用子类来继承,可以包含普通方法,构造方法,抽象方法,抽象方法必须在抽象类中,
    一般在抽取公共实现的时候使用抽象类,一个抽象类只能继承一个抽象类
  11.  接口	可以实现多个实现类,接口中的变量都是常量,一个类可以实现多个接口,
    

一般用于一个规范,协议可以用接口
6、写一个冒泡排序法

int[] s = [231,124,1231,432,23432];
For(int i=0;i<s.length-1;i++){
For(int j = 0;s<s.length-i-1;s++){
if (array[j+1] >array[j]){
    int s = array[j];
    array[j] = array[j+1];
    array[j+1] = s;
}
}
}

7、String和stringBuffer的区别

  1. String 不可更变string的值,更改他的值会重新生成一个新的String
  2. StringBuffer 实在strngBuffer的基础上更改他的值,不会新建一个string对象,还是线程安全的
    8、循环中break和continue的区别
  3. Break 结束循环体
  4. Continue 结束本次循环,继续下一次循环
    9、String=×××;和string str=new String(“×××”)的区别
  5. 第一个判断是否有string 没有就创建一个string
  6. 第二个是直接new一个string
    10、在一个模型类中重写equals方法,使调用equals方法时如果属性值都相等时,返回为
    true,否则返回为false

11、请写出一个单例模式

public class s(){
	private static s = new s();
	private static s(){}
	public static s gets(){
		return s;
}
	Public class a(){
		S s = new s();
		S a =s.gets();
		S a1 = s.gets();
	System.out.println(a == a1)
}

重庆信移云科技有限公司
1、SQL语句
2、索引是什么?主键是什么?

  1. 索引是数组中每个元素所对应的一个编号,从0开始,加快查询性能
  2. 主键是作为一个表的一个属性的标识,唯一不为空
    3、JSP的内置对象有哪些?
    1、request对象
    request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
    2、response对象
    response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
    3、session对象
    session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。
    4、application对象
    application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。
    5、out 对象
    out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
    6、pageContext 对象
    pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。
    7、config 对象
    config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。
    8、page 对象
    page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。相当于页面的this,类型是object
    9、exception 对象
    exception 对象的作用是显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象

4、get,post的区别

  1. get 数据是放在url上的,不安全,而且超链接数据有限 8m 左右,速度快
  2. post是会提交数据回到服务器,速度慢,安全,数据容量大
    5、是否在开发过程中遇到过程序运行缓慢的情况,如果有的话写出来并写出解决方法。
    1.

6、定义Int a[n],1、如何确定X存在于Int a[n]中
2、先排序,找到第二大的数
for(int s=0;s<a.length-1;s++){
if(x == a[s]){
system.out.println(x);
}
}

JAVA面试题
1、Hashtable的原理,并说出HashMap与Hashtable的区别

  1. Hashtable是线程安全的,效率比较低,HashTable的方法是同步的,
    散列算法,用一个数组作为一个桶,
  2. HashMap方法不同步,线程不安全。HashMap中的key-value都是存储在Entry中的,HashMap可以存null键和null值
    2、解释下面关于J2EE的名词JNDI、JMS、JTA、RMI
  3. JNDI 是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念
    Java的命名服务,最主要是在web管理共享资源的,
  4. JMS jms即Java消息服务(JavaMessage Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。jms同时也可以指Journal of Marketing Science,《营销科学学报》的简称。此外,佳木斯的拼音缩写也是jms
  5. JTA JTA是只是一组java接口用于描述,J2ee框架中事务管理器与应用程序,
    资源管理器,以及应用服务器之间的事务通讯,java的事务api
  6. RMI 远程方法调用接口
    3、请谈一下你对Spring的理解
  7. spring是一个开源框架,目的是解决企业应用开发的复杂性,
    他是一个容器框架,用来装javabean(java对象),简单说就是
    一个轻量级的控制反转(loc)和面向切面(aop)的容器框架
    ( )
    4、Forward和redirect的区别
  8. forward 内部跳转服务器发起的请求,浏览器地址不现实被请求的url
    对于客服端来说只发了一次请求,内部跳转速度快
  9. redirect 外部跳转客服端发起的请求,浏览器地址显示被请求的
    工作是客服端发起的请求,服务器不知道,外部跳转是二次请求,
    外部比内部慢,
  10. 参数传递不同,生成的Request不同
    5、Web Service?他有何优势?
  11. 最大的优势就是提供了异构平台的无缝衔接技术手段,web service,基于
    远程方法调用来实现的,使任何两个应用程序,只要能读写XML,那么就
    能互相通信
    6、什么时候用assert?
  12. (断言)通常在开发和测试时开启,为了提高性能,在软件发布后,
    Assertion检查通常是关闭的。
    7、介绍几个您用过的应
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值