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. 《Python学习手册》读书笔记

    之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...

  2. FZU1608(线段树)

    传送门:Huge Mission 题意:给定区间范围[0,N] (2 <= N <= 50000)和M个区间 (1 <= M <= 500000)和这些区间上的权值,求最终并区 ...

  3. hdu1506(dp求最大子矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506 分析: 对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下 ...

  4. 面对多个互斥量的加锁策略:"试加锁-回退"算法/固定加锁层次

    有时一个互斥量是不够的: 比如: 当多个线程同时访问一个队列结构时,你需要2个互斥量,一个用来保护队列头,一个用来保护队列元素内的数据. 当为多线程建立一个树结构时,你可能需要为每个节点设置一个互斥量 ...

  5. Java的JXL操作xls形式

    jxl这是一个韩国的写作java操作excel工具, 源世界中,有两套比較有影响的API可供使用.一个是POI,一个是jExcelAPI.当中功能相对POI比較弱一点.但jExcelAPI对中文支持非 ...

  6. The Building Blocks-Enterprise Applications Part 2- Information Management and Business Analytics

    1. Business Analytic Applications Data Analytics Also referred to as 'Business Analytics' or 'Busine ...

  7. asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件

    原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成 ...

  8. 【JavaEE基础】在Java中如何使用jdbc连接Sql2008数据库

    我们在javaEE的开发中,肯定是要用到数据库的,那么在javaEE的开发中,是如何使用代码实现和SQL2008的连接的呢?在这一篇文章中,我将讲解如何最简单的使用jdbc进行SQL2008的数据库的 ...

  9. EF 执行视图

    IEnumerable<V_stocks> summary = db.Database.SqlQuery<V_stocks>("SELECT * FROM dbo.V ...

  10. 在Button上、下、左、右位置加入图片和文字

    转载请注明出处:http://blog.csdn.net/droyon/article/details/37564419 非常多人有如标题所述的需求,并且大多数人採用了自己定义组件攻克了需求,事实上还 ...