我试图了解ZooKeeper,它是如何工作的以及它的作用.有没有可与ZooKeeper相媲美的应用程序?
如果你知道,那么你如何向外行描述ZooKeeper?
我已经尝试过apache wiki,zookeeper sourceforge ......但我仍然无法与之相关.
我只是通过http://zookeeper.sourceforge.net/index.sf.shtml阅读,所以不是有更多这样的服务吗?它只是复制服务器服务这么简单吗?
我是C#的新手,我试着查看之前的帖子,但没有找到一个好的答案.
在单个表单的C#Windows窗体应用程序中,使用Form.Close()更好还是Form.Dispose()?
MSDN表示关闭对象中的所有资源,并在调用Close时处理该表单.尽管如此,我在网上遇到了几个跟随Dispose而不是Close的例子.
一个人比另一个人有优势吗?在哪种情况下,我们应该优先选择其中一种?
我最近遇到了一个程序员编写的代码,他在catch中有一个try-catch语句!
请原谅我无法粘贴实际代码,但他所做的与此类似:
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
Run Code Online (Sandbox Code Playgroud)
我个人觉得这是我见过的最差的代码!在1到10的范围内,你认为我应该多久去给他一点心思,还是我过度反应?
编辑:他在捕获中实际做了什么,他正在执行一些操作,这些操作可以/应该在初始尝试失败时完成.我的问题是拥有干净的代码和可维护性.将第一个catch中的异常委托给另一个函数或调用函数就可以,但是添加更多代码可能会或者可能不会将异常抛入第一个catch中,这是我觉得不好的.我试图避免多个堆叠的"if-loop"语句,我发现这同样糟糕.
对于以下代码:
class A
{
public static int X;
static { X = B.Y + 1;}
}
public class B
{
public static int Y = A.X + 1;
static {}
public static void main(String[] args) {
System.out.println("X = "+A.X+", Y = "+B.Y);
}
}
Run Code Online (Sandbox Code Playgroud)
输出为:X = 1,Y = 2
为什么?如何???
-Ivar
PS:来自JavaCamp.org的代码片段
2个问题,我没有做任何高效工作,并尝试在google.com上选择谷歌主页(左键单击并选择整页)
我看到在搜索框旁边,在左侧,有一个空的空间
我查找源代码,确实有一个<td width=25%> </td>
愚蠢的声音,但我仍然很想知道为什么空白区域在那里. .或者它只是一个简单的错字?:)
还有什么想法window.lol && lol()呢?好奇又一次,谷歌搜索没有得到任何结果,我想我会转向stackoverflow来启发我...
谢谢,伊娃
如果我在字符串中寻找特定的单词,例如,在字符串"你好吗"我正在寻找"是".常规indexOf()工作得更快更好还是正则表达式匹配()
String testStr = "how are you";
String lookUp = "are";
//METHOD1
if (testStr.indexOf(lookUp) != -1)
{
System.out.println("Found!");
}
//OR
//METHOD 2
if (testStr.match(".*"+lookUp+".*"))
{
System.out.println("Found!");
}
Run Code Online (Sandbox Code Playgroud)
上面两种方法中的哪一种是在另一个字符串中查找字符串的更好方法?还是有更好的选择?
我有一个列表,在下面声明,在开始时我将列表项默认为{-1, - }.请注意,在整个计划中,列表大小固定为2.
List<int> list = new List<int>(new int[] {-1, -1});
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我需要覆盖列表中的两个值,那么最好的方法是什么.
int x = GetXValue();
int y = GetYValue();
Run Code Online (Sandbox Code Playgroud)
方法1:
list = new List<int>(new int[] {x, y});
Run Code Online (Sandbox Code Playgroud)
方法2:
list[0] = x;
list[1] = y;
Run Code Online (Sandbox Code Playgroud)
什么是更好的方法?使用第二种方法,即使我确定最初设置了2个值,但我可能会遇到Argument index out of range异常风险.但是第一种方法可能会占用更多内存(如果我错了,请纠正我!)因为我每次都会创建一个新列表.
是否有更简单和/或更好的解决方案
在Java中的大多数线程示例中,通常使用while(true)块,如下所示:
while(true) {
try {
wait()
} catch (Exception ex) {
/*do something*/
}
}
Run Code Online (Sandbox Code Playgroud)
使用while(true)的目的是什么?在什么样的情况下它们特别有用?客户/服务器通信?
谢谢,
- 伊瓦尔
我知道这个话题已被一遍又一遍地讨论和杀死,但我仍有一个疑问,我希望有人可以帮助我或指导我在SO上预先存在的帖子.
在传统的C中,静态变量存储在数据段中,局部变量存储在堆栈中.与局部变量相比,我认为这会使静态变量的存储和维护成本更高.对?
当试图用Java或C#来理解时,与单例类相比,这对于静态类是不利的吗?由于整个类在类初始化之前被加载到内存中,所以除非我们有小的内联函数,否则我看不出它有什么优势.
我喜欢Singleton课程,并且不愿意看到它成为一种反模式,我仍然在寻找它带来的所有优点......然后松散于其他人的线程安全论证.
-Ivar
我有一个文件,其中包含类XYZ的多个序列化对象.序列化时,每个XYZ对象都附加到文件中.
现在我需要从文件中读取每个对象,并且我只能读取第一个对象.
知道如何从文件中读取每个对象并最终将其存储到List中吗?