JA VA 面试题总结
- 格式:doc
- 大小:51.00 KB
- 文档页数:5
40个Java集合面试问题和答案Java集合问题有哪些?下面是yjbys整理的40个Java集合和答案,希望对你有帮助!1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。
随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。
在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。
它还包括在Java并发包中,阻塞接口以及它们的实现。
集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。
(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。
(3)通过使用JDK附带的集合类,可以降低代码维护成本。
(4)复用性和可操作性。
2.集合框架中的泛型有什么优点?Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。
泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。
这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。
泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。
它也给运行时带来好处,因为不会产生类型检查的字节码指令。
3.Java集合框架的基础接口有哪些?Collection为集合层级的根接口。
一个集合代表一组对象,这些对象即为它的元素。
Java平台不提供这个接口任何直接的实现。
Set是一个不能包含重复元素的集合。
这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。
List是一个有序集合,可以包含重复元素。
你可以通过它的索引来访问任何元素。
List更像长度动态变换的数组。
Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。
一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。
第1篇一、Java基础知识1. 请简述Java语言的特点。
2. 什么是Java虚拟机(JVM)?它有什么作用?3. 什么是Java的内存模型?请解释Java内存模型中的几个关键概念:堆、栈、方法区、程序计数器、本地方法栈。
4. 什么是Java中的反射机制?请举例说明反射在Java中的应用。
5. 什么是Java中的泛型?请解释泛型的原理和作用。
6. 请简述Java中的四种访问控制符:public、protected、default、private。
7. 什么是Java中的继承和多态?请举例说明继承和多态在实际开发中的应用。
8. 什么是Java中的封装?请举例说明封装在实际开发中的应用。
9. 什么是Java中的接口和抽象类?它们之间有什么区别?10. 什么是Java中的异常处理?请解释try-catch-finally语句的执行顺序。
二、Java集合框架1. 请列举Java集合框架中的常用集合类及其特点。
2. 请简述ArrayList、LinkedList、HashMap、HashSet的区别。
3. 什么是Java中的泛型集合?请举例说明泛型集合的应用。
4. 什么是Java中的迭代器(Iterator)和枚举器(Enum)?请比较它们的区别。
5. 什么是Java中的List、Set、Map的遍历方法?6. 请解释Java中的ArrayList和LinkedList的内部实现原理。
7. 什么是Java中的HashMap的扩容机制?8. 什么是Java中的HashSet的内部实现原理?9. 请解释Java中的线程安全集合类,如CopyOnWriteArrayList、ConcurrentHashMap。
三、Java多线程与并发1. 什么是Java中的线程?请解释线程的创建、调度和同步。
2. 请简述Java中的线程状态,如新建、就绪、运行、阻塞、等待、超时等待、终止。
3. 什么是Java中的同步机制?请解释synchronized关键字的作用。
Java程序员面试题集(含答案)第一,谈谈final, finally, finalize的区别。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以i mplements(实现)interface(接口)?第三,Static Nested Class 和Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
第五,HashMap和Hashtable的区别。
第六,Collection 和Collections的区别。
第七,什么时候用assert。
第八,GC是什么? 为什么要有GC?第九,String s = new String("xyz");创建了几个String Object?第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?第十二,sleep() 和wait() 有什么区别?第十三,Java有没有goto?第十四,数组有没有length()这个方法? String有没有length()这个方法?第十五,Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型?第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是eq uals()? 它们有何区别?第十七,给我一个你最常见到的runtime exception。
第十八,error和exception有什么区别?第十九,List, Set, Map是否继承自Collection接口?第二十,abstract class和interface有什么区别?第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是sy nchronized?第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?第二十三,启动一个线程是用run()还是start()?第二十四,构造器Constructor是否可被override?第二十五,是否可以继承String类?第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?第二十八,编程题: 用最有效率的方法算出2乘以8等於几?第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?第三十二,编程题: 写一个Singleton出来。
Java面试题及答案整理Java 最常见的面试题的答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的。
这些答案难免会存在一些错误,仅供大家参考。
如果发现错误还望大家多多包涵,不吝赐教,谢谢~如果不背Java 面试题的答案,肯定面试会挂!这套Java面试题大全,希望对大家有帮助哈~博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的Java1、 java常见2021年最新面试题附答案解析2、 java常见面试题及答案汇总2021年最新版3、 java常见面试题2021年及答案汇总4、 java最新2021年面试题及答案汇总版5、 java最新2021年面试题大汇总附答案6、 java最新2021年面试题附答案解析大汇总7、 java最新2021年面试题高级面试题及附答案解析8、 java最新基础面试题及答案整理9、 java最新面试题2021年常见面试题及答案汇总10、 java最新面试题及答案整理汇总版11、 java最新面试题及答案附答案汇总12、 java最新面试题2021年面试题及答案汇总13、 java最新面试题常见面试题及答案汇总14、 java面试2021秋招面试问题附答案15、 java面试题及答案整理汇总2021年最新版16、 java面试题及答案整理2021年最新汇总版17、 java面试题大全带答案持续更新18、 java面试题大汇总2021年附答案解析19、 java面试题大汇总2021面试题及答案汇总20、 java面试题目大汇总附参考答案21、 java高级面试题及答案2021版22、 java高级面试题及答案企业真面试题23、 java高级面试题及答案最新版24、 java高级面试题合集附答案解析25、 java高级面试题整理及答案26、 java高级面试题中级面试题大汇总1、抽象工厂模式和原型模式之间的区别?抽象工厂模式:通常由工厂方法模式来实现。
Java经典面试题及答案(200题) Java经典面试题200道Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java 开发工具包,提供了Java 的开发环境和运行环境。
JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。
简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。
2. == 和 equals 的区别是什么?「== 解读」对于基本类型和引用类型 == 的作用效果是不同的,如下所示:基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;代码示例:String x = "string";String y = "string";String z = new String("string");System.out.println(x==y); // trueSystem.out.println(x==z); // falseSystem.out.println(x.equals(y)); // trueSystem.out.println(x.equals(z)); // true代码解读:因为 x 和 y 指向的是同一个引用,所以 == 也是 true,而 new String()方法则重写开辟了内存空间,所以 == 结果为 false,而 equals 比较的一直是值,所以结果都为 true。
「equals 解读」equals 本质上就是 ==,只不过 String 和 Integer 等重写了equals 方法,把它变成了值比较。
1. 【基础题】请描述访问控制符的各自作用域与区别答:√√√√√√√√√一、名词解释二、问答题1. 【中等题】请说出ArrayList和Vector的区别答:主要从二方面来说.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Vector 默认增长为原来一培,而ArrayList却是原来的一半2. 【中等题】请说出HashMap和Hashtable的区别答:HashMap与HashT able主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的三.值:只有HashMap可以让你将空值作为一个表的条目的key或value3. 【基础题】Collection 和Collections的区别答:Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口第十八章输入输出笔试题一、填空题1. 【基础题】File对象的isFile()方法作用是判断是否是文件,getAbsolutePath() 方法作用是获取文件或目录的绝对路径。
2. 【基础题】BufferedReader和BufferedWriter以字符流的方式读写文本文件,且效率更高。
3. 【基础题】FileInputStream和FileOutputStream以字节流的方式读写文本文件。
二、选择题1. 【基础题】下列哪个类是实体类(BC )A. InputStreamB. PrintStreamC. SocketD. ReaderE. DataInput2. 【提高题】请选择下列程序的运行结果(A)public class TestIOapp{public static void main(String [] args) throws IOException{StringReader stingin = new StringReader("test");LineNumberReader in = new LineNumberReader(stingin);PrintWriter out = new PrintWriter(System.out);out.println(in.readLine());out.flush();}}A. testB. test:1C. 1:testD. 1 test3. 【提高题】请选择下列程序的运行结果( B )public class TestIOapp{public static void main(String [] args) throws IOException{RandomAccessFile file = new RandomAccessFile("test.txt","rw");file.writeBoolean(true);file.writeInt(123456);file.writeInt(7890);file.writeLong(1000000);file.writeInt(777);file.writeFloat(.0001f);file.seek(5);System.out.println(file.readInt());}}A. 123456B. 7890C. 1000000D. 777E. 0001三、名词解释四、问答题1. 【中等题】请说出java.io.reader和java.io.inputstream的区别答:java.io.Reader 和java.io.InputStream 组成了Java 输入类。
第一篇:Java面试题个人总结+ 答案本人最近参加了大大小小很多公司的面试,在这里我把自己面试遇到的问题给大家说一下JAVA基础篇1、在java类加载器中,系统类加载器和用户自定义加载器那个先加载?(遇到这个问题时感觉很意外,没有想到会问这样的问题)先加载系统类加载器Java类加载器加载类顺序依次为:JVM类加载器:这个模式会加载JAVA_HOME/lib下的jar包扩展类加载器:会加载JAVA_HOME/lib/ext下的jar包系统类加载器:这个会去加载指定了classpath参数指定的jar文件用户自定义类加载器:sun提供的ClassLoader是可以被继承的,允许用户自己实现类加载器2、堆和栈分别存放什么?栈:基本数据类型和对象的引用堆:对象和数组3、String、StringBuffer、StringBuilder的区别(1)String是不可变对象,也就是说每次修改String都是新建了一个对象并赋值(2)StringBuffer是字符缓冲区,修改它不会新建对象,可以使用append()方法和delete()方法修改StringBuffer的值(3)StringBuilder可以替代StringBuffer,它是一个单线程使用的类,和StringBuffer比速度快、效率高,但是是非安全的(4)三者都是被final修饰的(这一点面试官的问我的时候一直在说,你确定吗?搞得我有点虚)4、Java的异常和错误有什么区别?(1)Error Error是JVM的错误,这种错误会严重影响程序的运行,设计者不会设计程序代码去捕捉这种错误,因为即使捕捉到也无法给予适当的处理,比如内存溢出。
(2)Exception Exception包含了一般性的异常,这些异常同在在捕捉到之后便可做妥善的处理,以确保程序继续运行。
Exception有很多种分类,从Exception产生的时机上我们可以把Exception分为①运行时异常运行时异常是指程序运行过程中可能出现的非正常状态②非运行时异常非运行时异常是指方法声明时throws的异常5、&和&&的区别&是位运算符,表示按位与运算。
面试指南百度Java工程师面试题汇总1.Spring或者数据库的事物隔离级别和传播特性是怎样的2.final都能修饰什么,它起到什么作用3.statement和prepareStatement两者有什么区别4.HashMap和HashTable主要的区别是什么5.LinkedList和ArrayList的区别是什么6.HashMap底层的数据结构是怎样的7.数据库的索引是如何实现的,主键索引和联合索引数据结构有什么区别8.Servlet的原理是什么,是否是线程平安的9.JDBC的目的是什么,是一种接口还是一种实现(JDBC本身是一种标准,每种数据库的JDBC是一种实现),有什么主要的技术10.用过哪种连接池,为什么要用连接池11.用过哪些缓存,用于什么场景,redis怎么实现分布式锁1.写一个单例模式2.斐波那契数列的递归与遍历实现3.给定2,3,5面值的硬币假设干,给出一个数字,计算拼凑这个数字最少用到硬币的个数4.有10亿个数字,如何找出top100.(引申问题,链表与数组的的选用)5.HashMap的内部数据结构(第二次问),Rehash的实现6.ConcurrentHashMap的实现原理,与HashTable区别是什么(分Segment)7.Java有哪些同步机制8.数据库有哪些锁,哪些引擎,分别共享锁和排他锁的区别,应用场景有什么不同9.B树和B+树的区别,为什么选用B+树作为数据库索引,B+数的孩子节点索引用什么方法查找(二分法……),为什么mysql推荐自增int作为主键10.redis的分布式锁用了什么方法实现(setNX背后的数据结构)11.synchronize都能修饰什么,有什么区别12.volatile解决了什么问题,原理是什么1.Java的异常有几种2.ThreadLoacl的原理是什么,怎么应用3.写一个观察者模式和修饰者模式4.Java都有哪些链接池,链接池的的原理是什么,具体的技术细节,包括核心工作线程,linkedBlockingQueue的原理,一些场景会发生什么(队列满了会怎样,队列空了工作线程会怎样等)5.servlet的技术细节、原理、线程平安、工作流程6.Stirng,StringBuilder,StringBuffer之间的区别7.简述一下GC8.简述一下AOP9.Java有哪些Lock10.Concurrent包都有哪些类,为什么要有concurrent类11.TreeMap背后的数据结构是什么,红黑树的原理是什么12.一些复杂的SQL怎么写,四种连接都是什么样的13.多线程程序如何设计。
中级java面试题及答案整理中级Java面试题及答案整理1. 什么是Java虚拟机(JVM)?Java虚拟机(JVM)是一个可以执行Java字节码的虚拟计算机。
它是一个抽象计算机的概念,提供了一种机制,使得Java程序可以在多种平台上运行而不需要重新编译。
2. 解释Java中的多线程。
Java中的多线程允许程序同时执行两个或多个线程。
线程是程序执行的最小单位,每个线程可以独立执行任务。
Java提供了Thread类和Runnable接口来创建和管理线程。
3. 什么是Java集合框架?Java集合框架是一组接口和类,提供了一种存储和处理对象集合的方式。
它包括List、Set和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。
4. 如何在Java中实现单例模式?单例模式确保一个类只有一个实例,并提供一个全局访问点。
在Java 中实现单例模式的一种方法是使用私有构造函数和静态变量来存储实例。
5. 什么是Java中的异常处理?异常处理是Java中用于处理程序运行时发生的异常情况的机制。
它包括try、catch、finally和throw关键字,以及自定义异常类。
6. 解释Java中的垃圾回收机制。
垃圾回收是Java内存管理的一个特性,它自动回收不再使用的对象所占用的内存。
Java虚拟机(JVM)有一个垃圾回收器,定期检查内存中的对象,并回收那些不再被引用的对象。
7. 什么是Java反射?Java反射API允许程序在运行时查询和操作类、接口、字段和方法。
它提供了一种动态访问和操作Java对象的方式。
8. 什么是Java注解?注解(Annotations)是Java语言的一个特性,用于在代码中添加元数据。
注解可以用于类、方法、变量等元素上,通常用于编译时或运行时的处理。
9. 什么是Java泛型?泛型是Java 5引入的一个特性,它允许在编译时进行类型检查,从而避免运行时的类型错误。
java面试题综合题JA V A综合面试题java面试题综合题目录Java面试题整理 (9)Java面向对象 (9)1. super()与this()的区别? (9)2. 作用域public,protected,private,以及不写时的区别? (9)3. 编程输出如下图形。
(9)4. JAVA的事件委托机制和垃圾回收机制 (9)5. 在JAVA中,如何跳出当前的多重嵌套循环? (10)6. 什么是java序列化,如何实现java序列化?(写一个实例) (10)7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? (10)8. 排序都有哪几种方法?请列举。
用JAVA实现一个快速排序? (10)9. Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型? (10)10. Final类有什么特点? (10)11. 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? (10)12. 内部类的实现方式? (11)13. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? (12)14. 如在COLLECTION框架中,实现比较要实现什么样的接口? (12)15.用插入法进行排序代码如下 (12)16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
(13)15、Java编程,打印昨天的当前时刻 (14)16、文件读写,实现一个计数器 (14)17、指出下面程序的运行结果。
(14)18、抽象类和接口的区别? (15)19、什么是类的返射机制? (15)20、类的返射机制中的包及核心类? (15)21、得到Class的三个过程是什么? (15)22、如何唤起类中的一个方法? (16)23、如何将数值型字符转换为数字(Integer,Double)? (16)24、如何将数字转换为字符? (16)25、如何去小数点前两位,并四舍五入。
1、数组有没有length()这个方法,String有没有length()这个方法?数组没有length()这个方法,有length这个属性;String有length()这个方法。
2、使用final修饰一个变量时,是引用不能变还是引用的对象不能变?使用final修饰一个变量时,是引用不能变,引用变量中所指向的对象内容可以变。
3、是否可以从一个static的内部发出一个非static的调用?不可以,因为非static的方法是要与对像关联在一起的,必须创建一个对象后,才可以在该对象上进行方法的调用,而static方法调用时不需要创建对象,可以直接调用。
4、String s=new String(“xyz”)创建了几个String Object?两个对象,一个是”xyz”,一个是”xyz”所指向的引用对象。
5、静态变量和实例变量的区别?在语法上:静态变量前要加static关键字,实例变量则不加;在程序运行上:实例变量是某个对象的属性,必须创建了实例对象,实例变量才会被分配空间,才能使用这个变量。
静态变量,也成为类变量,因为他不属于某个对象而是属于类,在程序加载类的字节码时,静态变量就被分配空间,可直接被调用。
总之,实例变量必须要创建对象后才能通过这个对象被调用,静态变量则可以直接使用类名调用。
6、接口与抽象类的区别?1)抽象类可以有构造方法,接口中没有。
2)抽象类可以由普通的成员变量,接口中没有。
3)抽象类中可以包含非抽象的普通方法,接口中必须都是抽象的。
4)抽象类中的抽象方法可以是public和protected,接口中的抽象方法却只能是public,并且默认的是public abstract类型5)抽象类可包含静态方法,接口中不能包含静态的方法6)抽象类和接口中都可以包含静态的成员变量,抽象类中的静态成员变量的访问类型可以是任意的,而接口中定义的变量却只能是public static final类型,并默认的就是public static final类型。
7、==和equals的区别?==是判断两个引用变量是否指向同一个实例;Equals是判断两个值是否相等。
8、set里的只是不能重复的,用什么方法可以区分重复与否?==还是equals,他们有什么区别?Set里不能有重复值,用iterater()的方法区分重复值,equals是判断两个set是否相等,==是决定两个引用值是否同时指向同一个对象equals被覆盖,当两个被分离的对象的内容和类型匹配的话返回真值。
9、接口是否可以继承接口?抽象类是否可以实现(implements)接口?抽象类是否可以继承实体类?接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类,但实体类必须有明确的构造函数。
10、java中有几种类型的流?Jdk中为每种类型的流提供了一些抽象类以供继承,请说出这些类?字节流、字符流。
字节流继承于InputStream和OutputStream,字符流继承于InputStreamReader和OutputStreamWriter。
在java.io包中还有很多其他的类,主要是为了提高性能和使用方便。
11、基本类型之间的转换Byte-->short-->int-->long-->float-->doubleChar-->int12、String是最基本的数据类型吗?基本数据类型包括:byte、short、char、int 、long、float、double、boolean。
ng.String是final类型的,不可继承及修改。
所以为了提高效率节省空间,建议用StringBuffer。
13、int和integer的区别?Java提供了两种不同的类型:引用类型和原始类型。
Int是java的原始类型;integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
原始类型封装类:shortShort charCharacter booleanBoolean longLong floatFloat doubleDouble intInteger byteByteint缺省值是0;integer是对象类型的所以缺省值是null。
14、math.round(11.5)=? Math.round(-11.5)=?Java提供了三个与取整有关的方法:ceil、floor、roundCeil的英文意思是天花板,表示向上取整即取大于这个数的最小整数。
Floor的英文意思是地板,表示向下取整即小于这个数的最大整数。
Round表示四舍五入,方法为math.floor(x+0.5),即原来的数加上0.5向下取整,所以math.round(11.5)=12 math.round(-11.5)=-11。
15、String和StringBuffer的区别Java平台提供了两个类:String和StringBuffer。
它们可以存储和操作字符串,即含有多个字符的字符数据。
String提供数之不可改变的字符串,而StringBuffer可以进行修改。
因此字符串需要修改时可以用StringBuffer。
16、jsp的内置对象及方法1)异常处理对象:exception2)输入输出对象:out request response3)作用域控制对象:page request session application4)Servlet相关对象:Config Context17、jsp中页面转向的两种方式,他们的区别是什么?Response.sendRedirect()和<jsp:forward>前者不转发请求,后者转发请求。
18、介绍一下对MVC的理解,以及在什么情况下使用MVC,及MVC的优点和各部分有哪些实现、怎么实现?MVC是一种设计模式model-view-controler的简写,一般在大中型的项目中都可采用MVC。
Model模型层:指用来实现具体功能的处理,实现技术:bean dao service;View视图层:指给用户用来进行请求输入的窗口和结果显示的页面,实现技术:jsp html;Controler控制层:指用来实现流程的控制中心,实现技术:servlet。
优点:将model和view分离,是网页设计师和程序员可以独立工作,组件可以增加程序的重用性,增加网站功能的扩充的弹性。
19、静态方法和静态变量的使用静态方法可以通过类名直接访问,静态变量可以在同一个类的不同实例之间共享。
20、conlection和conlections的区别Conlection是集合类的上级接口,继承与它的类主要有set 和list;Conlections是集合类的帮助类,他提供一些静态方法实现对各种集合的搜索、排序、线程安全化等操作。
21、jsp中静态include和动态include的区别动态的include用jsp:include动作实现<jsp:include page=”incliude.jsp” flush=”true”>他总是会检查包含页面的变化,适合用于包含动态页面,并可以带参数;静态include用include伪码实现,他一定不会检查包含页面的变化,适用于包含静态页面<%@ include file=”include.jsp”%>22、finally子句的执行时间?Finally在任何情况下都执行,除非在它之前出现了system.exit(0)23、谈谈final、finally和finalize的区别Final用于声明属性、方法和类,分别表示属性不可修改、方法不可覆盖、类不可继承。
Finally是异常处理语句的一部分,表示总是执行。
Finalize是Object类的一个方法,在垃圾收集器执行时调用被回收的对象的此方法,此方法也可被其他方法覆盖提供垃圾回收时的其他方法,如:关闭文件等。
24、java语句中如何进行异常处理?关键字:throw throws try catch finally 分别代表什么意义?在try块中执行一段程序,如果出现异常,系统会(throws)抛出一个异常,然后(catch)捕获异常。
用try来指定一块预防所有"异常"的程序。
紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。
throw语句用来明确地抛出一个"异常"。
throws用来标明一个成员函数可能抛出的各种"异常"。
Finally为确保一段代码不管发生什么"异常"都被执行一段代码。
25、对数据库进行修改时如何保证数据的完整性?用事物保证(事物是sql语句的集合)。
26、说出servlet的生命周期以及servlet和CGI的区别1)定位和加载:根据用户请求的servlet地址,在web.xml定位servlet物理文件。
将servlet 类加载到servlet容器上2)实例化:进行默认无参构造函数的实例化3)初始化:调用init方法进行成员变量初始化4)请求(服务)处理:servlet的service方法接受用户请求。
根据当前用户请求是get方法还是post方法,servlet在自动将请求信息发送给doget或者dopost进行处理。
5)销毁:执行dectroy方法,释放servlet占用的资源。
27、如何实现servlet的单线程模式?<%@ page isThreadSafe=”false”%>28、cookies和session的区别?Cookies数据写在客户端,session数据在服务器上,且用户端可以多页面共享。
29、jsp中连接数据库的方法Jdbc连接、连接池连接30、文件流是什么?基于文件的IO:包括输入、输出流。
31、线程的基本概念、状态以及状态之间的关系?线程是在程序执行过程中,能够执行程序代码的一个执行单位,每个程序都至少有一个线程,就是程序本身。
线程状态:运行、就绪、挂起、结束。
调用线程的start方法运行进入就绪状态,然后继续运行状态,再进入挂起状态,当线程有关的代码运行完毕后变成结束状态。
32、线程的实现方法是什么?同步的实现方法是什么?线程有两种实现方法:一是继承Thread,二是继承Runnable。
同步的实现方法有两种:一种是synchronized,一种是wait()和notify()。
33、多线程的暂停与启动?线程暂停的方法已经废弃,但可以利用一个boolean值是线程空转,从而达到暂停的目的。
改变boolean值使线程从暂停到运行。
34、javaBean的定义?javaBean是一种可重复的、跨平台的软件组件。