小编Pri*_*nce的帖子

Java中有Mutex吗?

在java中是否存在Mutex对象或创建一个?我问,因为用1许可证初始化的信号量对象对我没有帮助.想想这个案例:

try {
   semaphore.acquire();
   //do stuff
   semaphore.release();
} catch (Exception e) {
   semaphore.release();
}
Run Code Online (Sandbox Code Playgroud)

如果在第一次获取时发生异常,则catch块中的释放将增加许可,并且信号量不再是二进制信号量.

请问是正确的方法吗?

try {
   semaphore.acquire();
   //do stuff
} catch (Exception e) {
   //exception stuff
} finally {
   semaphore.release();
}
Run Code Online (Sandbox Code Playgroud)

上面的代码会确保信号量是二进制的吗?

java mutex semaphore java.util.concurrent concurrent-programming

106
推荐指数
5
解决办法
19万
查看次数

如何在C#中获取子列表

我有一个List<String>,我需要从这个列表中取一个子列表.在.NET 3.5中是否有可用于此的列表方法?

.net c# list .net-3.5 sublist

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

无法更新:没有跟踪分支

我在Windows上的Android Studio(预览版)0.6.0上,并试图在GitHub上分享我的项目.我使用Git Shell初始化,添加,提交并将项目推送到GitHub.但是当我尝试从Android Studio中更新我的项目时在此输入图像描述,我收到了这个错误:

Can't update: no tracked branch
No tracked branch configured for branch master.
To make your branch track a remote branch call, for example,
git branch --set-upstream master origin/master
Run Code Online (Sandbox Code Playgroud)

它确实提供了这个建议,但我不知道该做什么.有没有办法在Android Studio中解决这个问题?

git github android-studio

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

Maven还是常春藤?已经投入生产的系统哪个更好?和其他差异?

我知道这是一个复杂的问题,但我想知道哪个系统已经在生产中哪个更好,有很多错误和非常糟糕的设计.一团糟.

实际上,我问这个是因为我已经把这个项目转换成了Maven,而且我遇到了很多问题.我需要调整文件夹结构,将公司制作的可怕框架与项目分开(它被转换为jar lib),修复了许多破坏项目的细节,配置POM.xml来制作一切Ant已经在做了并发现了应用程序中真正使用的库作为它们的版本(libs的很大一部分被重命名而没有版本号,而清单文件是空的).

嗯,这真是个地狱.在这个任务中我疯了,一直跟着我的问题是"如果我把它转换成常春藤?会更容易吗?".

我从未与Ivy合作过,但据我所知,它与Ant配合使用,然后Maven更容易调整项目.另一方面,Maven它更常用于这个词(我错了吗?),这应该是有原因的!

所以这是我的问题:

  • 与Jenkins/Hudson整合:使用Ivy,它与Maven一样容易吗?
  • 声纳插件:上面的问题相同.它的集成很简单吗?
  • Eclipse插件:这是Maven的一个非常弱点.插件很糟糕,但我不知道常春藤.
  • 部署过程:一旦配置完毕,使用maven部署和发布项目非常容易.还有常春藤?
  • 转换:嗯,我将项目转换为Maven的经历非常糟糕,但系统没有帮助.我有的选择是Maven对于新项目来说是惊人的,自Maven创建以来与Maven合作的项目,但如果你有一个庞大而无组织的项目,这不是一个好的选择.我错了吗?
  • 插件:它是很多要配置到POM.xml中的插件.常春藤有这么多选择吗?
  • 人气:哪个更受欢迎?哪一个更常用,为什么?

好吧,就是这样.非常感谢!

java ant development-environment ivy maven

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

用于简单地翻转整数中所有位的按位运算符?

我必须以整数的二进制表示形式翻转所有位.鉴于:

10101
Run Code Online (Sandbox Code Playgroud)

输出应该是

01010
Run Code Online (Sandbox Code Playgroud)

与整数一起使用时,实现此操作的按位运算符是什么?例如,如果我正在写一个类似的方法int flipBits(int n);,身体会发生什么?我只需要翻转数字中已经存在的内容,而不是整数中的所有32位.

java binary bit-manipulation bit bitwise-operators

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

为什么哈希映射中的不可变对象如此有效?

所以我读到了HashMap.有人指出:

"Immutability还允许缓存不同键的哈希码,这使得整个检索过程非常快,并建议IntegerJava Collection API提供的String和各种包装类(例如)是非常好的HashMap键."

我不太明白......为什么?

java performance caching hashmap immutability

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

如何使用条目/值初始化LinkedList?

所以我知道如何拥有一个链表并使用add方法按条目输入条目.但是,我不想按条目添加条目.有没有办法在列表中声明一个带有初始值的链表?

例如,如果我想在列表中有1.0和2.0,我可以在一行中做些什么吗?就像是:

List<Double> temp1 = new LinkedList<Double>(1,2);
Run Code Online (Sandbox Code Playgroud)

java initialization linked-list

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

签署一个字符是什么意思?

鉴于有符号和无符号整数使用相同的寄存器等,并且只是不同地解释位模式,而C字符基本上只是8位整数,C中有符号和无符号字符之间的区别是什么?我理解char的签名是实现定义的,我根本无法理解它是如何产生影响的,至少当char用于保存字符串而不是数学时.

c string signed char character-encoding

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

在golang中分配指针原子?

将指针原子分配给go?

我需要在锁中指定一个指针吗?假设我只想将指针指向nil,并希望其他线程能够看到它.我知道在java中我们可以使用volatile.但是没有波动性.

谢谢.

concurrency atomic go

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

如果在Java中它是整数数组,如何检查null元素?

我是Java的新手,并且在整数数组中检查null元素时遇到问题.我正在使用Eclipse进行编辑,并且检查null元素的行显示错误:

抱怨的行:

if(a[i] != null) {
Run Code Online (Sandbox Code Playgroud)

来自Eclipse的错误信息:

The operator != is undefined for the argument type(s) int, null
Run Code Online (Sandbox Code Playgroud)

在PHP中,这没有任何问题,但在Java中,似乎我必须将数组类型从整数更改为Object以使该行不被抱怨(如下所示)

Object[] a = new Object[3];
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如果我仍然想要声明为整数数组并且仍然想要检查null,它的语法是什么?

码:

public void test() {
        int[] a = new int[3];
        for(int i=0; i<a.length; i++) {
            if(a[i] != null) { //this line complains...
                System.out.println('null!');
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

java arrays int null

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