小编Bob*_*oss的帖子

Java程序监视系统健康状况的最佳方法是什么?

我希望能够从基于Java的系统内部监控我的主要系统健康指标.主要兴趣点包括CPU温度,主板温度,风扇速度等.

是否有可用的包:

  1. 使这种数据可用于Java?
  2. 适用于Windows或Linux或两者兼容?
  3. 是开放/免费/便宜?

java system-monitoring

9
推荐指数
3
解决办法
1万
查看次数

如何确保RMI仅使用一组特定的端口?

在我们的应用程序中,我们使用RMI以非常不同的方式进行客户端 - 服务器通信:

  1. 将数据从服务器推送到客户端以进行显示.
  2. 从客户端向服务器发送控制信息.
  3. 来自那些控制消息的回调代码从服务器返回到客户端的路径(侧边栏注释 - 这是一些遗留代码的副作用,而不是我们的长期意图).

我们想要做的是确保我们所有与RMI相关的代码仅使用已知的指定端口库存.这包括注册表端口(通常预期为1099),服务器端口以及回调产生的任何端口.

这是我们已经知道的:

  1. LocateRegistry.getRegistry(1099)或Locate.createRegistry(1099)将确保注册表正在监听1099.
  2. 将UnicastRemoteObject构造函数/ exportObject静态方法与port参数一起使用将指定服务器端口.

这些Sun论坛帖子也涵盖了这些要点.

我们不知道的是:我们如何确保回调产生的客户端连接回服务器只能连接到指定的端口,而不是默认为匿名端口?

编辑:添加了一个很长的答案,总结了我的发现以及我们如何解决问题.希望这可以帮助其他有类似问题的人.

第二次编辑:事实证明,在我的应用程序中,我在创建和修改套接字工厂时似乎存在竞争条件.我曾希望允许用户在Beanshell脚本中覆盖我的默认设置.遗憾的是,在工厂创建第一个套接字后,我的脚本似乎正在运行.因此,我从默认设置和用户设置中获得了混合端口.需要做更多的工作,这超出了这个问题的范围,但我想我会指出它是其他可能不得不在某些时候踏上这些水域的人的兴趣点....

java rmi

8
推荐指数
1
解决办法
2万
查看次数

正交投影矩阵的公式?

我一直在四处寻找,似乎无法找到我正在寻找的东西.我发现了"规范公式",但是使用这些公式的最佳方法是什么?我必须缩小每个顶点? 或者,还有更好的方法?

一个公式真的可以帮助我,但我也在寻找关于相对于观众位置的近和远z平面的解释

math graphics projection orthogonal

8
推荐指数
1
解决办法
2万
查看次数

是否有可视化工具可以检查Java代码库并报告包间依赖性?

我们有一个Java代码库,对于单个单片JAR(超过5000个类)来说,它已经变得太大了.我们正在研究的任务之一是将这个单个JAR分解成具有受控依赖关系的较小组件需要付出多少努力.但是,看一大堆代码并确保在没有分析的情况下找到最佳分离点有点困难.

是否有良好的工具来检查和可视化interpackage依赖项?鉴于这些,我们将有一组建议的切割点,我们可以开始分离代码.

例如,在Netbeans和Eclipse(以及不同的工作)之前的几天,我们使用了TogetherJ和TogetherEnterprise.那些人有能力进行静态包分析并绘制UML图.这种行为是最佳的,但仅凭这一特征不足以证明成本合理.

java dependencies uml static-analysis packages

8
推荐指数
1
解决办法
2153
查看次数

一个团队的Java多IDE支持

允许程序员团队在同一个项目中使用Netbeans,Eclipse和IntelliJ的最佳方法是什么,从而消除了"哪个IDE更好"的问题.

应该或不应该将哪些文件检入源代码控制?

java eclipse ide netbeans intellij-idea

7
推荐指数
3
解决办法
1679
查看次数

您如何解释$ Log $关键字的风险?

我似乎每年都会讨论$Log$关键字的使用问题.我的观点是这样的:

$Log$ 是白热的死亡.

所有这一切都是在源文件中阻塞了与垃圾邮件有关的垃圾邮件.任何人认为他们可能从$ Log $获得的任何信息都可以从您的版本控制系统中获得(并且可能更准确).

所以,这里有一个问题:你如何向一位"老派"编码员(他认为$ Log $是管理源代码变更的方式)解释我们现在有更好的工具?

关于$ Log $的CVSNT评论是一个好的开始,但它们只是没有足够的指向.到目前为止,我已经设法提出的最接近单行的是" $Log$是一个愿望.你希望被发送到你文件中的内容与真正发生的事情有任何关系文件."

为清晰起见PS:当我说"老派"时,我的意思是陈旧,多年来不老.我的第一个编程薪水(也是一个非常适度的薪水)是在1986年的某个时候,我从未想过$ Log $是个好主意.

version-control keyword

6
推荐指数
1
解决办法
178
查看次数

是否有一个Java数据结构实际上是一个具有双指标和内置插值的ArrayList?

我正在寻找具有以下特征的预构建Java数据结构:

  1. 它看起来应该像ArrayList,但应该允许通过双精度而不是整数进行索引.请注意,这意味着您可能会看到与原始数据点不对齐的标记(即,要求与键"1.5"对应的值). 编辑:为清楚起见,根据评论,我不打算改变 ArrayList实现.我正在寻找类似的界面和开发人员体验.

  2. 因此,返回的值可能会被插值.例如,如果键为1.5,则返回的值可以是键1.0处的值的平均值和键2.0处的值.

  3. 键将被排序,但不确保值单调增加.实际上,无法保证值的一阶导数是连续的(使其不适合某些类型的样条).

  4. 请仅提供免费代码.

为清楚起见,我知道如何写这样的东西.实际上,由于某些性能和编码问题,我们已经在遗留代码中实现了这个以及一些相关的数据结构.

我想避免的是在JDK,Apache Commons或其他标准库中可能已经存在这样的事情时花费大量时间来编写我自己的解决方案.坦率地说,这正是让这个遗留代码进入现在的情况的方法....

在免费提供的图书馆里有这样的东西吗?

java interpolation data-structures

6
推荐指数
1
解决办法
1446
查看次数

是否有Java等效的frexp?

是否有一个名为frexp的C/C++函数的Java等价物?如果您不熟悉,维基百科将frexp 定义为"将浮点数分解为尾数和指数".

我正在寻找速度和准确性的实现,但如果我只选择一个,我宁愿准确.

这是第一个参考的代码示例.它应该使frexp合约更加清晰:

/* frexp example */
#include <stdio.h>
#include <math.h>

int main ()
{
  double param, result;
  int n;

  param = 8.0;
  result = frexp (param , &n);
  printf ("%lf * 2^%d = %f\n", result, n, param);
  return 0;
}

/* Will produce: 0.500000 * 2^4 = 8.000000 */
Run Code Online (Sandbox Code Playgroud)

c c++ java floating-point math.h

5
推荐指数
1
解决办法
2074
查看次数

生产中的 new Gson() 构造函数有多昂贵?

我正在创建一个新的 Netty 管道,我正在尝试:

  1. 避免过早优化。
  2. 编写易于向我的一名实习生解释的代码。

这种工厂方法当然很容易解释:

public String toJSON()
{
    Gson gson = new Gson();
    return gson.toJson(this);
}
Run Code Online (Sandbox Code Playgroud)

在一个有点相关的问题中,OP 询问重用 Gson 对象的单个实例是否可以(意味着线程安全)。我的问题略有不同:是否有充分的理由共享对象?如果是这样,在什么复杂程度下值得共享 Gson 对象?权衡在哪里?

premature-optimization gson

5
推荐指数
1
解决办法
1439
查看次数

什么是回调?

这是一个功能吗?
它是从源头调用的函数吗?
或者,它是从目的地返回的功能吗?
或者,它只是在目的地执行一个功能?
或者,它是从传递给目标的函数返回的值吗?

definition callback

4
推荐指数
2
解决办法
1155
查看次数