小编tan*_*ens的帖子

java在不同硬件上的性能?

另一个SO问题中,我问为什么我的Java程序在AMD上比在Intel机器上运行得更快.但似乎我是唯一一个观察过这一点的人.

现在,我想邀请您与SO社区分享您当地Java性能的数量.我在不同的硬件上观看JBoss的启动时观察到了很大的性能差异,因此我将此程序设置为此比较的基础.

如需参与,请下载JBoss 5.1.0.GA并运行:

jboss-5.1.0.GA/bin/run.sh (or run.bat)
Run Code Online (Sandbox Code Playgroud)

这启动了JBoss的标准配置,没有任何额外的应用程序.然后查找启动过程的最后一行,如下所示:

[ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: 
       SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 25s:264ms
Run Code Online (Sandbox Code Playgroud)

请重复此过程,直到打印时间稍微稳定并将此行与您的硬件上的一些注释一起发布(我使用cpu-z获取信息)和操作系统如下:

java version: 1.6.0_13
OS:           Windows XP
Board:        ASUS M4A78T-E
Processor:    AMD Phenom II X3 720, 2.8 GHz
RAM:          2*2 GB DDR3 (labeled 1333 MHz)
GPU:          NVIDIA GeForce 9400 GT
disc:         Seagate 1.5 TB (ST31500341AS)
Run Code Online (Sandbox Code Playgroud)

使用您的投票将最快的配置带到顶部.

我对结果非常好奇.

编辑:

到目前为止,只有少数成员分享了他们的结果.我真的对其他一些架构获得的结果很感兴趣.如果某人使用MAC(桌面)或运行低于3 GHz 的Intel i7,启动JBoss并分享您的结果.它只需要几分钟.

java hardware performance operating-system

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

持久性管理器中的hashmap

所以我正在尝试使用servlet,过滤器等构建一个谷歌应用程序引擎.我有一个看起来像这样的java文件:

public class Idea implements Comparator<Idea> {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;

@Persistent
private User author;

@Persistent
private String content;

@Persistent
private Date date;

@Persistent
private Map<User, Boolean> positiveVotes ;

@Persistent
private Map<User, Boolean> negativeVotes;

public Idea(User author, String content, Date date) {
    this.author = author;
    this.content = content;
    this.date = date;
    this.positiveVotes = new HashMap<User, Boolean>();
    this.negativeVotes = new HashMap<User, Boolean>();
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行我的程序时,我得到一个异常堆栈,开头是:

Feb 13, 2010 5:01:23 PM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /sign
java.lang.IllegalArgumentException: positiveVotes: java.util.HashMap is not …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine persistence

6
推荐指数
2
解决办法
3245
查看次数

正则表达式删除多行注释

我试图使用这个正则表达式(JS):

/\/\*(.*)\*\//g
Run Code Online (Sandbox Code Playgroud)

取代

/*
sdandsads
*/
Run Code Online (Sandbox Code Playgroud)

没有.

但它不起作用!为什么?O_O

javascript regex

6
推荐指数
2
解决办法
7912
查看次数

java LoginContext.login()如何工作?

我有这个代码来创建一个java客户端的配置来连接到JBoss应用程序服务器:

System.setProperty( "java.security.auth.login.config", "auth.conf" );
LoginContext auth = new LoginContext( "myAuth", 
    new LoginCallbackHandler( username, password ) );
auth.login();
Run Code Online (Sandbox Code Playgroud)

该文件auth.conf包含以下行:

myAuth {
    org.jboss.security.ClientLoginModule required;
};
Run Code Online (Sandbox Code Playgroud)

现在,代码中的其他地方(在auth那里不知道LoginContext )我有一个EJB来执行a initialContext.lookup( jndiName )和a narrow()来访问JBoss应用程序服务器上的Bean.narrow只有在第一步的登录信息正确时,这才会成功.

登录信息如何从?传播LoginContextnarrow()?我认为这两个地方之间没有任何联系.

而且,我怎么能在一个客户端内进行两个或更多不同的登录?

java authentication jndi jaas

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

如何在多模块项目中处理maven版本?

我有一个像这样的maven项目基础设施:

/trunk/all/pom.xml
/trunk/all/libs/lib1/pom.xml
               /lib2/pom.xml
               ...
/trunk/all/projects/p1/pom.xml
                   /p2/pom.xml
                   ...
Run Code Online (Sandbox Code Playgroud)

你看,我有很多库和许多使用这些库的项目.

所有这些都结合到一个多模块项目中,因为我喜欢

  • 将顶级项目导入eclipse并立即提供所有库和项目
  • mvn test在完成一些全局重构之后,只做一个单独的编译和测试我的所有代码.

目前,我的所有模块都是版本1.0-SNAPSHOT.

现在我想发布项目,p2并且所有库都p2使用(例如lib1lib2)版本1.0.从那以后,我做了一些修改代码lib1,但没有lib2.

我希望下一个版本p2是版本1.1,lib1在版本中使用1.1(它自上一版本以来已被修改),但lib2仍然在版本中1.0(因为它没有被修改).

更一般:如果我发布了一个版本,我想增加自上次发布以来发布项目的次要编号以及所有已更改的库.

我是否必须自己照顾所有模块版本,或者是否有能够为我完成所需工作的插件?

maven-2 maven-release-plugin

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

为什么ZipInputStream无法读取ZipOutputStream的输出?

我坚持这个junit测试:

public void test() throws Exception {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ZipOutputStream zipOut = new ZipOutputStream( out );
    zipOut.putNextEntry( new ZipEntry( "file" ) );
    zipOut.write( (new byte[] { 0x01, 0x02, 0x03 }) );
    zipOut.closeEntry();
    zipOut.close();

    ZipInputStream zipIn = new ZipInputStream( new ByteArrayInputStream( out.toByteArray() ) );
    ZipEntry entry = zipIn.getNextEntry();
    assertNotNull( entry );
    assertEquals( "file", entry.getName() );
    assertEquals( 3, entry.getSize() );
}
Run Code Online (Sandbox Code Playgroud)

我正在写一个名为"file"的文件和一个ZipOutputStream的三个字节的内容.然后我尝试用ZipInputStream读取创建的数据,但最后一个断言失败,因为entry.getSize()-1和否3,正如预期的那样.

我在这做错了什么?我需要更改什么才能恢复"文件"的内容?我想,我首先要知道能够从流中读取数据的长度吗?

java zip

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

如何部署到nexus(由secureci托管)?

就像在推荐之前的SO-回答我运行的VMware映像secureci含行家,承上启下,哈德森,SVN预配置的开发基础.

现在我想在我的Windows XP机器上配置maven,将其工件部署到nexus.但是当我像这样配置我的pom.xml时(取自部署工件到Nexus):

<distributionManagement>
    <!-- use the following if you're not using a snapshot version. -->
    <repository>
        <id>nexus</id>
        <name>RepositoryProxy</name>
        <url>scp://192.168.0.197/nexus/content/repositories/releases</url>
    </repository>
    <!-- use the following if you ARE using a snapshot version. -->
    <snapshotRepository>
        <id>nexus</id>
        <name>RepositoryProxy</name>
        <url>scp://192.168.0.197/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)

... mvn deploy打印错误消息:

Error deploying artifact: Exit code: 1 - 
    mkdir: cannot create directory `/nexus': Permission denied
Run Code Online (Sandbox Code Playgroud)

settings.xml我配置的用户名和密码如下:

<servers>
  <server>
    <id>nexus</id>
    <username>tangens</username>
    <password>********</password>
  </server>
</servers>
Run Code Online (Sandbox Code Playgroud)

问题:我必须使用哪种配置来部署到nexus?


我已经尝试过https而不是scp,但是这个maven遇到了缺少证书的问题. …

deployment maven-2 nexus

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

将静态2D字符串数组转换为HashMap

将2D数组字符串转换为HashMap的最简单方法是什么?

例如,拿这个:

final String[][] sheetMap = { /* XSD Name,  XSL Sheet Name */
                              {"FileHeader", "FileHeader"}, 
                              {"AccountRecord", "AccountRecord"}, 
                              {"DriverCardRecord", "DriverCardRecord"}, 
                              {"AssetCardRecord", "AssetCardRecord"},
                              {"SiteCardRecord", "SiteCardRecord"}
                            };

这很可能是从文件加载而且会更大.

java

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

如何使用约束编程来优化购物篮?

我有一份我想买的物品清单.这些物品由不同的商店和不同的价格提供.商店有个人送货费用.我正在寻找最优购物策略(以及支持它的java库)以最低的总价购买所有商品.

例:

  • Shop1在Shop1以100美元的价格在Shop2以111美元的价格提供.
  • 商品2在Shop1以90美元的价格在Shop2以85美元的价格提供.
  • Shop1的运费:如果总订单<$ 150,则需要10美元; 否则为$ 0
  • Shop2的运费:如果总订单<$ 50则需要5美元; 否则为$ 0
  • 如果我在Shop1购买Item1和Item2,总成本为100美元+ 90美元+ 0美元= 190美元.
  • 如果我在Shop2购买Item1和Item2,总成本为111美元+ 85美元+ 0美元= 196美元.
  • 如果我在Shop1购买Item1,在Shop2购买Item2,则总成本为100美元+ 10美元+ 85美元+ 0美元= 195美元.

如果我在Shop1订购Item1和Item2:190美元,我会得到最低价格

到目前为止我尝试了什么

之前我问了另一个问题,这让我进入了约束编程领域.我看了一下奶油巧克力,但我没弄明白如何创建一个模型来解决我的问题.

         | shop1 | shop2 | shop3 | ...
-----------------------------------------
item1    | p11   | p12   | p13   |
item2    | p21   | p22   | p23   |
 .       |       |       |       |
 .       |       |       |       |
-----------------------------------------
shipping | s1    | s2    | s3    |
limit    | …
Run Code Online (Sandbox Code Playgroud)

java constraints mathematical-optimization constraint-programming

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

如何找到特定类型的toString()方法的隐式用法

最近我将代码中处理密码的所有地方都更改String为新Password类.该Password.toString()方法现在只是打印[********].如果我想获得密码,我必须打电话Password.getPassword().这样我可以确保不会意外地将密码写入日志文件.

在更改过程中,我错过了更改一些看起来像这样的行:

String.format( "user:%s", password );
Run Code Online (Sandbox Code Playgroud)

在我的更改password是类型之前String,所以它被格式化为所需.但在我的更改password被呈现为[*******].这正是我的意图.但现在我想自动找到所有这些地方.

我尝试了使用fb-contrib插件(ITU_INAPPROPRIATE_TOSTRING_USE)的findbugs,但它没有找到String.format()中的隐式使用.Password.toString()

有没有人知道另一个findbugs贡献项目或任何其他可以找到这些代码位置的静态代码分析器?

java static-analysis findbugs tostring

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