java面试题总结(精华)
2010-10-11 11:42
344 查看
1,String 是最基本的数据类型吗?
不是。
Java中数据类型分为基本数据类型和引用数据类型。
基本的数据类型有8种:boolean,byte,char,shot,int,float,long,double.
引用数据类型分为3种:类,接口,数组。
java.lang.string 类是final类型的,因此不能继承这个类,不能修饰这个类。
2, int和Integer有什么区别?
int是基本数据类型,Integer是java为int提供的封装类。
声明为int的变量不需要实例化,声明为Integer的变量需要实例化。
Integer 是比int更高级的数据类型,具有不同的特性和用法,包括:大小、速度、数据存储结构、缺省值。
3,String和StringBuffer的区别?
String a = "a"; //假设a指向地址0x0001
a = "b"; //重新赋值后a指向新地址0x0002,但0x0001那块地址中保存的“a”任然存在。
事实是String不能改变值,只能改变指向。
StringBuffer直接改变指向的地址中保留的值。
String类中重新定义了equals这个方法,比较的是值。StringBuffer没有重新定义equals这个方法,因此这个方法就来自object类,比较的是地址。
4,谈谈java中值传递和引用传递?
引用数据类型:指向一片内存空间地址的变量类型。任何引用数据类型的初始化都需要先用new关键字来开辟一片内存空间,然后让引用数据类型指向这个空间的地址。
引用传递:一般情况下,我们声明一个变量:
Object o = new Object();
实际上创建一个引用(Object o)和一个对象(new Object),java的内存模型中有堆和栈两个空间,将引用放入栈,将对象放入堆。“引用”的值是对象在堆中的地址,“对象”是值的真正数据。
值传递:java中8种基本数据类型不是对象,为了节省空间,其值直接存在了栈里。
把堆指向一个栈,这就完成了创建一个对象的实例过程。
5,Servlet 的生命周期?
Servlet 是一种独立于平台和协议的服务器端的java应用程序。
第一次请求的时候被初始化,只一遍
初始化后先调用Init方法,只一遍
Servlet类加载--->servlet实例化--->调用init方法--->调用service()方法--->
调用destory()方法。
在servlet的生命周期中,仅执行一次init()方法。它是在服务器装入servlet时执行的。
destory()方法仅执行一次,即在服务器停止且卸装servlet时执行。
6,Collection 和Collections的区别?
collection是集合类的上级接口,继承于它的接口主要有set和list。
collections是针对集合类的一个帮助类,它提供了一系列静态的方法实现了堆各种集合的排序、搜索和线程安全操作。
7,java集合概述
java集合只能存放引用类型的数据,不能存放基本数据类型。
java集合主要分为3种类型:
set(集)、list(列表)、map(映射)
set是最简单的一种集合,集合中对象不按特定的方式排序,并且没有重复对象。
--HashSet:按照哈希算法来存取集合中的对象,存取速度比较快。
--TreeSet:实现了Sortedset接口,能对集合中的元素排序。
List的特性是其元素以线性方式存储,集合中可以存放重复对象。
--ArrayList():长度可以改变的数组。
--LinkList():采用链表的数据结构。访问速度快。
不是。
Java中数据类型分为基本数据类型和引用数据类型。
基本的数据类型有8种:boolean,byte,char,shot,int,float,long,double.
引用数据类型分为3种:类,接口,数组。
java.lang.string 类是final类型的,因此不能继承这个类,不能修饰这个类。
2, int和Integer有什么区别?
int是基本数据类型,Integer是java为int提供的封装类。
声明为int的变量不需要实例化,声明为Integer的变量需要实例化。
Integer 是比int更高级的数据类型,具有不同的特性和用法,包括:大小、速度、数据存储结构、缺省值。
3,String和StringBuffer的区别?
String a = "a"; //假设a指向地址0x0001
a = "b"; //重新赋值后a指向新地址0x0002,但0x0001那块地址中保存的“a”任然存在。
事实是String不能改变值,只能改变指向。
StringBuffer直接改变指向的地址中保留的值。
String类中重新定义了equals这个方法,比较的是值。StringBuffer没有重新定义equals这个方法,因此这个方法就来自object类,比较的是地址。
4,谈谈java中值传递和引用传递?
引用数据类型:指向一片内存空间地址的变量类型。任何引用数据类型的初始化都需要先用new关键字来开辟一片内存空间,然后让引用数据类型指向这个空间的地址。
引用传递:一般情况下,我们声明一个变量:
Object o = new Object();
实际上创建一个引用(Object o)和一个对象(new Object),java的内存模型中有堆和栈两个空间,将引用放入栈,将对象放入堆。“引用”的值是对象在堆中的地址,“对象”是值的真正数据。
值传递:java中8种基本数据类型不是对象,为了节省空间,其值直接存在了栈里。
把堆指向一个栈,这就完成了创建一个对象的实例过程。
5,Servlet 的生命周期?
Servlet 是一种独立于平台和协议的服务器端的java应用程序。
第一次请求的时候被初始化,只一遍
初始化后先调用Init方法,只一遍
Servlet类加载--->servlet实例化--->调用init方法--->调用service()方法--->
调用destory()方法。
在servlet的生命周期中,仅执行一次init()方法。它是在服务器装入servlet时执行的。
destory()方法仅执行一次,即在服务器停止且卸装servlet时执行。
6,Collection 和Collections的区别?
collection是集合类的上级接口,继承于它的接口主要有set和list。
collections是针对集合类的一个帮助类,它提供了一系列静态的方法实现了堆各种集合的排序、搜索和线程安全操作。
7,java集合概述
java集合只能存放引用类型的数据,不能存放基本数据类型。
java集合主要分为3种类型:
set(集)、list(列表)、map(映射)
set是最简单的一种集合,集合中对象不按特定的方式排序,并且没有重复对象。
--HashSet:按照哈希算法来存取集合中的对象,存取速度比较快。
--TreeSet:实现了Sortedset接口,能对集合中的元素排序。
List的特性是其元素以线性方式存储,集合中可以存放重复对象。
--ArrayList():长度可以改变的数组。
--LinkList():采用链表的数据结构。访问速度快。
相关文章推荐
- [转载] JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
- java基础知识精华总结 java面试题 深圳酷琪 kuuqii.com 电脑配件软件 硬件一体化采购平台
- JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
- JAVA JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- 只有面试官想不到,没有我归纳不出 超详细的Java面试题总结
- 个人整理总结:java面试题之int和Integer的区别
- java android面试题分析总结
- 2018年一线互联网公司Java高级面试题总结
- 根据面试题总结的一些初中级java面试知识点
- java面试题总结
- 饿了么java面试题(三轮面试亲身经历总结)
- Java核心技术及面试指南 线性表方面的面试题总结以及答案
- 各大公司Java后端开发面试题总结
- IT名企常见面试题总结之Java篇(一)
- 各大公司Java后端开发面试题总结
- JAVA基础知识精华总结
- Java继承知识点总结(加面试题实例)
- 各大公司Java后端开发面试题总结