1 throws与throw的区别

解析:throws和throw是异常处理时两个常见的关键字,初级程序员常常容易正确理解throw和throws的作用和区别,说明已经能比较深入理解异常处理。Throw用来抛出异常,如果执行了throw语句,程序将发生异常,进入到异常处理机制。Throws用来声明异常,说明这个方法可能会发生某些类型的异常,那么编译器将强制在调用这个方法的时候处理异常。API中的很多方法都使用了throws声明了异常,所以使用这些方法时编译器会提示需要处理异常。  
参考答案:throw用来在方法体内抛出异常,而throws用来在方法声明处声明异常。这两个关键字有着一定的联系。如果一个方法中使用了throw关键字抛出了异常,那么要么立即用try/catch语句进行捕获,要么就是用throws进行声明,否则将出现编译错误。然而, 
并不是只有使用了throw关键字之后才能使用throws关键字,语法上来说,任何一个方法都可以直接使用throws关键字,抽象方法也可以使用。

2 collection接口与map接口

解析:Collection和Map是Java集合框架中两个基本集合类型,要区别不同的集合首先要从Collection和Map开始。

参考答案:Collection接口是传统的集合接口,可以把单个对象存储进来。而Map接口是映射接口,存储的是键值对

3 list与set的区别

解析:List和Set是Collection接口的两个子接口,也是使用最多的两种集合类型。程序员应该熟悉这两个接口的基本特征,能够更准确地选择正确的集合类型。 
参考答案:List实现了列表类型的集合,List中的元素是有序(ordered)的,每个元素根据放入集合的顺序而对应一个索引值, 可以根据这个索引值返回集合原宿。而Set实现了不重复元素集合,即Set中的元素不能够重复,重复的元素将无法添加到集合中

4 list都有哪些实现

解析:List是用的较多的集合类型,List是一个接口,具体使用List集合类型时,需要使用时实现类。List接口的每个实现类也都实现了不同的数据结构,各自具有不同的特征,其中最常用的是List实现类。

参考答案:List接口中有以下几个常用实现

1 ArrayList:实现了动态数组的特征。

2 LinkedList: 实现了链表的数据结构,LinkedList也可以用作栈或者队列。

3 Vector:向量。

4 ArrayList  

Vector类的功能 ArrayList都可以实现,区别在于Vector是现行同步的。

5 如何创建线程对象

解析:Java 语言能够支持多线程编程,将线程封装成Thread类型的对象,只要创建Thread类型的对象,就能够便捷地启动线程、执行线程体。程序员首先必须掌握创建线程的常用方法。 
参考答案:Java语言中经常使用两种方法创建线程。①创建Thread类的子类,在子类中覆盖Thread类的run方法,实现线程的运行体,只要创建该子类对象就是线程对象。②创建Runable接口的实现类,在实现类中覆盖接口中的run方法,实现线程的运行体。使用Thread(Runable)构造方法可以创建线程对象,参数是Runable接口实现类的实例。

6  什么是泛型,作用?

解析:泛型是JDK5中增加的特性,API中有大量的泛型接口、泛型类及泛型方法等。程序员需要了解泛型的作用,尤其在使用集合框架时,往往需要使用到泛型。 
参考答案:泛型的本质就是参数化类型,也就是说把数据类型指定为一个参数。在需要声明数据类型的地方,就可以不指定具体的某个类型,而是使用这个参数。这样一来,就能够在具体使用时再指定具体类型,实现了参数的“任意化”。泛型的好处是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率

7 自动装箱?拆箱?

解析:自动装箱/拆箱指的是八个包装器类与八个基本类型的转换问题。然而。这个特征却需要谨慎使用,因为虽然表面上看起来非常方便,而实质上依然需要创建对象、进行转换等操作,使用不恰当会降低性能。

参考答案:自动装箱指的是可以直接将基本数据类型转换为包装器类型,自动拆箱指的是可以直接将包装器类型转换为基本数据类型,如下代码所示:

int m=100; Integer  im=m; int  n=im;  

上诉代码中,直接将m赋值给包装器对象im,这就是自动装箱,然后直接将im赋值给基本数据类型n,这就是自动拆箱。虽然表面上看代码简洁方便,然而本质上装箱时候依然使用new创建了对象,而拆箱时也依然调用了方法进行运算。因此,不要在没有必要的时候,频繁使用装箱拆箱,会降低性能。

转载于:https://www.cnblogs.com/xing901022/p/3979006.html

【面试虐菜】—— JAVA面试题(3)相关推荐

  1. 【面试虐菜】—— LVS负载均衡

    Load Balancer(负载均衡器): Load Balancer是整个集群系统的前端,负责把客户请求转发到Real Server上.Load Balancer通过Ldirectord监测各Rea ...

  2. java面试答题软件,Java面试题库

    Java面试题库app是Java工程师的学习软件.Java面试题库app深入分析Java源代码.jdk.编译器等常见面试内容.帮助大家提高面试水平. 软件介绍 Java面试题库app是一款专为正在找工 ...

  3. java开发工程师面试问题,java面试题大汇总小山博客

    开头 学习如逆水行舟,尤其是IT行业有着日新月异的节奏. 而且现在这个浮躁而又拜金的社会,我相信很多人做技术并非出于热爱,只是被互联网的高薪吸引,毕竟技术岗位非常枯燥,不仅要面对奇奇怪怪的需求,还要不 ...

  4. 【面试虐菜】—— JAVA面试题(2)

    前篇推荐:http://www.cnblogs.com/xing901022/p/3975626.html 1 String = 与 new 的不同 使用"="赋值不一定每次都创建 ...

  5. 【面试必备】java面试题视频讲解

    二.我们先来看看这份笔记到底有什么 1.先把kubernetes跑起来(先跑起来+创建kubernetes集群+部署应用+访问应用+Scale应用+滚动更新) 2.重要概念 3.部署kubernete ...

  6. 2020年5月面试精心整理java面试题,覆盖了大部分面试题(附答案)

    今年的工作格外难找,不知道别的小伙伴什么样子,反正我是不好找,由于疫情影响,每个公司都在缩减成本,要求也变高了.很多公司要求第一学历统招本科,虽然是本科,但不是统招,很难混啊.面了一个多月,初试复试面 ...

  7. 多场面试总结的JAVA技术面试题

    自我总结面试题 什么是Spring? Spring是一个轻量级的IoC和AOP容器框架.是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求. ...

  8. 2023 亲自经历面试的初中级java面试题(持续更新)

    面试题 基础题 集合 说一下list,set,map的区别. hashMap key是自己定义的类,有没复写过hashcode或者equals这些方法 ? 线程安全问题 List ArrayList ...

  9. 【面试虐菜】—— MongoDB知识整理

    为什么我们要使用MongoDB? 特点: 高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支 ...

最新文章

  1. 全國身份證查詢系統nciis
  2. 如何设计秒杀服务器的限流策略
  3. 全球及中国家用除湿机行业消费需求调研及十四五发展趋势研究报告2022-2027年
  4. MyBatis中传递数组参数和List参数时if-test判空和判断长度的写法
  5. linux挂载fc存储有超级坏块_Nand Flash基础知识与坏块管理机制的研究
  6. 【chorme插件开发】第四节:html+js实现的功能插件开发实例
  7. CentOS7 防火墙相关命令
  8. authentication method mysql 8.0查询_mysql 索引整理
  9. angular学习笔记(六)-非入侵式javascript
  10. 线程安全问题的本质详解: 原子性、有序性、可见性
  11. 工业交换机和普通交换机有什么不同,又有哪些作用和优点
  12. 远程协助控制电脑的三种方式
  13. 【算法】牛和牛栏如何匹配到最大值
  14. go 语言环境安装 WIMDOWS + LINUX 系统
  15. python字典第一个元素_如何获取python字典中的第一个值
  16. 谷歌浏览器google80以上版本开发调试跨域问题处理,SameSite设置
  17. OCR文字识别工具准确获取图片文字
  18. nextpolish安装_Polish安装问题
  19. 服务器加什么网站才打开快,如何优化让网站打开速度更快些呢?
  20. 【验证码逆向专栏】某片滑块、点选验证码逆向分析

热门文章

  1. MathType使用
  2. 2017c语言考核册答案,2017年最新C语言考题带答案
  3. 哥哥,请原谅妹妹的自私!妹妹想做你的新娘...超级感人
  4. BV-Person: A Large-scale Dataset for Bird-view Person Re-identification
  5. HtmlUnit自动填写表单并提交
  6. Mysql 索引 总结 —— 概述 || 索引优势劣势|| 索引结构(索引是在MySQL的存储引擎层中实现的)|| BTREE 结构||B+TREE 结构||MySQL中的B+Tree||索引分类
  7. Rest 微服务工程搭建02——微服务消费者订单Module模块 || @RequestBody 的重要作用
  8. @Value获取值和@ConfigurationProperties获取值比较||配置文件注入值数据校验
  9. Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决
  10. 画Series的散点图