别摸鱼了,来几道Java面试题!(五)

news/2024/9/6 6:07:55 标签: 队列, java, 面试, 多线程, redis

这是我参与更文挑战的第18天,活动详情查看: 更文挑战

今天我们继续来看一些Java面试题,基本上是面试的时候常问的,有一定的概率会遇到,希望大家可以面试顺利。

1. 如何将一个字符串反转?

答:可以通过循环遍历的方式,期间使用String的charAt()方法进行取值,然后拼接字符串。

还有一种写起来比较简单的方式,那就是使用StringBuffer中的reverse()进行反转。

2. BIO、NIO、AIO分别是什么?三者有什么区别?

答:

BIO,Block IO,同步阻塞型IO,平时用的最多的IO模式,线程从一开始就会阻塞,直到执行完成,特定就是简单、使用方便,缺点是并发处理能力弱,可以通过使用线程池来改善性能。

NIO,Non IO,同步非阻塞型IO;客户端、服务端之间通过Channel通讯,实现了多路复用;JDK1.4引入该框架,给高并发、高负载的应用很大的使用空间。

注:这里的多路复用可以加深了解,查查资料,说的好可以让面试官眼前一亮。

AIO,Asynchronous IO 是 NIO 的升级,也称作NIO2,异步非阻塞型IO,通过回调机制来实现异步。

3. sleep() 和 wait() 有什么区别?

答:sleep()是线程类(Thread)的方法,wait()是Object类的方法。

sleep()是让当前线程休眠指定的时间,期间并不会释放自身所拥有的锁。

wait()在调用之后,会释放自身所拥有的锁,进而进入等待队列

使用范围:wait只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。

4. 线程的 run()和 start()有什么区别?

答: run()方法是直接在当前线程中直接执行方法,不会新开启一个新的线程。

start()方法是开启一个新的线程,并在新的线程中执行run()方法。

注:其中的解答只是个基本答案,不是什么标准答案,每个人面试的时候都不一样,所以面试题的解答方式还需要自己心有腹稿,只是一个记录,望大家可以稍作借鉴。


http://www.niftyadmin.cn/n/902641.html

相关文章

高频面试题-请聊一下Spring中BeanFactory与FactoryBean的区别

如果你的简历上这么写,熟练掌握Spring,并对Spring源码有一定的见解(或者是读过Spring源码),那么无法避免的就是要问几个问题。 IOC的实现原理是什么? AOP底层是如何实现的? 因为这些基本上都是…

高频面试题-请把Java垃圾回收器说清楚!

theme: smartblue 这是我参与8月更文挑战的第1天,活动详情查看: 8月更文挑战 今天我们来说一下Java中的垃圾回收器,之前的文章说了垃圾回收算法,这次要说的垃圾回收器会是更深层的较量,准备好了吗。 如果还不了解JVM相…

高频面试题-请聊一下Springboot自动装配原理!

theme: smartblue 这是我参与8月更文挑战的第2天,活动详情查看: 8月更文挑战 自从SpringBoot的出现,让Java的基本系统搭建过程变得更简单,不需要关心很多的配置文件,也不需要去关心市面上各版本的包存在版本冲突等等的…

高频面试题—聊一下Bean的生命周期

关于Bean的生命周期,是面试中非常容易被问到的知识点了,同时也十分考验面试者对Spring的理解够不够深入。 下面我们就来说一下Bean的生命周期到底是怎么个流程吧。 首先,Bean一定是从创建,经历中间很多的过程,然后被…

聊一下SpringCloud Zuul的核心构造

SpringCloud Zuul提供了微服务系统中的网关功能,今天的目的就是来看一下Spring Cloud Zuul的基本构成和配置。 Zuul提供而来哪些网关功能 Zuul组件给微服务架构提供了统一的API入口,并且根据不同过滤器处理API,最后传到后端业务。 Zuul组件…

高频面试题—聊一下Euraka的注册原理

如何判断一个人对Euraka的使用程度,那就需要去问他对其执行原理是否清楚,当然这也不能完全检测出来他的熟练程度,但是最起码会有一个基本的理解。 那么Euraka的执行流程又是什么,我们都知道Euraka的最重要的功能就是服务注册&…

聊一下MySQL的慢SQL优化方向

影响一个系统的运行速度的原因有很多,是多方面的,甚至可能是偶然性的,或前端,或后端,或数据库,或中间件,或服务器,或网络等等等等,真正的去定位一个问题需要对系统有一定…

高频面试题-请聊一下Springboot自动装配原理

自从SpringBoot的出现,让Java的基本系统搭建过程变得更简单,不需要关心很多的配置文件,也不需要去关心市面上各版本的包存在版本冲突等等的问题,使得SpringBoot让开发人员推崇备至。 SpringBoot 在面试过程中,Spring…