Java Keystore.getKey() 缓慢,同时密钥存储大小增加

2023-12-02

我正在使用 java 密钥存储来存储和检索加密密钥。当我的密钥存储大小很小时,它的工作速度更快。但是,一旦我的密钥存储大小增加,密钥存储操作就会变慢。

我正在linux平台上工作,Java版本Jdk_1.8。和 safenet 作为提供商。


我一直面临着与执行速度随不同操作系统平台而变化的相同问题。

JVM 将密钥存储加载到内存中。它有哈希表集合作为内部存储。

哈希表是同步的。

每当您从密钥存储执行获取操作时,它都会从内存中的密钥存储而不是从物理密钥存储返回它。 您可以通过在 Linux 基本操作系统中使用 ("top" - %wa 部分) 命令来确认。

密钥存储使用哈希表,这是性能下降的根本原因。

我通过在初始化项目时将密钥库中的所有密钥加载到 ConcurrentHashMap 中解决了这个问题。后来, 所有读取操作将从 MAP 而不是密钥库执行。 并确保所有写入操作都将在密钥库和 MAP 上执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Keystore.getKey() 缓慢,同时密钥存储大小增加 的相关文章

随机推荐

  • 我应该如何将 UIImage 存储在我的 Core Data 数据库中?

    我正在开发一个应用程序 需要将大约 100 张或更多图像与其他相关信息一起预先插入到核心数据数据库中 现在 我只需编写几行代码就可以轻松添加其他数据 但对于 UIImages 我不确定如何在不编写大量代码的情况下做到这一点 我想知道 是否有
  • AngularJS $http 未定义

    我对 AngularJS 还很陌生 当我打电话时 http get我得到一个 http is not defined error 这是我的模块的内容 var demoApp angular module demoApp demoApp co
  • 在一个语句中输出多个后置和前置增量[重复]

    这个问题在这里已经有答案了 我是 C 语言新手 所以请 sum1 帮助我 写的一段C代码 int i 3 printf d i i 编译器给出 O P 9 如何 结果未定义 您在表达式中多次修改变量 或者序列点更准确 在序列点之间多次修改变
  • EXC_BAD_INSTRUCTION 仅在 iPhone 5 模拟器中

    在 iPhone 5 模拟器上运行我的代码会引发如图所示的异常 在任何其他模拟器上运行代码就可以了 我无法在这行不起眼的代码中发现我在哪里犯了错误 还有其他人有这个问题吗 NSInteger 这是一个类型别名Int在 Swift 中 是 3
  • Android:NullPointerException 使用 SharedPreferences

    使用 SharedPreferences 此活动在启动时崩溃 首先我将发布活动代码 然后我将发布我的 LogCat 非常感谢你们 你们总是给予我们很大的帮助 活动代码 package com creativecoders gymbuddy
  • 在设置 {app} 之前获取 wpSelectDir 中的路径 Inno Setup

    当用户单击时 我想获取安装目录的路径Next 当我在wpSelectDirInno 设置 我需要检查路径 因为我需要验证路径 如果不正确 我不会让用户继续 我的问题是常数 app 尚未设置 因为它将在之后设置wpSelectDir我还在 U
  • 使用Python将日记文件拆分为多个文件

    我保留一份技术笔记的日记文件 每个条目都带有时间戳 如下所示 Monday 02012 05 07 at 01 45 20 PM This is a sample note Lorem ipsum dolor sit amet consec
  • 我可以在ironruby 中运行rubygems 吗?

    目前是否可以通过预发布的ironruby来运行rubygems 好像我必须设置一个环境变量才能找到它们 您已经能够在 IronRuby 下运行 ruby gems 有一段时间了 只需下载并安装最新的来自 codeplex 的 IronRub
  • CreateProcessAsUser 从服务和用户安全问题

    我有一个启动我的应用程序的 Windows 服务 该服务是一个调度程序 用于执行最终用户定义的一些自定义操作 它作为本地系统帐户运行 并将启动我的应用程序 有窗口 为此我使用函数登录用户 加载用户配置文件 创建进程为用户 这很完美但前提是用
  • 在 C 中查找未使用的枚举成员

    查找未使用的枚举成员的最快方法是什么 逐一注释掉值是行不通的 因为我有近 700 名成员 并且想删除一些未使用的成员 我不知道有任何编译器警告 但你可以尝试splint静态分析工具 根据其文档 强调我的 Splint 检测常量 函数 参数
  • 我可以获得特定词典的完整 i18n 标签吗

    我面临 i18n 标签的问题 我的应用程序使用 Granite I18n get 函数在 js 前端读取一些 i18n 标签 整个字典下载为 libs cq i18n dict locale json 如 etc clientlibs fo
  • .forEach 与 Object.keys().forEach 在稀疏数组上的性能

    如果我错了请告诉我 array forEach callbackFunction 适用于稀疏数组 它执行callbackFunction不是针对零和数组长度之间的每个索引 而是仅针对实际的键in数组 而且 如果我错了请告诉我 这些键正是Ob
  • 如何将 Excel 文件导入 SQL Server? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我的 Excel 文件中有数据 实际上XLSX格式 因为现在是 2020 年 我的要求是将此数据导入 SQL Server 如下所示 特别的 用例是向表提供测试数据 或少量数据的
  • 如果从 IE 安全选项禁用字体下载,font-awesome 在 IE 11 中不起作用

    我使用 Font awesome min css 在 IE 11 和 chrome 中运行良好 但我的客户要求是使用很棒的字体 即使我们禁用了从 IE Internet 选项下载字体 Internet options gt Security
  • 使用现有连接表的一对多关联

    我正在将使用 MariaDB 的现有应用程序的后端转换为使用 Sails v0 10 0 rc7 并且我一直在试图弄清楚如何在给定底层架构结构的情况下获取填充到角色模型中的角色的所有权限我必须与 目前有三个表用于获取角色及其关联的权限 工作
  • 使用 jQuery.get 时可以指定相对 URL 吗?

    我正在尝试像这样进行 ajax 调用 get home myInfo function data 我从以下页面调用它 http localhost myapp home index 当我尝试拨打上述电话时 它会转到 http localho
  • 触发 valueChanged 事件后从 JTable 中删除行

    我正在使用 ListSelectionListener 来更新我的JTextField countryTxt 来自所选行 import java awt BorderLayout import java awt event ActionEv
  • 解组 Parcelable 时出现问题

    我有一些实现的类可分包其中一些类作为属性相互包含 我正在将课程整理成Parcel在活动之间传递它们 将它们编组到包裹工作正常 但是当我尝试解组它们时 出现以下错误 AndroidRuntime E Caused by android os
  • Subversion 管理的项目的 xcopy ASP.NET 部署

    我目前正在使用 Subversion 来管理我的 ASP NET 网站 我发现每当我将网站上传到服务器时 我都会复制大量隐藏的 svn 文件夹以及其中可能包含的任何内容 有人有任何建议来避免这种情况吗 我并不特别想要生产服务器上的那些隐藏的
  • Java Keystore.getKey() 缓慢,同时密钥存储大小增加

    我正在使用 java 密钥存储来存储和检索加密密钥 当我的密钥存储大小很小时 它的工作速度更快 但是 一旦我的密钥存储大小增加 密钥存储操作就会变慢 我正在linux平台上工作 Java版本Jdk 1 8 和 safenet 作为提供商 我