小编Lii*_*Lii的帖子

如何告诉git-svn我获取回购后创建的远程分支?

我正在使用git-svn我公司的中央git branch -r存储库.我们最近在中央仓库中创建了一个新功能分支.我怎么fetch说呢?当我跑步时,git-svn我只能看到当我git branch -rfetch仓库对抗以初始化我的git-svn仓库时存在的分支?

git git-svn

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

使用Mockito的通用"any()"方法

我有一个接口,其方法需要一个数组Foo:

public interface IBar {
  void doStuff(Foo[] arr);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Mockito来嘲笑这个界面,我想断言它doStuff()被调用了,但我不想验证传递了什么参数 - "不关心".

如何使用any()泛型方法编写以下代码,而不是anyObject()

IBar bar = mock(IBar.class);
...
verify(bar).doStuff((Foo[]) anyObject());
Run Code Online (Sandbox Code Playgroud)

java unit-testing mocking mockito

181
推荐指数
4
解决办法
29万
查看次数

如何在Java中监视计算机的CPU,内存和磁盘使用情况?

我想用Java监视以下系统信息:

  • 当前CPU使用率**(百分比)
  • 可用内存*(免费/总计)
  • 可用磁盘空间(免费/总计)

    *请注意,我的意思是整个系统可用的整体内存,而不仅仅是JVM.

我正在寻找一种不依赖于我自己的代码调用外部程序或使用JNI的跨平台解决方案(Linux,Mac和Windows).虽然这些是可行的选择,但如果有人已经拥有更好的解决方案,我宁愿不自己维护特定于操作系统的代码.

如果有一个免费的库可以以可靠的跨平台方式实现这一点,那就太棒了(即使它进行外部调用或使用本机代码本身).

任何建议都非常感谢.

为了澄清,我想获得整个系统的当前CPU使用率,而不仅仅是Java进程.

SIGAR API在一个软件包中提供了我正在寻找的所有功能,因此它是迄今为止我的问题的最佳答案.但是,由于它是根据GPL许可的,我不能将它用于我的原始目的(封闭源,商业产品).Hyperic可能会将SIGAR许可用于商业用途,但我还没有调查过.对于我的GPL项目,我将来肯定会考虑SIGAR.

根据我目前的需求,我倾向于以下方面:

  • 对于CPU使用率,OperatingSystemMXBean.getSystemLoadAverage() / OperatingSystemMXBean.getAvailableProcessors()(每个CPU的平均负载)
  • 对于记忆,OperatingSystemMXBean.getTotalPhysicalMemorySize()OperatingSystemMXBean.getFreePhysicalMemorySize()
  • 对于磁盘空间,File.getTotalSpace()File.getUsableSpace()

限制:

getSystemLoadAverage()和磁盘空间查询方法仅仅是Java的6下可用另外,一些JMX功能可能无法适用于所有平台(即它的报道,getSystemLoadAverage()返回-1在Windows上).

尽管最初是根据GPL许可,它已经改变Apache 2.0中,这通常可以用于封闭源代码,商业产品.

java memory cpu diskspace cross-platform

176
推荐指数
10
解决办法
24万
查看次数

Eclipse Europa,Helios,Galileo之间的区别

Eclipse(Europa,Helios,Galileo)版本之间有什么区别?哪个是桌面应用程序的最佳选择?

eclipse version eclipse-3.5 eclipse-3.6 eclipse-europa

174
推荐指数
4
解决办法
21万
查看次数

Maven project.build.directory

在Maven中,project.build.directory引用了什么?我有点困惑,是否引用了Maven项目中的源代码目录或目标目录?

maven

166
推荐指数
3
解决办法
19万
查看次数

lambda表达式是否在每次执行时都在堆上创建一个对象?

当我使用Java 8的新语法糖迭代一个集合时,例如

myStream.forEach(item -> {
  // do something useful
});
Run Code Online (Sandbox Code Playgroud)

这不等同于下面的"旧语法"片段吗?

myStream.forEach(new Consumer<Item>() {
  @Override
  public void accept(Item item) {
    // do something useful
  }
});
Run Code Online (Sandbox Code Playgroud)

这是否意味着Consumer每次迭代集合时都会在堆上创建一个新的匿名对象?这需要多少堆空间?它有什么性能影响?这是否意味着我在迭代大型多级数据结构时应该使用旧样式for循环?

java lambda java-8

166
推荐指数
2
解决办法
3万
查看次数

如何告诉Eclipse Workspace?

有没有办法告诉您当前正在使用的当前Eclipse工作区?

java eclipse

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

如何在Windows 7的命令提示符中运行Python程序?

我试图弄清楚如何在Windows 7上使用命令提示符运行Python程序.(我现在应该已经弄明白了......)

当我在命令提示符下键入"python"时,出现以下错误:

'python'不被识别为内部或外部命令,可操作程序或批处理文件.

我在寻找帮助时找到的第一个地方是这个网站:http://docs.python.org/faq/windows.html#how-do-i-run-a-python-program-under-windows.

它有点帮助,但该教程是为Windows 2000及更早版本编写的,因此它对我的Windows 7机器的帮助微乎其微.我尝试了以下方法:

对于旧版本的Windows,最简单的方法是编辑C:\ AUTOEXEC.BAT>文件.您可能希望在AUTOEXEC.BAT中添加如下所示的行:

这个文件在我的机器上不存在(除非我弄错了).

接下来,我尝试了这个:(这里:我如何运行Python程序?)

把Python放在你的路上

视窗

为了运行程序,您的操作系统会在不同的位置查找,并尝试在此过程中将您键入的程序/命令的名称与某些程序相匹配.

在Windows中:

控制面板>系统>高级> |环境变量| >系统变量 - >路径

这需要包括:C:\ Python26; (或同等学历).如果你把它放在前面,那将是第一个看的地方.您也可以在最后添加它,这可能更安全.

然后重新启动提示,并尝试键入"python".如果一切正常,你应该得到一个">>>"提示符.

这对于Windows 7来说已经足够了,我开始使用系统变量.我添加了一个变量"python",其值为"C:\ Python27"

即使重新启动计算机,我仍然会收到错误消息.

有人知道怎么修这个东西吗?

python windows-7

157
推荐指数
5
解决办法
75万
查看次数

为什么Maven使用JDK 1.6但我的java -version是1.7

我是maven的新手,也是MacOS的新手.

我在我的终端设置了maven,当获得版本设置(使用mvn -v)时,似乎它使用了JDK 1.6,而我安装了JDK 1.7.有什么不对的吗?

我输入的命令是:

blues:helloworld Ninja$ java -version
Run Code Online (Sandbox Code Playgroud)
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)`
Run Code Online (Sandbox Code Playgroud)
blues:helloworld Ninja$ mvn -v
Run Code Online (Sandbox Code Playgroud)
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 10:15:32+0800)
Maven home: /usr/local/Cellar/maven/3.1.0/libexec
Java version: 1.6.0_51, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: zh_CN, platform encoding: EUC_CN
OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)

java linux macos maven

155
推荐指数
5
解决办法
13万
查看次数

如何在一个命令行中下载特定的Maven工件?

我可以通过安装工件install:install-file,但是如何下载工件?

例如:

mvn download:download-file -DgroupId=.. -DartifactId=.. -Dversion=LATEST
Run Code Online (Sandbox Code Playgroud)

maven-2

153
推荐指数
8
解决办法
16万
查看次数