这是我最近一段时间内,由于找工作的原因搜集了一堆关于
java基础的面试内容和题目,都是网上的朋友们的,可能很多朋友都见过了,为了方便以后继续使用,特此把自己的一些总结也也贡献给大家。
呵呵,有点乱,也有点重复的,但总比少的好了!
Java 基础知识<o:p></o:p>
<o:p> </o:p>
面向对象的特征:<o:p></o:p>
抽象,封装、继承、多态<o:p></o:p>
面向对象的特征 <o:p></o:p>
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。<o:p></o:p>
2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。<o:p></o:p>
3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。<o:p></o:p>
4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。<o:p></o:p>
<o:p></o:p>
int Integer 的区别:<o:p></o:p>
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。<o:p></o:p>
原始类型封装类<o:p></o:p>
booleanBoolean<o:p></o:p>
charCharacter<o:p></o:p>
byteByte<o:p></o:p>
shortShort<o:p></o:p>
intInteger<o:p></o:p>
longLong<o:p></o:p>
floatFloat<o:p></o:p>
doubleDouble<o:p></o:p>
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。<o:p></o:p>
<o:p> </o:p>
String类和StringBuffer类的区别<o:p></o:p>
<o:p></o:p>
它们都是处理字符串的类,但是它们有一个最大的区别,那就是,String对象是存储你不能改动的文本字符<o:p></o:p>
串,相反,如果你希望改动,则应使用StringBuffer类作为替换<o:p></o:p>
StringBuffer是可变的而String是不可变的.<o:p></o:p>
而且String用得多个的话会占用不同的内存.<o:p></o:p>
如:String str = "bb";<o:p></o:p>
str = "aa";<o:p></o:p>
前一个bb的内存地址不变,当又给它赋值为aa时它又指向aa的地址.<o:p></o:p>
而StringBuffer就不会这样. <o:p></o:p>
:"=="比较的是两个对象的地址,"equals()"比较的是两个对象的值.<o:p></o:p>
<o:p> </o:p>
集合<o:p></o:p>
Collection 层次结构 中的根接口<o:p></o:p>
Collection 表示一组对象,这些对象也称为 collection 的元素<o:p></o:p>
Java集合的缺点:类型未知<o:p></o:p>
总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:<o:p></o:p>
<o:p> </o:p>
Collection<--List<--Vector<o:p></o:p>
Collection<--List<--ArrayList<o:p></o:p>
Collection<--List<--LinkedList<o:p></o:p>
Collection<--Set<--HashSet<o:p></o:p>
Collection<--Set<--HashSet<--LinkedHashSet<o:p></o:p>
Collection<--Set<--SortedSet<--TreeSet<o:p></o:p>
<o:p> </o:p>
List 是基于Array,可以有重复的值<o:p></o:p>
Vector : 基于Array的List很重要的一点就是Vector“sychronized”的,这个也是Vector和ArrayList的唯一的区别<o:p></o:p>
<o:p> </o:p>
ArrayList:基于Array上的链表,但是不同的是ArrayList不是同步的<o:p></o:p>
LinkedList:它不是基于Array的,所以不受Array性能的限制。它每一个节点(Node)都包含两方面的内容:1.节点本身的数据(data);2.下一个节点的信息(nextNode)。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了。这就是LinkedList的优势<o:p></o:p>
<o:p> </o:p>
HashSet:虽然Set同List都实现了Collection接口,但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储<o:p></o:p>
Set总结:<o:p></o:p>
1. Set实现的基础是Map(HashMap);<o:p></o:p>
2. Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象;<o:p></o:p>
<o:p></o:p>
性能时Map所要面对的一个大问题。如果你知道get()时怎么工作的,你就会发觉(比方说)在ArrayList里面找对象会是相当慢的。而这正是 HashMap的强项。它不是慢慢地一个个地找这个键,而是用了一种被称为hash code的特殊值来进行查找的。散列(hash)时一种算法,它会从目标对象当中提取一些信息,然后生成一个表示这个对象的“相对独特”的int。 hashCode()是Object根类的方法,因此所有Java对象都能生成hash code。HashMap则利用对象的hashCode()来进行快速的查找。这样性能就有了急剧的提高。
分享到:
相关推荐
这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),变量的声明与使用,以及运算符的优先级。同时,要熟悉...
2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试...
java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 ...
Java面试大全涵盖了大量的技术知识点,这些内容通常会出现在各大公司的面试过程中。为了帮助你更好地准备,以下是基于描述中提到的“31个文档”可能涉及的一些核心Java面试知识点的详细阐述: 1. **基础概念**:...
Java作为一门广泛应用于后端开发的语言,其面试题涵盖了众多的知识点,包括但不限于基础语法、数据结构、算法、多线程、并发编程、...希望这份"Java面试题总结"能帮助你在面试中展现出最佳状态,祝你找到满意的工作。
Java面试笔试总结主要涵盖了许多Java开发中的核心概念和技术,这些知识点是面试官在评估候选人技能时经常关注的焦点。以下是一些重要的Java知识点,对于准备Java Web开发职位的面试者尤其重要。 1. **Java基础** -...
Java作为一门广泛使用的编程语言,其中高级面试题往往涵盖了多方面的知识点,旨在考察候选人的技术深度和广度。以下是对这些面试题的详细解析: 1. **内存管理与垃圾回收** - Java的内存分为堆内存(Heap)和栈...
这份"java面试题总结资料"应该包含了作者精心整理的各类常见问题和解答,旨在帮助求职者更好地准备面试。 首先,让我们来看看Java基础部分。这部分通常会涉及变量、数据类型、运算符、流程控制语句、类与对象、封装...
发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将这些面试题整理到一个网站上,每天更新 Java 面试题,目前有 1万多道 Java 高频面试题。...
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
### Java面试总结文档知识点解析 #### 一、Java基础篇 - 概念 ##### 1. Linux概述 - **起源与发展**:Linux是由芬兰学生Linus Torvalds于1991年开始创建的一个开源操作系统内核。随着社区的不断发展与完善,Linux...
(实际面试题) 1.在执行速度方面的比较:StringBuilder 快于 StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的...
阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java...
在Java面试中,面试官通常会考察应聘者的语法基础、数据结构与算法、多线程、集合框架、异常处理、IO流、网络编程、设计模式等多个方面的能力。以下是对这些关键知识点的详细阐述: 1. **Java语法基础**:Java的...
以下是一些Java面试中常见的知识点: 1. JDK和JRE的区别: JDK(Java Development Kit)是Java开发工具包,它包含了编写、编译和调试Java应用程序所需的所有工具,包括JRE(Java Runtime Environment)。JRE则是...
JAVA面试问题总结 JAVA是一种广泛应用的编程语言,作为一名JAVA开发者,需要具备扎实的基础知识和实践经验。本文总结了常见的JAVA面试问题,涵盖了JAVA基础、JSP、Servlet、XML、J2EE、MVC、数据库等方面的知识点。...
Java面试宝典2011版-1C,Java基础部分.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf Java面试宝典_2010.doc 面试全攻略100题.doc 智力题和答案.doc C语言面试...
【西安2010Java面试总结】 在2010年的西安Java面试中,面试官主要关注以下几个核心知识点,这些内容对于Java开发者来说至关重要,也是面试官用来评估候选人技术实力的关键标准。 1. **Java基础知识**:面试通常从...
这份"最新Java面试八股文10万字总结"包含了全面的Java知识体系,旨在帮助求职者准备面试,提升对Java技术的理解。 首先,基础篇涵盖了Java语言的基础语法,包括变量、数据类型、运算符、流程控制(如if语句、switch...
【华为Java面试题总结】 在Java开发者的眼中,华为无疑是中国IT行业的巨头,其面试流程严谨,技术要求高。这份“华为Java面试题总结”旨在为准备进入华为的Java工程师提供一些关键知识点的梳理和复习指导。以下是对...