java面试基础总结
2016-04-27 14:17
447 查看
问题?java面试基础总结,java工程师面试基础总结
1. try[]catch[]finally{} 中, 如果try或catch语句中有return,会先将return表达式的结果保存起来然后看有没有finally语句,如果有finally且finally语句块中没有return语句,则先执行finally语句,然后再返回return表达式的结果,注意此时finally语句块的内容对返回结果没影响如果有finally语句块,且其中有return语句,则会直接返回该语句块的内容。
2. 异常的体系结构: 基类为Throwable,子类有Exception(可恢复异常)和error,error类体系描述了java运行系统中的内部错误以及资源耗尽的情形,不需要捕捉exception分为运行时异常(RuntimeException)和非运行时异常(受检测异常)运行时异常包括常见的类型转换异常,数组越界异常等,不需要被捕获,一般是自动将异常向上抛出,直到遇到处理代码的位置,若没有处理块就会抛出到最上层,多线程用thread.run()抛出,单线程用main()抛出受检测异常必须被throws语句声明或被try捕捉。
3、 java虚拟机规范:所有的对象实例和数组都是要在堆上分配的。 对象所占的堆内存是由自动内存管理系统回收堆内存由存活和死亡的对象还有空闲碎片区组成。
4. java语言中的方法是属于类中对象的成员,静态方法是属于类的成员
5. java中的true,false,null,friendly,sizeof等不是关键字,也不是保留字,只是显示常量值,但是不能在程序中用作标识符 const和goto和synchronized是java中的保留字,是关键字 java中的所有关键字都是小写的
6. 集合体系框架图 待插入
7. servlet的生命周期: 加载--->实例化--->销毁
初始化阶段:
init()方法;仅执行一次,负责在装载servlet时初始化servlet对象servlet启动,会读取配置文件中的信息,加载
servlet类和.class对应的数据创建servletConfig对象和servt对象,将servletConfig作为参数来调用init
方法
运行阶段:
service()方法: 核心方法,负责响应客户的请求。一般HttpServlet中会有get,post俩种处理方式。每当一个客户请
求一个HttpServlet对象,该对象的service()方法就会调用,而且 传递给这个方法一个请求对象
(servletRequest)和一个响应对象(servletResponse)作为参数,并创建servletRequest和
servletResponse对象。 在HttpServlet中已经存在service()方法。默认的服务功能是调用与HTTP请
求 的方法相应的do功能。
销毁阶段:
destroy()方法: 仅执行一次,在服务端停止并且卸载servlet时执行,负责释放资源 一个servlet在运行service()方
法时可能会产生其他线程,因此需要确认在调用destroy() 方法时,这些线程已经终止或完成。
8. 执行顺序:父类的静态代码块-->子类的静态代码块-->父类的非静态代码块-->父类的构造函数-->子类的非静态代码块-->子类的构造函数
9. acstract修饰符用来修饰类和成员方法。不能修饰字段
抽象类中可以没有抽象方法,且抽象类不能被实例化。
抽象方法没有方法体
抽象类和接口的区别
1. try[]catch[]finally{} 中, 如果try或catch语句中有return,会先将return表达式的结果保存起来然后看有没有finally语句,如果有finally且finally语句块中没有return语句,则先执行finally语句,然后再返回return表达式的结果,注意此时finally语句块的内容对返回结果没影响如果有finally语句块,且其中有return语句,则会直接返回该语句块的内容。
2. 异常的体系结构: 基类为Throwable,子类有Exception(可恢复异常)和error,error类体系描述了java运行系统中的内部错误以及资源耗尽的情形,不需要捕捉exception分为运行时异常(RuntimeException)和非运行时异常(受检测异常)运行时异常包括常见的类型转换异常,数组越界异常等,不需要被捕获,一般是自动将异常向上抛出,直到遇到处理代码的位置,若没有处理块就会抛出到最上层,多线程用thread.run()抛出,单线程用main()抛出受检测异常必须被throws语句声明或被try捕捉。
3、 java虚拟机规范:所有的对象实例和数组都是要在堆上分配的。 对象所占的堆内存是由自动内存管理系统回收堆内存由存活和死亡的对象还有空闲碎片区组成。
4. java语言中的方法是属于类中对象的成员,静态方法是属于类的成员
5. java中的true,false,null,friendly,sizeof等不是关键字,也不是保留字,只是显示常量值,但是不能在程序中用作标识符 const和goto和synchronized是java中的保留字,是关键字 java中的所有关键字都是小写的
6. 集合体系框架图 待插入
7. servlet的生命周期: 加载--->实例化--->销毁
初始化阶段:
init()方法;仅执行一次,负责在装载servlet时初始化servlet对象servlet启动,会读取配置文件中的信息,加载
servlet类和.class对应的数据创建servletConfig对象和servt对象,将servletConfig作为参数来调用init
方法
运行阶段:
service()方法: 核心方法,负责响应客户的请求。一般HttpServlet中会有get,post俩种处理方式。每当一个客户请
求一个HttpServlet对象,该对象的service()方法就会调用,而且 传递给这个方法一个请求对象
(servletRequest)和一个响应对象(servletResponse)作为参数,并创建servletRequest和
servletResponse对象。 在HttpServlet中已经存在service()方法。默认的服务功能是调用与HTTP请
求 的方法相应的do功能。
销毁阶段:
destroy()方法: 仅执行一次,在服务端停止并且卸载servlet时执行,负责释放资源 一个servlet在运行service()方
法时可能会产生其他线程,因此需要确认在调用destroy() 方法时,这些线程已经终止或完成。
8. 执行顺序:父类的静态代码块-->子类的静态代码块-->父类的非静态代码块-->父类的构造函数-->子类的非静态代码块-->子类的构造函数
9. acstract修饰符用来修饰类和成员方法。不能修饰字段
抽象类中可以没有抽象方法,且抽象类不能被实例化。
抽象方法没有方法体
抽象类和接口的区别
相关文章推荐
- <<程序员面试宝典>>读书笔记 4
- PHP百度面试题:版本号排序
- 转行程序员2 机器学习 线性回归 Linear Regression II 纯属敦促自己学习
- GEEK学习笔记— —程序员面试宝典笔记(五)
- php面试题及答案
- 面试经历和总结
- android面试题(一)
- 漫谈程序员系列:咦,你也在混日子啊
- 码农小汪-非常不安逸 怎么我写的注解没有自动给我生成时间呢!javadoc 配置起来非常的简单
- 【图灵有聊】说好的安全呢?
- 奋斗吧,程序员——第十七章 年年岁岁花相似,岁岁年年人不同
- 面试感悟----一名3年工作经验的程序员应该具备的技能
- 笔试面试题一
- 找工作的感受和今天一场奇葩的面试
- hadoop面试100道收集(带答案)
- 值得程序员和设计师关注的微信公众号
- Java---练习(面试题) :字符串截取(1)
- Java---练习(面试题) :字符串截取(1)
- 职业猎头是怎么让高级人才上钩的?这里有挖掘能人的5个原则
- lintcode之不同子序列数 + 序列II