java面试题大汇总小山博客(java面试题汇总(一))
导语:Java面试题大汇总
许多人在找Java程序员的相关工作时,好不容易收到了面试邀约,却对面试官要问什么问题一无所知,最终白白失去了机会,为了防止这样的情况发生,“好程序员”特意为大家整理汇总了十道经典Java面试题,让你在面试时做到有备无患。
1、面向对象的特征有哪些方面?
答案:抽象:抽象是将一类对象的共同特征总结出来构造类的过程;继承:继承是从已有类得到继承信息创建新类的过程;封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口;多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。
2、String 是最基本的数据类型吗?
答案:不是。Java中的基本数据类型只有:byte、short、int、long、float、double、char、boolean。
3、int和Integer有什么区别?
答案:Java为每一个基本数据类型都引入了对应的包装类型,Integer是int的包装类,Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
4、描述一下JVM加载class文件的原理机制?
答案:JVM中类的装载由类加载器和它的子类实现的,Java中的类加载器是Java运行时的重要系统组件,负责在运行时查找和装入类文件中的类。类的加载是指把类的.class文件中的数据读入到内存中,一般是创建一个字节数组读入.class文件。
5、抽象类(abstract class)和接口(interface)有什么区别?
答案:抽象类中可以定义构造器,而接口中不能定义。抽象类中的成员可以是private、默认、protected、public的,而接口中的成员全都是public的。抽象类可以定义成员变量,而接口中定义的成员变量实际上都是常量。
6、Java 中会存在内存泄漏吗?
答案:理论上Java因为有垃圾回收机制不会存在内存泄露问题,但在实际开发中,可能会存在不能被回收的对象,从而导致内存泄露。
7、GC是什么?为什么要有GC?
答案:GC是垃圾收集的意思,可以有效的防止内存泄露。
8、Java 中的final关键字有哪些用法?
答案:(1)修饰类:该类不能被继承;(2)修饰方法:方法不能被重写;(3)修饰变量:变量只能一次赋值以后值不能被修改(常量)。
9、比较一下Java和JavaSciprt。
答案:Java面向对象,即使是开发简单的程序,必须设计对象;JavaScript是种脚本语言,可以用来制作与网络无关的,与用户交互作用的复杂软件。Java的源代码在执行之前,必须经过编译。JavaScript源代码不需经过编译,由浏览器解释执行。
10、Collection和Collections的区别?
答案:Collection是Set、List等容器的父接口;Collections是个一个工具类,提供静态方法来辅助容器操作。
优秀的你与大厂之间只差一个“好程序员”!
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请与我联系,一经查实立刻删除内容。本文内容由快快网络小涵创作整理编辑!