学好java之后,大家就会去相关公司找工作,在找工作的过程中,面试官肯定会对你学的进行一番面试,接下来,我们就来给大家总结一下java基础面试重点。
1、 面向对象和面向过程的区别
面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
面向对象 :面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
2、String、StringBuffer与StringBuilder的区别
String表示内容不可修改的字符串,StringBuffer表示内容可以修改的字符串。
String覆盖了equals()方法和hashcode()方法,而StringBuffer没有覆盖两个方法,所StringBuffer对象存储到java集合类中时会出现问题。
StringBulider也表示内容可以修改的字符串,但是其线程是不安全的,运行效率高。
3、Java和C++的区别?
都是面向对象的语言,都支持封装、继承和多态。
Java 不提供指针来直接访问内存,程序内存更加安全。
Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。
Java 有自动内存管理机制,不需要程序员手动释放无用内存。
4、Switch能否用string做参数?
switch语句中的变量类型可以使byte,short,int,char。从jdk1.7后可以使用String类型,是通过switch中的String.hashcode将String转换成int进行判断的。
其实在面试的过程中,大家不用紧张,只要将平时学的沉着冷静回答就好了,再者大家平时多练习一下实操,这样会更加有助于编程的提升哦!最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。
推荐阅读: