java面试题(为什么存储密码时选择char数组会比字符串更好、SQL的引擎有哪些,区别是什么、Redis的数据类型有哪些、适用场景是什么)

本文讨论了在Java中存储密码时使用char数组的优势,以及SQL引擎如MySQL、Oracle、SQLServer、PostgreSQL和SQLite的特点及其适用场景。同时介绍了Redis的数据类型和常见试用场景,包括缓存、分布式锁、消息队列等。
摘要由CSDN通过智能技术生成

为什么存储密码时选择char数组会比字符串更好

以下回答背熟之后大概用时1min。

第一,由于字符串在java中是不可变的。他可能保留在内存中很长一段时间指导垃圾回收器清除它。所以任何有权访问内存存储的人都可以以明文的形式找到密码。
第二,java团队本身建议使用JPasswordField的getPassword方法,该方法以明文的形式返回一个char数组。出于遵守规范标准的原因,我们也应该优先选择char数组。
第三,在日志文件或者控制台中打印String会直接打印纯文本。但是如果使用char数组,就会打印其存储位置。降低了别人探查密码内容的风险。

SQL的引擎有哪些,区别是什么?

MySQL引擎,该引擎负责解析、优化和执行SQL语句。

Oracle数据库引擎,它拥有先进的事务处理、数据冗余和并发控制功能。与MySQL不同,Oracle数据库是长时间运行的,适用于大型企业级应用,对性能和可用性有较高要求。

SQL Server数据库引擎,适用于Windows环境下的应用开发,具有良好的集成性,可以与其他Microsoft技术很好地配合使用。

PostgreSQL引擎,具有丰富的功能和良好的扩展性。PostgreSQL支持ACID事务、并发控制和复杂查询等,适用于中小型应用和需要高级功能的场景。

SQLite:SQLite是一种嵌入式数据库引擎,它以小巧、快速和无服务器的特点而闻名。SQLite适用于移动应用和嵌入式设备,可以直接将数据库嵌入到应用程序中,无需额外的数据库服务器。

每个SQL引擎都有自己的特点和适用场景。在选择SQL引擎时,应根据项目需求、性能要求和数据复杂度来评估选择合适的引擎。此外,还应考虑数据库的可扩展性、安全性和可维护性等方面。

redis的数据类型有哪些?

以下回答背熟,大概用时1min。

Redis 支持五种基本数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set(有序集合)。

我们实际项目中比较常用的是 string和hash,但是也可能用到HyperLogLog, Redis Module里的BloomFilter,RedisSearch,Redis-ML等。

redis的试用场景是什么?

Redis是一个开源的内存数据库,主要用于缓存、持久化和消息队列等场景。以下是Redis的一些适用场景:

缓存:Redis的主要应用场景之一是缓存数据。由于Redis将数据保存在内存中,读取速度非常快,适用于需要快速访问数据的场景,如热门商品、用户会话等数据的缓存。

分布式锁:Redis的原子性操作和高性能使得它成为实现分布式锁的理想选择。通过使用Redis的原子操作,可以确保在多个应用实例之间实现互斥操作,避免并发问题。

消息队列:Redis提供了发布/订阅机制,可以将其作为消息队列使用。应用程序可以通过发布消息到特定频道,订阅者可以订阅这些频道并接收消息。这在实现异步消息处理、解耦和实时通信等方面非常有用。

计数器和排行榜:由于Redis支持原子操作和高性能的特点,它非常适合用于实时计数器和排行榜的场景。例如,可以使用Redis记录用户在线时长、文章浏览次数、社交媒体关注数等的实时统计信息。

地理位置信息存储:Redis提供了地理位置索引的支持,可以存储和查询基于地理位置的数据。这对于构建位置服务、附近搜索、打车应用等具有重要作用。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸡鸭扣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值