1. ArrayList,Vector, LinkedList 存储性能及特点

ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便添加和插入元素,它们都同意直接按 序号索引元素。可是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 因为使用了 synchroni zed 方法(线程安全),通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数据须要进行前向或后
向遍历,可是插入数据时仅仅须要记录本项的前后项就可以,所以插入速度较快。 

2.Collection 和 Collections 的差别

Collection 是集合类的上级接口,继承与他的接口主要有 Set 和 List. Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

3.HashMap 和 Hashtable 的差别

HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),他们都完毕了 Map 接口,主要差别在于 HashMap 同意空(null)键值(key),因为非线程安全,效率上可能高于 Hashtable。 HashMap 同意将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不同意。

HashMap 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和 containsKey。由于 contains 方法easy让人引起误解。 Hashtable 继承自 Dictionary 类,而 HashMap 是 Java1.2 引进的 Map interface 的一个实现。 最大的不同是,Hashtable 的方法是
Synchronize 的。而 HashMap 不是,在多个线程訪问 Hashtable 时,不须要自己为它的 方法实现同步,而 HashMap 就必须为之提供外同步。
Hashtable 和 HashMap 採用的 hash/rehash 算法都大概一样,所以性能不会有非常大的差异。 

4.sleep() 和 wait() 有什么差别

sleep 是线程类(Thread)的方法,导致此线程暂停运行指定时间,给运行机会给其它线程,可是监控状态依旧保持,到时 后会自己主动恢复。调用 sleep 不会释放对象锁。 
wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,仅仅有针对此对象发 出 notify 方法(或 notifyAll)后本线程才进入对象锁定池准备获得对象锁进入执行状态。 

5.Overload 和 Override 的差别

Overloaded 的方法能否够改变返回值的类型?

方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。

重写 Overriding 是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。假设在子类中定义某方法与其父类有同样的名称和參数。我们说该方法被重写 (Overriding)。子类的对象使用这种方法时,将调用子类中的定义。对它而言。父类中的定义如同被"屏蔽"了。假设在一个类
中定义了多个同名的方法,它们或有不同的參数个数或有不同的參数类型,则称为方法的重载(Overloading)。

Overloaded 的 方法是能够改变返回值的类型。 

6.同步和异步有何异同,在什么情况下分别使用他们?

假设数据将在线程间共享。

比如正在写的数据以后可能被还有一个线程读到,或者正在读的数据可能已经被还有一个线程写过了。 那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个须要花费非常长时间来运行的方法,而且不希望让程序等待方法的返回时,就应该使用异步编程。 在很多情况下,它们趋向于使用异步更有效的方式。 

版权声明:本文博主原创文章。博客,未经同意不得转载。

【Java基金会】Java整理面试问题和评论(一)的更多相关文章

  1. 阿里 P8 高级架构师吐血总结的 《Java 核心知识整理&面试.pdf》| 免费分享

    最近在网上发现一份非常棒的 PDF 资料,据说是阿里 P8 级高级架构师吐血总结的, 其中内容覆盖很广,包括 Java 核心基础.Java 多线程.高并发.Spring.微服务.Netty 与 RPC ...

  2. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779                               ...

  3. 《OD面试》Java面试题整理

    一.面试考察点 1 主语言本身 2 数据库 3 算法 4 Spring/SpringMVC/MyBatis 5 项目经验 1)项目涉及到的技术点深挖: (1)考察候选人技术深度  (2)看候选人遇到问 ...

  4. 从事务角度粗窥架构的可扩展性和可维护性:内容整理自java web轻量级开发面试教程

    大家多少了解过架构,也听说过使用架构后,代码和可维护性和重用性能大大提升.这里我们来通过一些关于事务的实例,来感性地体会下架构带来的在可维护性方面的便利.本文来是从 java web轻量级开发面试教程 ...

  5. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  6. !! 浅谈Java学习方法和后期面试技巧

    浅谈Java学习方法和后期面试技巧 昨天查看3303回复33 部落用户大酋长 下面简单列举一下大家学习java的一个系统知识点的一些介绍 一.java基础部分:java基础的时候,有些知识点是非常重要 ...

  7. 如何用比较快速的方法掌握Spring的核心——依赖注入,Java web轻量级开发面试教程 读书笔记

    我们知道,Java方面的高级程序员一定得掌握Spring的技能,其中包括Spring 依赖注入(IOC),面向切面(AOP),和数据库的整合(比如和Hibernate整合或声明式事务等)以及Sprin ...

  8. Java高级开发工程师面试笔记

    最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...

  9. 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...

随机推荐

  1. sql中的CHARINDEX和暂时表

    update #temp set #temp.Recycle=case when UnionA.num>0 then 1 else 0 end from (select GradeID,sum( ...

  2. hdu3068之manacher算法+详解

    最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. python—webshell_醉清风xf_新浪博客

    python—webshell_醉清风xf_新浪博客 python—webshell (2012-05-23 09:55:46) 转载▼

  4. python socket编程实现的简单tcp迭代server

    与c/c++ socket编程对照见http://blog.csdn.net/aspnet_lyc/article/details/38946915 server: import socket POR ...

  5. poj1797(最短路小变形)

    题目连接:http://poj.org/problem?id=1797 题意: 分析:dp[i]表示到达i点的过程中的最大承受重量,更新到i点时可能有多条路径,由优先队列堆出最大的那条即可. #inc ...

  6. hdu3602(变形背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3602 题意是:N个国家,M个飞船,每个国家有人数num,如果上飞船就给联合国value钱,选出某些国家 ...

  7. poj3252(数位dp)

    题目连接:http://poj.org/problem?id=3252 题意:拆成2进制,在记录0和1的个数 求区间[a,b]中,满足传化成2进制后,0的个数>=1的个数的数字的个数... 分析 ...

  8. eclipse安装ADT后在windows菜单下找不到android SDK and AVD Manager选项的解决办法

    在eclipse中点击window→Customize Perspective→Command Groups availability→Available command groups下勾选Andro ...

  9. 矩形旋转碰撞,OBB方向包围盒算法实现

    怎样进行2D旋转矩形的碰撞检測.能够使用一种叫OBB的检測算法(Oriented bounding box)方向包围盒.这个算法是基于SAT(Separating Axis Theorem)分离轴定律 ...

  10. Android开发工具综述,开发人员必备工具

    安卓开发工具汇总.开发者必备.安卓开发过程中须要用到各种工具,作为一名安卓开发者,有木有感到亚历山大,那么多工具! 今天给大家汇总了一下安卓开发工具,安卓开发者必备利器. 1.Draw 9-Patch ...