面试题
桥Dopey
每天进步一点点
展开
-
面试Java需要的知识总结(具体见地址)
1.一些基础的面试题Java面试题全集(上) (Java基础)Java面试题全集(中) (Java Web)Java面试题全集(下) (Java EE)SSH的一些面试题2.Java几大重点(1)集合基础知识+原理(重点是HashMap)基础:Java集合基础原理:兰亭风雨: Java集合源码剖析 xwdreamer转载 2017-10-30 15:11:43 · 555 阅读 · 0 评论 -
Switch能否用string做参数?
在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型或者其对应的封装类。从Java5开始,java中引入了枚举类型,即enum类型。从Java7开始,exper还可以是String类型。其实,jdk1.7并没有新的指令来处理switch string,而是通过调用switch中string.hashCode,将string转换为int从而原创 2017-10-31 17:09:08 · 428 阅读 · 0 评论 -
Object有哪些公用方法
官方文档https://docs.oracle.com/javase/8/docs/api/。protected Object clone() 创建并返回此对象的一个副本。保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。PS:浅复制是指当对象的字段值被复制时,字段引用的对象不会被复制例如,如原创 2017-10-31 16:45:20 · 274 阅读 · 0 评论 -
Java的四种引用,强弱软虚,用到的场景
java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够灵活)。为了解决内存操作不灵活这个问题,可以采用软引用等方法。在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否转载 2017-10-31 16:41:51 · 309 阅读 · 0 评论 -
Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况
一道很经典的Java开发面试题,答案写的很全面,大部分内容都来自《深入理解Java虚拟机--JVM高级特性与最佳实践》,很推荐大家看这本书,在看这本书的时候,赞叹作者的写作功底,深入浅出!但是很多一开始看这本书的人感觉并不知道在讲什么,很推荐大家在看书的同时,多多上网查资料,看看网友们的总结,多多实践!会帮助你理解JVM.原文地址:http://www.mamicode.com/info-转载 2017-10-31 16:39:36 · 279 阅读 · 0 评论 -
java项目经验面试总结
在前期已经讲过怎样分析自己,对自己进行一个准确的定位,选择一个合适的求职方向!并结合自己的实际个人情况来写一份针对性很强的个人简历!个人简历就是个人的广告!好的简历可以更受到用人需求单位青睐!好的简历才能让你获得面试的机会!我们还针对面试列出了j2ee方面的知识点!不管是笔试还是面试都是会考到这些非常重要的知识点!面试的技术内容并不会有想象中的那么难,主要注重基础和细节!细节决定一切!所以列罗的那转载 2018-01-16 14:01:14 · 8124 阅读 · 0 评论 -
ArrayList、LinkedList、Vector的区别
下图是Collection的类继承图,从图中你可以对本文所讨论的知识有大致的了解.├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapVector:线程安全,但速度慢,已被ArrayList替代。底层数据结构是数组结构 Array原创 2017-10-31 17:34:10 · 185 阅读 · 0 评论 -
try catch finally,try里有return,finally还执行么?
finally是在try的语句执行之后并且try的return返回之前执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值,如test1测试代码),return的时候是复制了一个变量然后返回,所以之后finally操作的变量如果是基本类型的话不会影响返回值。 但是如果返回值是引用类型的话,因为指向同一个对象所以还是有影原创 2017-10-31 17:42:58 · 316 阅读 · 0 评论 -
HashMap和HashTable的区别。
1 .HashMap不是线程安全的 HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。2. Hashtable线程安全...原创 2017-10-31 17:39:12 · 211 阅读 · 0 评论 -
如何线程安全的使用HashMap
面试官有问到 HashMap 是否是线程安全的,如何在线程安全的前提下使用 HashMap,其实也就是HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别。当时有些紧张只是简单说了下HashMap不是线程安全的;Hashtable 线程安全,但效率低,因为是 Hashtable 是使用 synchronized 的,所...转载 2018-02-27 08:58:01 · 211 阅读 · 0 评论 -
九种基本数据类型的大小,以及他们的封装类。
基本数据类型及其封装类的区别:1).基本数据类型只能按值传递;封装类按引用传递。2).基本数据类型在堆栈中创建,直接存储值;而对象类型,对象在堆中创建,对象的引用在堆栈中创建。3).基本类型由于在堆栈中,效率高,但可能发生内存泄漏。4).基本数据类型在声明时系统自动为其分配空间,而引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间后才能赋值原创 2017-10-31 16:47:46 · 623 阅读 · 0 评论 -
equals与==的区别
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean,他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则转载 2017-10-31 17:10:14 · 11707 阅读 · 1 评论 -
Static class 与non static class的区别
内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。根据Oracle官方的说法:Nested classes are divided into t转载 2017-10-31 16:29:41 · 310 阅读 · 0 评论 -
Interface与abstract类的区别
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类转载 2017-10-31 16:31:49 · 308 阅读 · 0 评论 -
Override和Overload的含义去区别
最近看了一下关于java的基础知识,对此作了一下搜集整理: java中的继承,方法覆盖(重写)override与方法的重载overload的区别 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。如果在子类中转载 2017-10-31 17:44:15 · 322 阅读 · 0 评论 -
TreeMap、HashMap、LindedHashMap的区别。
LinkedHashMap可以保证HashMap集合有序。存入的顺序和取出的顺序一致。TreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。HashMap不保证顺序,即为无序的,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 N原创 2017-10-31 17:41:05 · 1528 阅读 · 0 评论 -
HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
HashMap本质是数组加链表,根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。ConcurrentHashMap在HashMap的基础上将数据分为多个segment,默认16个,然后每次操作对一个segment加锁,避免多线程锁的几率,提高并发效率。并发访问的时候用。HashMap源码分析,下面是HashMap类中的一些关转载 2017-10-31 17:40:24 · 393 阅读 · 0 评论 -
Map、Set、List、Queue、Stack的特点与用法。
Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Map中可以将Key和Value单独抽取出来,其中KeySet()方法可以将所有的keys抽取正一个Set。而Values()方法可以将map中所有的values抽取成一个集合。set,无序不可重复元素的集合,set中最多包含一个null元素,只能用Lterator实现单项遍历,Set中没有同步方法。原创 2017-10-31 17:36:17 · 588 阅读 · 0 评论 -
String、StringBuffer与StringBuilder的区别。
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String2.StringBuilder与 StringBuffer:StringBuilder:线程非安全的StringBuffer:线程安全的3.当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保原创 2017-10-31 17:14:44 · 195 阅读 · 0 评论 -
Hashcode的作用
Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了原创 2017-10-31 17:13:06 · 338 阅读 · 0 评论 -
二叉树常见面试题(进阶)
一、常见题型1. 求两个节点的最近公共祖先;2. 求二叉树中最远的两个节点的距离;3. 由前序遍历和中序遍历重建二叉树(如:前序序列:1 2 3 4 5 6 - 中序序列 :3 2 4 1 6 5);4. 判断一棵树是否是完全二叉树 ;5. 将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向;6.求二叉树的宽度;7. 判断一棵二叉树是否是平衡二叉树;8.判断...转载 2018-03-16 15:18:17 · 226 阅读 · 0 评论