首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java面试题集锦 - 有序号
lfsun666
创建于2023-02-23
订阅专栏
为什么叫“Java面试题集锦”?因为涵盖了好多好多面试题!嘿嘿嘿 那不是废话吗!!!
等 21 人订阅
共999篇文章
创建于2023-02-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【400、如果 Cookie 禁用的话如何解决?Cookie 和 Session 有什么区别?】
如果 Cookie 被禁用了,网站可以使用其他技术来存储用户数据,例如使用 URL 重写或隐藏表单字段。这些技术虽然比 Cookie 更复杂,但仍然可以用于在没有 Cookie 的情况下跟踪用户。 C
【399、在发放奖励场景下,如何保证消费的幂等性】
在发放奖励场景下,保证消费的幂等性是非常重要的,否则可能会导致重复发放奖励,进而导致数据不一致等问题。以下是几种常用的保证消费幂等性的方法: 生成全局唯一的ID:在每次发放奖励时,生成一个全局唯一的I
【398、协程和线程有什么区别】
协程和线程是两种并发编程的方式,它们的区别主要在以下几个方面: 调度方式不同:线程是由操作系统的调度器进行调度的,而协程则是由程序自身进行调度的。 并发性不同:线程是并发的,而协程是协作式的,也就是说
【397、MySQL 和 Redis 怎么保持数据一致】
MySQL和Redis作为两种不同类型的数据存储系统,其数据一致性的保持需要根据具体的场景和需求进行不同的处理。一般来说,可以采用以下几种方式来保持MySQL和Redis中数据的一致性: 采用分布式事
【396、单测的覆盖率有多少?】
单元测试覆盖率是指单元测试执行期间覆盖的代码行数占总代码行数的比例。通常使用百分比表示,例如覆盖率为80%表示测试代码执行期间覆盖了总代码行数的80%。 单元测试覆盖率的具体值并没有一个标准答案,因为
【395、如何保证重构不会影响正常的业务?】
重构是指在不改变系统外部行为的前提下,对系统的内部结构进行调整,从而使代码更加清晰、易于维护和扩展。重构对于软件系统的健康发展非常重要,但是在进行重构时也要注意一些事项,以确保不会影响正常的业务。 以
【394、对依赖倒置原则的理解,以及基于这个原则来重构项目代码】
依赖倒置原则(DIP)是面向对象编程中的一个重要原则,其核心思想是高层模块不应该依赖于低层模块,而是应该依赖于抽象接口。这样可以降低模块之间的耦合度,提高代码的可维护性、可扩展性和可重用性。 在实践中
【393、系统在00:05 设置一个值,并给出5分钟的过期时间,系统刚刚set完之后redis集群崩溃,00:11分系统重启成功,那么redis中set的值是否
如果 Redis 集群在 00:05 崩溃,那么在这之前设置的值可能还没有来得及写入到持久化文件中,因此在集群重启后可能会出现数据丢失的情况,这就取决于 Redis 的持久化方式和配置参数。 如果 R
【392、被volatile修饰的i,它的++操作为什么不具备原子性】
虽然 volatile 关键字可以保证被修饰变量的可见性和有序性,但是它并不能保证对变量的操作是原子性的。 对于 volatile 变量的自增操作 i++,实际上它并不是一个原子操作,而是分为了多个操
【391、volatile可以保证可见性和有序性,但是不能保证原子性,为什么?】
虽然 volatile 关键字可以保证被修饰变量的可见性和有序性,但是它并不能保证对变量的操作是原子性的。 原子性是指在多线程并发操作中,一个操作要么完全执行完毕,要么完全没有执行,不能存在执行了一半
【390、volatile如何实现有序性】
在 Java 中,volatile 可以保证被修饰的变量对于所有线程的可见性,同时也可以禁止对变量的重排序优化。 对于 volatile 变量的写操作,在 JVM 编译成汇编指令时会添加一个“Lock
【389、为什么会出现可见性问题?】
可见性问题是多线程并发编程中常见的问题之一,它是由于多个线程访问共享变量时,由于缓存和指令重排等因素,导致某个线程修改了变量的值,而其他线程并没有立即看到修改后的值,从而出现数据不一致的问题。 具体来
【388、synchronized和volatile的区别】
synchronized 和 volatile 都是 Java 中用于实现多线程同步的关键字,它们的主要区别如下: 功能不同 synchronized 是用于实现线程互斥和同步的关键字,可以保证在同一
【387、说一下 Redis 过期删除机制?】
Redis是一种基于内存的键值存储数据库,其过期删除机制是通过设置过期时间来实现的。当一个键设置了过期时间之后,当过期时间到达后,Redis会自动删除该键。Redis使用一种惰性删除机制来删除过期键,
【386、Redis 缓存的数据量太大怎么办?】
当 Redis 缓存的数据量过大时,可能会导致 Redis 服务器的内存不足或者性能下降,为了避免这种情况,可以考虑以下几种方案: 分片(Sharding):将数据分散到多个 Redis 节点上,每个
【385、讲一下做过的性能优化】
使用高效的数据结构和算法:Java 提供了许多高效的数据结构和算法,如 HashMap 和 ArrayList。在开发中,应该尽量使用这些数据结构和算法,并且对于一些常见的问题,可以使用 Java 提
【384、zset实现原理是什么,redis 的 zset 数据结构】
Redis 中的 zset(有序集合)是一种基于哈希表和跳跃表实现的有序数据结构。 在内部实现上,zset 由两个数据结构组成: 哈希表(Hash Table):用于存储元素和元素对应的分值(scor
【383、Redis 持久化方式】
Redis 提供了两种持久化方式:RDB(Redis Database)和AOF(Append-Only File)。 RDB 持久化方式:将 Redis 数据库中的数据以快照的方式写入磁盘,保存的是
【382、你在项目中用到的 Redis 数据结构?简单介绍一下 zset】
在项目中,我常常使用 Redis 的五种数据结构:String、Hash、List、Set 和 Sorted Set。其中,Sorted Set 是一个非常有用的数据结构,它使用了类似于 Set 的数
【381、多线程下怎么避免线程安全问题】
在 Java 中,可以采取以下措施来避免多线程下的线程安全问题: 1.使用 synchronized 关键字或 Lock 接口实现同步:这可以确保在同一时间只有一个线程可以访问共享资源。synchro
下一页