Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

全部面试题

461 道题目
我的收藏与复习
题干与完整题解免费阅读第 7 / 47 页

答:BIO 通常指传统阻塞 I/O,调用线程可能一直等待数据或操作完成;NIO 提供通道、缓冲区和选择器等能力,网络通道可配置为非阻塞并由 Selector 管理就绪事件;AIO 则通过异步通道在操作完成后通知结果。NIO 不等于所有操作都非阻塞,AIO 也不保证底层完全不使用线程。

专注学习

答:可以按用途记:ExecutorService、ThreadPoolExecutor 管理任务执行;Future、CompletableFuture 表达结果与完成组合;CountDownLatch、CyclicBarrier、Phaser 协调阶段;Semaphore 限制许可;Lock、原子类及并发集合帮助控制共享访问。不是类名越多,答案就越完整。

专注学习

答:题目里的“C++ 虚类”通常指含纯虚函数的抽象类,它与 Java 接口都能定义需要具体类型实现的行为,并支持多态。但二者不是同一种结构:C++ 抽象类可以包含实例数据、构造函数和具体实现;Java 接口不能携带普通对象的实例字段或构造函数。

专注学习

答:加载是把类的定义引入运行环境,连接包含验证、准备和解析,初始化才会执行类初始化逻辑。JVM 可以按需要安排加载与连接,因此面试中常背的 new、调用静态方法等“主动使用”,更准确地说主要是在讨论初始化触发条件,不能把三个阶段当成同一件事。

专注学习

答:三者描述对象之间的业务关系。关联只表示对象有联系;聚合进一步表示整体与部分,但部分可以独立存在、被共享;组合强调部件在同一时刻只属于一个整体,并由整体管理其业务生命周期。它们是建模语义,Java 没有三个对应的专用关键字。

专注学习
本页 10 道,共 461 道浏览其他领域