1、面向对象
- 抽象:抽象就是提炼,从众多事物中抽取共同的、与当前目标相关的特征,忽略其他细节,从而形成一个较简单的概念。
- 继承:继承是一种层次模型,子类继承了父类,那么子类与父类就是一种isa的关系,子类继承了父类所有可见的数据和行为,子类也可以通过覆盖和重写以及新增数据和行为来满足更具体的需要。利用继承可以实现代码的复用。
- 封装:将抽象得到的数据和行为整合成一个类,并隐藏类的属性和方法,控制属性和方法的访问级别,对外仅公开接口。
- 多态:将父类的引用指向不同的子类对象,以实现 根据引用对象的不同以不同的方式实现相同的操作。多态性要求面向接口或父类编程,以屏蔽掉不同子类的差别,写出通用的代码。
2、java的数据类型
- 分为 基本类型和引用类型,基本类型有8种:short int long float double byte boolean char。java为每种基本数据类型提供了封装类。引用类型实例变量的缺省值为null,基本数据类型实例变量的缺省值与类型 有关。
3、String与StringBuffer的区别:
- String声明的是不可变对象,如果改变String对象的值,会重新创建一个新的对象,然后将这个对象的引用指向新创建的对象,String是final的,所以不能继承。StringBuffer维护了一个字符数组,适合频繁进行字符串操作。
4、运行时异常和一般异常的异同:
- Throwable是Java所有异常处理的基类,他有两个子类:Error和Exception 。
- Error(错误)是JVM级别的严重错误,一旦发生,JVM将无法继续运行,因此是不可捕获的。
- Exception(异常)主要有两种:Checked和Runtime 。
-
- Checked异常 是编译器要求我们必须catch的异常。
-
- Runtime异常 编译器不要求我们处理。当出现这样的异常时,总是由虚拟机接管,比如:我们从来没有人去处理过NullPointerException异常。当出现运行时异常时,如果不进行处理,那么就会导致线程终止或程序退出。
5、Servlet的生命周期:
- Servlet实例运行在Servlet容器中,其生命周期由Servlet容器管理。
- 加载和实例化:在Servlet容器启动或容器检测到需要某个Servlet来响应第一个请求时,加载和实例化该Servlet,因为实例化Servlet是通过反射来完成的,调用的是默认构造函数,所以在编写Servlet时,不能为它添加带参数的构造函数。
- 初始化:Servlet容器在第一次响应请求之前调用Servlet实例的init()方法,完成诸如数据库连接之类的初始化操作,init()方法可以使用ServletConfig对象从应用程序配置信息中读取必要的参数来完成初始化操作。
- 处理请求:Servlet调用Servlet实例的service()方法完成请求处理,service()调用之前,init()方法必须成功执行,Service()方法通过ServletRequest对象得到客户端的请求信息,通过ServletResponse对象设置响应信息。
- 服务终止:当Servlet容器关闭或检测到Servlet实例应该移出容器时,容器调用Servlet实例的destroy()方法来释放掉它所使用的资源
- 在Servlet的生命周期中init()和destroy()方法都只执行一次。init()方法执行后,Servlet实例被放在内存中通过调用Service()来处理请求。
6、说出ArrayList、Vector、LinkedList的存储性能和特性
- ArrayList和Vector都是使用数组数组方式传递数据,所以支持随机访问(按索引访问),但插入和删除数据会涉及元素移动,因此访问快而插入删除慢。由于Vector使用了synchronized(线程安全),通常性能上较ArrayList差。
- LinkedList使用双向链表实现存储,所以插入删除快而访问数据慢。
7、Collection和Collections的区别:
- Collection是Java集合类的上级接口,他的子类主要有Set和List
- Collections是针对集合类的一个工具类,他提供了一系列的静态方法来实现集合对象的排序、搜索等操作。
8、HashMap和HashTable的区别。
- HashTable是线程同步的,HashMap不是
- HashTable不允许空键值,HashMap允许
- HashTable中有contains方法,HashMap以containsValue和containsKey代替
- HashTable使用Enumeration,HashMap使用Iterator
- 两者使用的哈希码不同
- 两者用来存储数据的数组的容量和增长方式不同
- HashTable继承自Dictionary类,HashMap是java1.2引进的Map接口的一个实现。
9、final,finally,finalize的区别
- final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
- finally是异常处理语句结构的一部分,表示总是执行。
- finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法。可以覆盖此方法,以添加垃圾回收时的其他资源回收操作。
分享到:
相关推荐
### Java基础复习知识点详解 #### 开发中的注意事项 在Java编程初期,经常会出现一些常见的错误,比如找不到文件、单词拼写错误、括号不匹配以及中英文混淆等问题。这些问题虽然简单,但却是初学者最易犯的错误。 ...
java基础复习.xmind
这份"Java基础考试复习资料"涵盖了初学者需要理解的重要概念,旨在帮助广大备考者有效地准备Java相关的考试。以下是一些关键知识点的详细说明: 1. **Java简介**:Java是由Sun Microsystems公司开发的一种跨平台、...
java基础复习
### Java基础复习知识点详解 #### 一、Java语言特点 - **高级编程语言**:Java是一种面向对象的高级编程语言,具有以下特点: - **简单性**:语法简洁,易于学习。 - **结构中立**:独立于硬件结构,能够在各种...
Java基础每日复习笔记-JavaSE高级阶段.edf
"Java基础复习"这个主题涵盖了从入门到进阶的各种概念,旨在帮助学习者巩固和深化对Java语言的理解。以下是一些关键的知识点: 1. **Java语言简介**:Java是一种面向对象的、跨平台的编程语言,由Sun Microsystems...
JAVA理论知识基础复习 JAVA理论知识基础复习是指对JAVA语言的基础知识进行复习和总结,本文将涵盖构造方法、new关键字、方法的重载、特殊变量this、static定义常量、继承、方法的重写、特殊变量super、多态性等相关...
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
Java基础每日复习笔记-JavaSE基础阶段.edf
根据给定的文件内容,我们可以提炼出以下...通过上述分析,我们可以看到,文档的内容虽然由于OCR技术原因,存在一些错误和遗漏,但是仍然覆盖了Java基础知识的多个重要方面,适合用于复习和巩固Java编程的基础概念。
Java基础每日复习Blank.edf
这份“JAVA基础复习资料”涵盖了初学者需要掌握的核心概念,也是经验丰富的开发者回顾基础的宝贵资源。下面,我们将深入探讨这10个章节的主要知识点。 1. **第一章:Java简介** Java的历史、设计哲学以及其在软件...
Java基础知识复习资料
《java基础》复习题精确的让广大网友学习到JAVA的基础知识
这份“Java基础知识复习资料”涵盖了学习Java编程所必需的关键概念和技术,旨在帮助初学者巩固基础,同时也适合有经验的开发者进行回顾。 1. **Java语法基础** - **变量与数据类型**:Java提供了基本数据类型(如...
### Java基础复习知识点 #### 一、Java简介 1. **Java语言起源**:Java语言由Sun Microsystems公司在1991年开始研发,并于1995年正式发布。其最初的目标是为了开发一种能够用于家用电器的编程语言。随着时间的发展...