2019独角兽企业重金招聘Python工程师标准>>>

下面也将收集一些经典的java面试题,琢磨这些面试题还是非常有好处,可以弄清楚一些容易混淆的知识点,下面面试题的答案部分来自网络,有些来自自己的理解,都是自己精心归纳整理的,有问题的地方,希望大家指出,以便及时更正。

一、GC是什么? 为什么要有GC?

GC是Gabage Collection的缩写。中文意思就是垃圾回收。

Java由C++发展而来,在C/C++中,需要程序员自己来释放无用变量的内存空间,这样非常繁琐,程序员也可能忘记释放或者释放了不该释放的内存。同时也会耗费程序员大量精力在释放内存上。所以,Java就对此做了改进,由系统来管理内存的释放,不再由程序员去人工释放内存空间了。当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间,如果程序员显示地调用System.gc(),可以通知虚拟机加快垃圾回收的速度。但并不能控制垃圾回收。

二、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

在switch(condition)中,condition只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于byte,short,char都可以隐含转换为int,所以这些类型以及这些类型的包装类型也是可以的。long不能作用于switch语句中。String在jdk1.7之前的版本也不可以。

三、"=="和equals方法究竟有什么区别?

1. "=="是运算符,equals是方法,可以被重写。

2.“==”操作符用来比较变量所对应的内存中所存储的数值是否相同。所以要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。因为比较基本数据类型是否相等就是比较其内存中的数值是否相等。比较两个引用变量是否相等就是比较其内存中的值(该变量所指向的对象的首地址)是否相等,就是比较它们是否指向同一个对象。

3. equals()方法是用于比较两个独立对象的内容是否相同。比如:String a=new String("java"); String b=new String("java");这两个变量指向的是两个不同的对象,它们的首地址是不同的,也就是说a和b内存中存储的值是不同的,即a==b会返回false,但它们的内容是相同的,所以a.equals(b)将返回true。

4. equals是Object的方法。其底层实现就是根据“==”来判断的,这就是说如果一个类或者其父类没有覆盖Object的equals()方法,那么“==”和equals()效果是一样的。上面就是因为String类已经重写了equals()方法,所以“==”和equals()得到的结果才会不一样。

四、构造方法能否被重写和重载?

1、构造方法是允许被重载的,而且重载构造方法是一种很普遍的做法,可以方便使用者灵活的创建对象。重载的构造方法之间相互调用可以使用this关键字。

2、在继承过程中构造方法是不能被继承的,因此在子类中无法对父类构造方法重新定义,当然就不能被重写了。如果需要在子类中调用父类的方法,可以调用super关键字引用。

五、抽象类和接口的区别?

1、接口和抽象类都不能产生对象。接口变量只能指向实现类对象,抽象类变量只能指向子类对象。
2、一个类实现接口或者一个类继承一个抽象类,都必须实现接口或抽象类中定义的所有抽象方法。除非该类也是抽象类。
3、抽象类中可以定义抽象方法也可以定义具体方法。但接口中只能定义抽象方法。
4、接口中定义的变量都是public static final。而抽象类中定义的变量是普通属性。
5、接口中定义的方法都是public。不能用private,protected修饰。而抽象类中定义的方法可以是默认、protected、public。
6、一个类只能继承另一个类,但可以实现多个接口。
7、接口和抽象类中都可以不定义抽象方法。

转载于:https://my.oschina.net/Chaos777/blog/162741

Java面试题之一 (转)相关推荐

  1. java 实体类包含list 怎么取值_2019 最新 500 道 Java 面试题

    2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的"功课",首先我研究了几乎所有大厂 ...

  2. Java面试题总结-Day4

    <?xml version="1.0" encoding="utf-8"?> Java面试题总结-Day4 Java面试题总结-Day4 Table ...

  3. 用友公司Java面试题(含答案)

    为什么80%的码农都做不了架构师?>>>    用友公司Java面试题(含答案) 1.Hashtable和HashMap有什么区别?   a.Hashtable是继承自陈旧的Dict ...

  4. java面试题2019 答案

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 Stri ...

  5. Java类加载机制详解【java面试题】

    Java类加载机制详解[java面试题] (1)问题分析: Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数 ...

  6. Java面试题汇总及答案2021最新(序列化含答案)

    Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...

  7. Java面试题汇总及答案2021最新(ioNio)

    Java面试题汇总及答案2021最新(io&Nio) 最近给大家整理了一批Java关于io和nio的面试题一共15题,是20201最新时间整理的,并且都含答案打包下载. 适宜阅读人群 需要面试 ...

  8. Java面试题汇总2021最新(集合泛型含答案下载)

    Java面试题及答案2021最新24题(集合&泛型) 最近给大家整理了一批Java面试题一共24题,主要是搜集的Java集合&泛型这块的,是20201最新时间整理的,并且都含答案打包下 ...

  9. Java面试题及答案整理(2022年140道)持续更新

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

  10. Java面试题及答案整理(2022最新版) 持续更新

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

最新文章

  1. grdraw显示区域 lisp_lisp函数按功能分类
  2. js /jquery停止事件冒泡和阻止浏览器默认事件
  3. GHOST分区丢失只剩C盘
  4. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?
  5. 吞吐量达到瓶颈后下降_中港协:八大枢纽港集装箱吞吐量增速创新高
  6. 09 numpy 聚合函数 - 极值,方差,标准差
  7. Java多线程-程序运行堆栈分析
  8. 磁盘空间去向不明的问题
  9. Mybatis源码:MapperProxy 代理模式
  10. 如何从0开始开源项目参与_如何开始一个开源项目
  11. 15.01.29-MVC中用Areas分解项目
  12. c与python内存传递_如何将C中的内存地址转换为python ctypes调用?
  13. java excel换行_Java 导出excel进行换行的案例
  14. 网络掩码 网关 接口 活跃点数介绍
  15. DayDayUp:罗振宇—2018.12.31年终秀——《时间的朋友》跨年演讲重点概览【文字+视频】
  16. Scintilla教程(2): 文本检索与修改
  17. python ipo模型是指什么?
  18. 彻底搞清楚 dB 和 dBm
  19. pm2 : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\pm2.ps1,因为在此系统上禁止运行脚本
  20. 关于飞塔防火墙做端口聚合的时候应该如何选择端口可以达到最好效果。

热门文章

  1. Android Studio3.x上使用Lombok
  2. 连接池和 Timeout expired异常
  3. 算法导论——lec 10 图的基本算法及应用
  4. KEIL与ADS1.2共存
  5. zabbix告警升级的迷惑
  6. 黄聪:Dsicuz x2.5、X3、X3.2如何去掉域名后面的/forum.php
  7. Frogger--POJ 2253
  8. 书------数据库(SQL Server)
  9. BS文件夹上传操作(二) ——基本功能实现
  10. [译] 通过视图控制器容器和子视图控制器避免庞大的视图控制器