For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
很多朋友都想问有没有比较经典的Java工程师的面试题呢,下面北京达内小编就给大家讲讲吧:
1、Java内部类和子类之间有什么区别?内部类是指在一个外部类的内部再定义一个类,内部类对外部类有访问权限,可以访问类中定义的所有变量和方法。子类是从父类(superclass)中继承的类,子类可以访问父类所有public和protected的字段和方法。
2、什么是数据封装及其意义?封装是面向对象编程中用于在单个单元中组合属性和方法。封装可以帮助程序员遵循模块化方法进行软件开发,每个对象都有自己的一组方法和变量,并且可以独立于其他对象来执行其功能。另外,封装也有数据隐藏的目的。
3、Java 中的 Math。 round(-1。 5) 等于多少?等于 -1,因为在数轴上取值时,中间值(0。5)向右取整,所以正 0。5 是往上取整,负 0。5 是直接舍弃。
4、final 在 java 中有什么作用?final 修饰的类叫最终类,该类不能被继承。final 修饰的方法不能被重写。final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
5、String str="i"与 String str=new String(“i”)一样吗?不一样,因为内存的分配方式不一样。String str="i"的方式,java 虚拟机会将其分配到常量池中;而 String str=new String(“i”) 则会被分到堆内存中。
6、Collection 和 Collections 有什么区别?java。util。Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。
7、代码中如何实现多态?实现多态主要有以下三种方式: 1。 接口实现 2。 继承父类重写方法 3。 同一类中进行方法重载。
8、深拷贝和浅拷贝的区别是什么?浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象。
9、 什么是单例模式?实现步骤?单例模式保证了对象唯一。分为懒汉式(在类加载时不初始化)和饿汉式(在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快)。实现步骤:私有化构造函数、创建一个静态的私有对象、提供公共的访问方法。
10、JAVA8的ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计?
jdk8 放弃了分段锁而是用了Node锁,减低锁的粒度,提高性能,并使用CAS操作来确保Node的一些操作的原子性,取代了锁。但是ConcurrentHashMap的一些操作使用了synchronized锁,而不是ReentrantLock,虽然说jdk8的synchronized的性能进行了优化,但是我觉得还是使用ReentrantLock锁能更多的提高性能。
以上内容就是北京达内小编总结的“10道Java经典面试题”,希望对大家有所帮助,有任何问题可以咨询客服,会为您安排最专业的老师进行讲解~