在 jar 启动时预加载 java 类/库?

2024-01-16

在对服务器的第一次 RPC 调用期间发生超时,但后续请求成功。服务器响应超时,因为第一次调用时它会加载处理请求所需的库。由于这种延迟,一些客户端会超时。尽管可以增加客户端的超时延迟,但我希望最大限度地减少类加载对应用程序响应能力的影响。

您将如何预加载 Java 类文件,以便当应用程序.jar文件是第一次运行类加载不会在第一次调用时引入延迟吗?


您可以在服务器上线之前运行负载。您尚未指定如何加载服务器、类以及环境是什么,但您可以利用类加载时将运行类静态初始值设定项这一事实。因此,如果您从“main”方法运行,您的类可能看起来像这样

public class Foo {

   static {
     //this will be run when the class is loaded
     try { Class.forName("fully.qualified.class.name.that.i.want.to.Load"); }
     catch ...
   }

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

在 jar 启动时预加载 java 类/库? 的相关文章

  • Android Toast 消息不起作用

    我正在通过 Andengine 为 Android 开发游戏 我有 MainActivity 类和 GameScene 类 我在 GameActivity 中使用 Toast 消息 它正在发挥作用 Toast makeText this H
  • 不支持的字段:将瞬间格式化为日期 ISO 时的年份[重复]

    这个问题在这里已经有答案了 我正在尝试将 Instant 格式化为 ldap 日期 ISO8601 但在 f format Instant now 处失败 String input 20161012235959 0Z DateTimeFor
  • 如何在ArrayList中的特定位置插入对象

    假设我有一个大小为 n 的对象的 ArrayList 现在我想在特定位置插入另一个对象 假设在索引位置 k 大于 0 且小于 n 并且我希望索引位置 k 处及其之后的其他对象向前移动一个索引位置 那么有没有什么方法可以直接在Java中做到这
  • 了解 netty 通道缓冲区和水印

    我正在尝试了解网络缓冲区和水印 作为一个测试用例 我有一个 netty 服务器 它向客户端写入数据 客户端被阻止 基本上每次读取之间有 10 秒的睡眠时间 在正常 I O 下 如果接收方被阻塞 TCP 发送方将受到限制 由于流量控制 发送速
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • Java 小程序在 Mac 上闪烁

    这个问题很奇怪 问题并非在每个平台上都会发生 我在使用 MacOSX 的 Google Chrome 中出现了这种情况 但在 Safari 中却没有出现这种情况 对于使用 Windows 的朋友来说 在 Google Chrome 上运行得
  • 为什么通过 方法向 List 添加元素(类型正确)会出现编译错误? [复制]

    这个问题在这里已经有答案了 我对泛型通配符概念几乎没有疑问 1 假设我有一个方法 void write List
  • 在 Eclipse 3.5 上安装旧版 TestNG 插件时出现问题

    我正在尝试在 eclipse 3 5 上安装 TestNG 5 11 并获得以下信息 eclipse buildId unknown java version 1 6 0 19 java vendor Sun Microsystems In
  • FileObserver 不适用于 Android 6.0 Marshmallow (API 23) 中的外部存储

    我有一个应用程序可以观察外部存储上的公共目录FileObserver 它运行良好Lollipop设备 我想添加对Marshmallow 所以我用它设置了一台 Nexus 9 平板电脑 在 Marshmallow 设备上 它失败 在 Loll
  • 在拇指上方显示修改后的 JSlider 值

    有没有一种简单的方法可以在使用某些 外观和感觉 的同时更改 JSlider 上方标签中显示的值 为了清楚起见 我正在谈论这个值 具体来说 我想显示除以 1000 的值而不是值本身 我知道如果我显示它们 我可以为刻度设置标签 但用户将不得不猜
  • 从 CLI 部署 Maven 项目?

    在 IDE 中构建并运行良好 cd home thufir NetBeansProjects HelloMaven JAVA HOME usr lib jvm java 8 openjdk amd64 home thufir local s
  • 避免 @Secured 注释的重复值

    我正在尝试使用以下方法来保护我的服务方法 Secured如下 public interface IUserService Secured ROLE ROLE1 ROLE ROLE2 ResponseEntity saveUser Creat
  • 错误膨胀类 android.support.design.widget.NavigationView [启动时崩溃]

    该应用程序应该有一个导航抽屉 可以从左侧拉出并显示各种活动 但是一旦将导航栏添加到 XML Activity homescreen 文档中 应用程序一启动就会崩溃 主屏幕 java package com t99sdevelopment c
  • Java HashSet 是线程安全的只读吗?

    如果我通过 Collections unmodifyingSet 运行 HashSet 实例后 它是线程安全的吗 我问这个是因为 Set 文档声明它不是 但我只是执行读取操作 来自 Javadoc 请注意 此实现不是同步的 如果多个线程同时
  • Janusgraph 0.3.2 + HBase 1.4.9 - 无法设置 graph.timestamps

    我在 Docker 容器中运行 Janusgraph 0 3 2 并尝试使用运行 HBase 1 4 9 的 AWS EMR 集群作为存储后端 我可以运行 gremlin server sh 但如果我尝试保存某些内容 我会得到粘贴在下面的堆
  • Spring - 如何在不匹配列名的情况下使用 BeanPropertyRowMapper

    我正在开发一个应用程序 该应用程序已使用行映射器从纯 JDBC 转换为 Spring 模板 我遇到的问题是数据库中的列与属性名称不匹配 这阻止我使用BeanPropertyRowMapper容易地 我看到一些关于在查询中使用别名的帖子 这会
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该
  • 我怎样才能限定我不“拥有”的自动装配设置器

    要点是 Spring Batch v2 测试框架具有JobLauncherTestUtils setJob与 Autowired注解 我们的测试套件有多个Job类提供者 由于这个类不是我可以修改的东西 我不确定如何限定它自动连接的作业 每个

随机推荐

  • 在 rdlc 报告中创建没有数据集的表。

    我正在VS2010中开发rdlc报告 我需要在报告中添加一个表格 但是这个表格有固定的文本 不需要数据源 但报告给出了错误 因为该表与数据源无关 所以我的问题是如何在不需要数据源的 rdlc 中创建表 Thanks 根据定义 表需要关联的数
  • Oracle 触发器错误 ORA-04091

    执行触发器时出现错误 ORA 04091 表 DBPROJEKT AKTIENDEPOT AKTIE 正在发生变化 触发器 函数可能看不到它 CREATE OR REPLACE TRIGGER Aktien Bilanz Berechnun
  • Flask 应用程序崩溃(很可能是由于循环导入)

    我在这里遵循了本教程 https youtu be mISFEwojJmE t 367 https youtu be mISFEwojJmE 这是一个非常简单的 Flask 应用程序 用于为站点创建用户登录和注册页面 到目前为止 本教程中的
  • 如何在wxpython框架中拖动图像

    在 wx 窗口中拖动图像 或文本 的最简单方法是什么 我需要一些步骤或一个小例子来说明如何做到这一点 提前感谢 看一下 wxPython 演示中的 PseudoDC 示例 该示例在窗口中显示一些随机形状 您可以抓取并移动它们 您应该能够应用
  • 如何在 Nightwatch 中运行单个测试

    我怎样才能只跑Test 3从以下测试中 module exports Test 1 function Test 2 function Test 3 function 一个新参数 测试用例已添加以运行指定的测试用例 nightwatch js
  • 具有记忆功能的斐波那契数在 Python 中运行缓慢?

    def fib n if n 1 return 0 if n 2 return 1 return fib n 2 fib n 1 def memo f cache def memoized n if n not in cache cache
  • Python中的递归(阶乘函数)

    我希望这不是一个太愚蠢的问题 但是为什么这段 Python 代码中的 return 1 语句会返回数字的阶乘 return True 也会发生这种情况 我理解它相当于 return 1 def factorial n if n 0 retu
  • VBA - 运行时错误 1004“应用程序定义或对象定义错误”

    我有一个 Excel 文档 它在第一次运行时将模板工作表复制到新工作表中 遵循此模板的任何其他工作表都会附加到新创建的工作表中 我在这部分代码的标题中收到错误 If Worksheets User Configuration Cells 9
  • 在外键中使用Django的bulk_create对象?

    我正在阅读 Djangobulk create 及其一些 缺陷 This has a number of caveats though 1 The model s save method will not be called and the
  • 如何保持页面上的对象随页面顶部滚动

    我在遵循 stackOverflow 问答时遇到问题 滚动时将对象固定到浏览器窗口顶部 https stackoverflow com questions 6980821 fix object to top of browser windo
  • CPU 因 attributeOfItemAtPath:error: 而引发

    我在用 NSFileManager attributesOfItemAtPath error 获取文件属性的函数 但有时我的应用程序 cpu 会达到 100 我正在使用此函数处理 100k 大约 个文件 我的申请样本 2128 NSFile
  • ORMLite Android 中的一对多关系

    如何在 ORMLite Android 中实现一对多关系 请找到示例 public class A private String name DatabaseField foreign true foreignAutoRefresh true
  • 将“page-break-before”应用于表行 (tr)

    根据 W3 org 的说法 这种风格page break after适用于块级元素 http www w3 org TR 2004 CR CSS21 20040225 page html page break props http www
  • 检测到 DisconnectedContext

    我需要帮助消除此错误 为此 RuntimeCallableWrapper 转换到 COM 上下文 0x465608 失败并出现以下错误 系统调用失败 例外情况来自 HRESULT 0x80010100 RPC E SYS CALL FAIL
  • ight_layout() 不考虑图副标题

    如果我向 matplotlib 图添加副标题 它就会被子图的标题覆盖 有人知道如何轻松解决这个问题吗 我尝试过tight layout 功能 但这只会让事情变得更糟 Example import numpy as np import mat
  • docker 卷类型之间的区别 - 绑定与卷

    TLDR In docker compose 有什么区别 volumes type volume source mydata target data and volumes type bind source mydata target da
  • Java锁概念内部是如何工作的?

    类的每个实例Object 及其子类 拥有一个在进入某个对象时获得的锁synchronized方法并在退出时自动释放 这是否意味着我们创建的任何对象实例在内部默认都有一个 锁 作为字段实现 我对这个 锁 概念感到困惑 我想知道它内部实际上做了
  • 两个列表之间的差异

    我有两个填充了 CustomsObjects 的通用列表 我需要在第三个列表中检索这两个列表之间的差异 第一个列表中的项目 第二个列表中的项目 我在想使用 Except 是个好主意 但我不知道如何使用它 帮助 Using Except这正是
  • 在该命名空间中的另一个函数内转发声明该命名空间中的函数

    我有两个源文件 a cpp and b cpp In a cpp 我有一个函数 foo namespace ns void foo std cout lt lt foo In b cpp 我在命名空间中有另一个函数ns我想在其中制作原型并调
  • 在 jar 启动时预加载 java 类/库?

    在对服务器的第一次 RPC 调用期间发生超时 但后续请求成功 服务器响应超时 因为第一次调用时它会加载处理请求所需的库 由于这种延迟 一些客户端会超时 尽管可以增加客户端的超时延迟 但我希望最大限度地减少类加载对应用程序响应能力的影响 您将