java面试题解析

1.内存包括栈(存放基本变量,对象引用),堆(存放对象以及引用变量)和静态区(存放常量)

2.数组有length属性,String有length方法

3.构造器不能被重写(方法名参数返回值都不变),但可以被重载(参数类型,个数,顺序至少有一个不同)

4.两个对象如果相同,那hashcode值一定相同,反之,若hashcode值相同,则对象不一定相同

5.string类被final修饰,不可被继承

6.stringbuffer被synchronized关键字修饰,所以安全性大于stringbuilder,效率也比较慢

7.重载不能根据返回值进行区分,原因

函数的返回值只是作为函数运行之后的一个“状态”
他是保持方法的调用者与被调用者进行通信的关键。

并不能作为某个方法的“标识”----知乎

8.jvm加载class文件的原理


调用到某个类时,jvm确保这个类已经被加载(创建一个字节数组存放class文件,并创建对应的class对象)

,连接(验证,准备,解析)

,初始化(如果父类没有被初始化,则先初始化父类,如果有初始化语句,依次执行这些语句)

类加载是有许多类加载器实现的(双亲委派机制,根加载器为bootstrap加载器)


9.抽象类vs接口

抽象类是部分抽象,接口则是完全抽象

10.java垃圾回收机制会有内存泄露,如hibernate中的一级缓存

11.静态方法不能调用非静态方法,原因是在调用非静态方法时,有可能依赖的对象未实例化

12.创建对象构造器的调用顺序为先加载静态成员,再构造父类构造器,再加载非静态成员,再构造子类构造器

13.字符串反转:reverse方法

14.常见的异常:空指针异常,算术异常,类转换异常,数组越界异常,安全异常

15.sleep和wait方法的区别:

sleep方法(属于线程的方法)不释放当前获得的锁,wait方法(属于object方法)释放锁并进入等待池,当调用notify或notifyall方法时才会重新竞争

16.sleep和yield方法区别:

sleep方法不考虑线程运行的优先级,yield方法会执行相同的优先级或者更高级别的优先级

线程执行完sleep方法会进入阻塞状态,执行完yield方法会进行就绪状态

sleep方法需要抛异常,yield方法不需要抛异常

17.synchronized方法与lock方法不同地方:lock可以完成synchronized实现的功能,但是synchronized方法是自动释放对象锁,而lock方法则是手动释放锁

18.jdbc连接步骤:加载驱动,创建连接,创建sql,执行sql,获取结果,关闭连接

19.产生死锁的条件:互斥条件,请求与保持条件,不剥夺条件,循环等待条件

20.事务的一些名词:

脏读,a事务读取b事务(先执行)未提交的数据,b事务回滚(强调),则a事务读到的数据就是脏读

不可重复读,a事务先读取数据,读取过程中b事务提交(强调)了,则a此时的状态就属于不可重复读

幻读,a执行两次查询,b事务在此中间修改了查询的值,则a第二次查出的数据就属于幻读

第一类丢失更新,a事务执行过程中,将b事务提交的数据给覆盖掉了(最后a事务撤销)

第二类丢失更新,a事务执行过程中,将b事务提交的数据给覆盖掉了(最后a事务提交)

21.设计模式:

工厂模式

代理模式

适配器模式

单例模式

饿汉模式,懒汉模式,构造方法要是私有的

22.java算法和数据结构

23.servlet的生命周期

Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service()方法,service()方法会根据需要调用与请求对应的doGet或doPost等方法;当服务器关闭或项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy()方法

24.jsp的四种作用域,page,request,session,application

25.实现会话跟踪的具体方式

1.url重写,在后面添加一个标识id

2.表单隐藏域,在表单中嵌入标识

3.使用cookie,cookie分两种,一种存放于窗口中,浏览器关闭,cookie消失。另一种则存储在临时文件中,并设置存在时间,会话对象存在于服务器中,cookie存在于浏览器中cookie大小限制为4k,浏览器只允许一个站点最多存放20个cookie

4.使用httpsession

26.过滤器和拦截器的区别


27.监听器

针对jsp的四种作用域(request除外)对象的销毁或创建进行监听

28.session设置超时时间可在web.xml中定义

29.SOA,面向服务的架构,是一种思想,webservice属于其中之一

SOAP,简单对象访问协议,WSDL,web服务描述语言,UDDI,统一描述,开发和集成

30.Java领域的Web Service框架





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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值