`
yousking
  • 浏览: 33402 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java面试大总结(1)

    博客分类:
  • J2EE
阅读更多
  这是我最近一段时间内,由于找工作的原因搜集了一堆关于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 提供两种不同的类型:引用类型和原始类型(或内置类型)。Intjava的原始数据类型,Integerjavaint提供的封装类。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 : 基于ArrayList很重要的一点就是Vectorsychronized”的,这个也是VectorArrayList的唯一的区别<o:p></o:p>

<o:p> </o:p>

ArrayList:基于Array上的链表,但是不同的是ArrayList不是同步的<o:p></o:p>

LinkedList:它不是基于Array的,所以不受Array性能的限制。它每一个节点(Node)都包含两方面的内容:1.节点本身的数据(data);2.下一个节点的信息(nextNode)。所以当对LinkedList做添加,删除动作的时候就不用像基于ArrayList一样,必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了。这就是LinkedList的优势<o:p></o:p>

<o:p> </o:p>

HashSet:虽然SetList都实现了Collection接口,但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是SetList的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储<o:p></o:p>

Set总结:<o:p></o:p>

1. Set实现的基础是MapHashMap);<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 codeHashMap则利用对象的hashCode()来进行快速的查找。这样性能就有了急剧的提高。

分享到:
评论

相关推荐

    java面试题总结资料

    这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),变量的声明与使用,以及运算符的优先级。同时,要熟悉...

    Java面试总结(珍藏版)

    2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试题目总结 珍藏版 2012各大公司Java面试...

    java面试100题及面试技巧总结

    java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 ...

    java面试大全。各大公司面试总结。知识点总结,共31个文档

    Java面试大全涵盖了大量的技术知识点,这些内容通常会出现在各大公司的面试过程中。为了帮助你更好地准备,以下是基于描述中提到的“31个文档”可能涉及的一些核心Java面试知识点的详细阐述: 1. **基础概念**:...

    Java面试题总结

    Java作为一门广泛应用于后端开发的语言,其面试题涵盖了众多的知识点,包括但不限于基础语法、数据结构、算法、多线程、并发编程、...希望这份"Java面试题总结"能帮助你在面试中展现出最佳状态,祝你找到满意的工作。

    java面试笔试总结

    Java面试笔试总结主要涵盖了许多Java开发中的核心概念和技术,这些知识点是面试官在评估候选人技能时经常关注的焦点。以下是一些重要的Java知识点,对于准备Java Web开发职位的面试者尤其重要。 1. **Java基础** -...

    java中高级面试题十大总结

    Java作为一门广泛使用的编程语言,其中高级面试题往往涵盖了多方面的知识点,旨在考察候选人的技术深度和广度。以下是对这些面试题的详细解析: 1. **内存管理与垃圾回收** - Java的内存分为堆内存(Heap)和栈...

    java面试题总结 下载

    这份"java面试题总结资料"应该包含了作者精心整理的各类常见问题和解答,旨在帮助求职者更好地准备面试。 首先,让我们来看看Java基础部分。这部分通常会涉及变量、数据类型、运算符、流程控制语句、类与对象、封装...

    Java面试汇总.pdf+总结全面+八股文

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将这些面试题整理到一个网站上,每天更新 Java 面试题,目前有 1万多道 Java 高频面试题。...

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    java面试总结文档

    ### Java面试总结文档知识点解析 #### 一、Java基础篇 - 概念 ##### 1. Linux概述 - **起源与发展**:Linux是由芬兰学生Linus Torvalds于1991年开始创建的一个开源操作系统内核。随着社区的不断发展与完善,Linux...

    java面试问题总结

    (实际面试题) 1.在执行速度方面的比较:StringBuilder 快于 StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的...

    阿里大佬总结的Java面试资料

    阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java面试资料阿里大佬总结的Java...

    java面试题总结

    在Java面试中,面试官通常会考察应聘者的语法基础、数据结构与算法、多线程、集合框架、异常处理、IO流、网络编程、设计模式等多个方面的能力。以下是对这些关键知识点的详细阐述: 1. **Java语法基础**:Java的...

    Java面试题,10万字208道Java经典面试题总结(附答案)

    以下是一些Java面试中常见的知识点: 1. JDK和JRE的区别: JDK(Java Development Kit)是Java开发工具包,它包含了编写、编译和调试Java应用程序所需的所有工具,包括JRE(Java Runtime Environment)。JRE则是...

    JAVA面试问题,自己和别人总结

    JAVA面试问题总结 JAVA是一种广泛应用的编程语言,作为一名JAVA开发者,需要具备扎实的基础知识和实践经验。本文总结了常见的JAVA面试问题,涵盖了JAVA基础、JSP、Servlet、XML、J2EE、MVC、数据库等方面的知识点。...

    android和java面试大全集

    Java面试宝典2011版-1C,Java基础部分.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf Java面试宝典_2010.doc 面试全攻略100题.doc 智力题和答案.doc C语言面试...

    西安2010Java面试总结

    【西安2010Java面试总结】 在2010年的西安Java面试中,面试官主要关注以下几个核心知识点,这些内容对于Java开发者来说至关重要,也是面试官用来评估候选人技术实力的关键标准。 1. **Java基础知识**:面试通常从...

    最新Java面试八股文10万字总结

    这份"最新Java面试八股文10万字总结"包含了全面的Java知识体系,旨在帮助求职者准备面试,提升对Java技术的理解。 首先,基础篇涵盖了Java语言的基础语法,包括变量、数据类型、运算符、流程控制(如if语句、switch...

    华为java面试题总结

    【华为Java面试题总结】 在Java开发者的眼中,华为无疑是中国IT行业的巨头,其面试流程严谨,技术要求高。这份“华为Java面试题总结”旨在为准备进入华为的Java工程师提供一些关键知识点的梳理和复习指导。以下是对...

Global site tag (gtag.js) - Google Analytics