【Java集合类面试八】、 介绍一下HashMap底层的实现原理
面试官: 介绍一下HashMap底层的实现原理** 参考答案: 它基于hash算法,通过put方法和get方法存储和获取对象。 存储对象时,我们将K/V传给put方法时,它调用K的hashCode计算hash从而得到bucket位置,进一步存储,HashMap会根据当前bucket的占用情况自动调整...
面试官:说说volatile应用和实现原理?
volatile 是并发编程中的重要关键字,它的名气甚至是可以与 synchronized、ReentrantLock 等齐名,也是属于并发编程五杰之一。 需要注意的是 volatile 并不能保证原子性,因此使用 volatile 并没有办法保证线程安全。 并发编程五杰: PS:“并发编程五杰”是我个人起的名字,大家也不用太当真。 1.什么是 volatile? ...
面试官:说说读写锁的实现原理?
在实际项目开发中,并发编程一定会用(提升程序的执行效率),而用到并发编程那么锁机制就一定会用,因为锁是保证并发编程的主要手段。 在 Java 中常用的锁有以下几个: synchronized(内置锁):Java 语言内置的关键字,JVM 层级锁实现,使用起来较为简单直观。 ReentrantLock(可重入锁):需要显式地获取和释放锁,提供了更灵活的锁操作方式。 ReentrantR...
阿里面试:说说@Async实现原理?
@Async 是 Spring 3.0 提供的一个注解,用于标识某类(下的公共方法)或某方法会执行异步调用。 接下来,我们来看下 @Async 的基本使用和实现原理。 1.基本使用 @Async 基本使用可以分为以下 3 步: 项目中开启异步支持创建异步方法调用异步方法1.1 开启异步支持 以 Spr...
面试官:说说Netty对象池的实现原理?
Netty 作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术。 1.什么是对象池技术? 对象池技术是一种重用对象以减少对象创建和销毁带来的开销的方法。在对象池中,只有第一次访问时会创建对象,并将其维护在内存中,...
面试官:说说Spring中IoC实现原理?
IoC(Inversion of Control)即控制(权)反转,它是一种编程思想,它的核心理念是将对象的创建和管理权力从对象本身转移到外部的容器或框架。 IoC 的主要目的是降低代码之间的耦合度,提高代码的重用性、可测试性和灵活性。在 IoC 模式下,对象不需要自己创建或者查找它们...
面试官:说说反射的底层实现原理?
反射是 Java 面试中必问的面试题,但只有很少人能真正的理解“反射”并讲明白反射,更别说能说清楚它的底层实现原理了。所以本文就通过大白话的方式来系统的讲解一下反射,希望大家看完之后能真正的理解并掌握“反射”这项技术。 1.什么是反射? 反射在程序运行期间动态获取类和操纵类的一种技术。通过反射机制,可以在运行时动态地创建对象、...
面试官:说说SpringAOP实现原理?
AOP(Aspect-Oriented Programming,面向切面编程)是一种编程技术,它允许开发者在不改变现有代码的情况下,增加新的功能或行为,这些功能或行为被称为“切面”。 AOP 可以通过预编译方式和运行期动态代理的方式来实现,它的主要目的是降低业务逻辑的耦合性,提高程序的...
面试官:说说SSO单点登录的实现原理?
单点登录(Single Sign-On, SSO)是一种让用户在多个应用系统之间只需登录一次就可以访问所有授权系统的机制。单点登录主要目的是为了提高用户体验并简化安全管理。 举个例子,您在一个大型企业工作,该企业拥有一套由多个独立应用程序组成的生态系统,例如:内部邮箱系统、项目管理系统、员工自助服务系统、人力资源...
面试官:说说volatile底层实现原理?
在 Java 并发编程中,有 3 个最常用的关键字:synchronized、ReentrantLock 和 volatile。 虽然 volatile 并不像其他两个关键字一样,能保证线程安全,但 volatile 也是并发编程中最常见的关键字之一。例如,单例模式、CopyOnWriteArrayList 和 ConcurrentHashMap 中都离不开 volatile。 那么,问题来...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注