小编Eli*_*jah的帖子

用Java重命名线程

我正在开发一个越来越大的项目,许多不同进程使用的活动线程数正在增加.最近,我一直在仔细研究调试器中正在运行的线程,我注意到很多我的第三方库给它们的线程命名很差--Timer-0,qtp0等等.我想让其他开发人员不熟悉使用命名不佳的线程立即知道正在运行的是什么.

而不是为我们正在使用的库编写补丁,有没有人知道如何重命名正在运行的线程?或者,如果这是一个好主意?任何建议,将不胜感激.

java multithreading naming

11
推荐指数
4
解决办法
8717
查看次数

在Java中嵌入Web浏览器窗口

有没有人知道在集成到Java应用程序的Swing窗口中打开平台(Windows/Linux/Mac)浏览器实例的方法.除了打开给定的URL之外,不会执行任何其他操作.目前,我们打开一个新的浏览器窗口,因为Java嵌入式浏览器不够用.但是,从用户交互的角度来看,这不太理想.

我很好奇这个解决方案是否是1.6 Java版本的一部分.所以,到目前为止,我的google-foo还没有发现任何注意事项.是否有任何闭源库可以做到这一点?什么?

java browser embed swing

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

如何在Play框架中使用evolutions在PostgreSQL中创建一个函数?

使用Play Framework 2.1

我在我的演变中定义了以下SQL:

CREATE OR REPLACE FUNCTION idx(myArray anyarray, myElement anyelement) RETURNS int AS $$
 SELECT i FROM (
  SELECT generate_series(array_lower(myArray,1),array_upper(myArray,1))
 ) g(i)
 WHERE myArray[i] = anyElement
 LIMIT 1; $$ LANGUAGE sql IMMUTABLE;
Run Code Online (Sandbox Code Playgroud)

当我执行演变时,我收到以下错误:

We got the following error: ERROR: unterminated dollar-quoted string at or near 
"$$ SELECT i FROM ( SELECT generate_series(array_lower(myArray,1),
 array_upper(myArray,1)) ) g(i) WHERE myArray[i] = anyElement LIMIT 1" Position:
 87 [ERROR:0, SQLSTATE:42601], while trying to run this SQL script:
Run Code Online (Sandbox Code Playgroud)

我正在使用PostgreSQL驱动程序版本9.1-901.jdbc4.

我查看了postgres查询日志,发现Play正在尝试执行以下操作:

LOG:  execute <unnamed>: insert …
Run Code Online (Sandbox Code Playgroud)

postgresql jdbc postgresql-9.2 playframework-2.1 playframework-evolutions

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

有没有一种简单的方法来计算和格式化java中的时间/日期间隔?

我熟悉JDK中的日期和时间类及其相关的格式化方法.我可能是盲人,但我找不到一组等效的处理时间间隔的类.例如,我想显示给定的长毫秒值的天数.我意识到进行这些转换的方法非常简单,但是当你考虑国际化和本地化支持时,这就变得不那么重要了.

我很惊讶JDK缺少对间隔处理的支持.但是,像Postgresql这样的数据库支持它.

基本上我在JDK中寻找的东西(如果我太盲目看不到它)或在第三方库中是以下功能:

  • 时间计算方法.例如毫秒到几周或几秒到几纳秒.虽然数学对于这些操作来说很简单,但是让API通过似乎对我来说更加自我记录.
  • 根据传递的Locale格式化的时间间隔格式化函数,如DateFormat.例如,在EN_US中我会假设10天是"10天",而在日语中我会想要"10日"返回.

那里有什么东西或者这是一个新的开源项目吗?

java time datetime date intervals

7
推荐指数
1
解决办法
2332
查看次数

什么是简洁易读的测试方式,看看三个中的两个数字是否相等?

基本上,如果我有这样的功能:

function foo (int a, int b, int c) {
    return true if two out of the three variables are true otherwise false
}
Run Code Online (Sandbox Code Playgroud)

有没有一种简单而简洁的方法来确定是否有n个数字在一组中是相等的?那只有三个项目呢?有没有我可以利用的数学运算?我知道我可以做一个迭代的方法来解决,我只是好奇是否有其他解决方法更清楚.

这是条件的细分,因为我很难表达问题:

if no numbers are equal, return false
if two numbers out of three are equal, return true
if all three numbers are equal, return false
Run Code Online (Sandbox Code Playgroud)

algorithm

7
推荐指数
2
解决办法
358
查看次数

使用functional-java为Java生产项目添加闭包有多安全?

我很想在Java中使用闭包.我已经读过它们可能会或者可能不会成为Java 7.但是一个名为functional-java的开源项目已经实现了包括闭包在内的功能特性.

在企业生产应用程序中使用这样的库有多安全?

是否有更好的方法来向Java添加闭包?

java closures functional-programming functional-java

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

如何获取Perl中的文件名和行号?

我想在Perl脚本中获取当前文件名和行号.我该怎么做呢?

例如,在文件调用中test.pl:

my $foo = 'bar';
print 'Hello World';
print functionForFilename() . ':' . functionForLineNo();
Run Code Online (Sandbox Code Playgroud)

它会输出:

Hello World
test.pl:3
Run Code Online (Sandbox Code Playgroud)

perl

6
推荐指数
3
解决办法
6439
查看次数

如何使用 Java 中的 Postgres JDBC 驱动程序获取导致 SQLException 的 sql 语句?

背景

在我当前的项目 - 一个没有 GUI 前端的服务器产品中,我试图编写更好的错误处理支持。错误当前输出到日志中,用户通常不会读取。

我们使用 PostgreSQL 作为我们的数据库后端,并通过数据库池程序使用直接的 JDBC 调用和 DAO 访问它。大多数与数据库相关的异常都包含在一个通用DatabaseException类中,该类实现RuntimeException并尝试从传递的异常中提取调试和状态信息。在我们的特殊情况下,它将访问底层 PostgreSQL 数据库驱动程序 - PSQLException。到目前为止,这种方法在获取关于导致数据库错误的原因的详细信息方面效果很好,下面描述了一个值得注意的例外。

此外,由于我们有非常具体的性能和遗留支持要求,我们有很多自定义 SQL魔法,这使得跟踪堆栈回溯的时间更加密集,但并非不可能或困难。

问题描述

我注意到当我们SQLException因为错误的 SQL 语句而得到 a 时,驱动程序的实现不会返回导致错误的 SQL 语句。在做了一些搜索之后,我发现有一种方法可以在启动时将 PostgreSQL 驱动程序放入调试模式并让它显示有关其内部查询的属性。但是,我们不希望在我们的生产环境中以调试模式运行驱动程序(老实说,我一直无法弄清楚如何让它进入 freakin 模式!)。

有没有其他人之前处理过同样的问题并找到了解决方案?如果没有,是否有一些 OOP 模式可以在执行之前存储查询信息,然后将该信息分配给抛出的异常?还是大多数开发人员只是觉得他们不需要完整的查询来解决数据库问题?老实说,我不需要它,因为我有完整的堆栈跟踪,我可以查找调用查询,但它肯定会加快我的调试速度,因为它是我在错误日志中看到的第一件事。

java postgresql exception-handling exception jdbc

5
推荐指数
2
解决办法
3831
查看次数

如何在Ninject中使用装饰器声明责任链?

我想在Ninject中使用装饰器声明一个责任链.

以前有人这样做过吗?

谢谢.

c# ninject inversion-of-control chain-of-responsibility

4
推荐指数
1
解决办法
1277
查看次数

您是否知道任何包装常见Linux OS API的JNI包装工具包或库?

我正在寻找一个库或工具包(所以我不必编写它),这将允许我在Linux中执行以下常见操作:

  • 获取用户名的uid.
  • 获取用户/组成员身份信息.
  • 获取有关磁盘驱动器上可用空间的信息.
  • 任何其他可能有用的API调用,这些调用在Java中通常不可用,因为它们会破坏可移植性.

那里有人有什么想法吗?

java linux java-native-interface

4
推荐指数
1
解决办法
1378
查看次数