小编jcr*_*ey3的帖子

在64位Linux服务器上运行64位JVM的好处/缺点?

我们在64位Linux 2.6服务器上运行32位Sun Java 5 JVM,但显然这会将每个进程的最大内存限制为2GB.所以我们建议我们升级到64位JVM以消除限制.我们目前在服务器上运行多个JVM(Tomcat实例)以保持在2GB的限制之下,但我们想整合它们以简化部署.

如果你已经这样做了,你能分享一下你的经历吗?你在生产中运行64位JVM吗?你会建议留在Java 5,还是可以同时转向Java 6 64位?我们是否应该期待性能问题,无论是好还是坏?我们应该关注回归测试的任何特定领域吗?

谢谢你的任何提示!

java linux 64-bit tomcat

12
推荐指数
3
解决办法
9291
查看次数

将常量用于属性键有什么意义?

最近,我遇到了许多依赖"属性文件"进行配置的Java代码.但是代码不是普通的旧字符串文字,而是使用常量(静态最终字符串)来检索属性值.

我发现这种额外的间接级别很烦人,因为我需要在EITHER方向上执行两次查找.如果我从配置文件中观察到的属性开始,我必须首先搜索属性名称以找到Java常量,然后再次搜索以在代码中查找对常量的引用.如果我从代码开始,我必须找到常量的实际值,然后才能确定配置文件中属性的值!

重点是什么?

我理解使用常量引用资源包中的键的价值,通常支持i18n.我指的是简单的,非面向用户的配置值.我能想到的唯一原因是为了让以后更改属性名称变得容易,但这个好处远远小于骚动恕我直言,特别是考虑到全球搜索和替换的简易性.

java properties constants

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

使用Ruby和Python中的yield创建列表

我试图想出一个优雅的方法,从一个函数创建一个列表,在Python和Ruby中产生值.

在Python中:

def foo(x):
    for i in range(x):
        if bar(i): yield i 
result = list(foo(100))
Run Code Online (Sandbox Code Playgroud)

在Ruby中:

def foo(x)
  x.times {|i| yield i if bar(i)}
end
result = []
foo(100) {|x| result << x}
Run Code Online (Sandbox Code Playgroud)

虽然我喜欢用两种语言工作,但我总是对Ruby版本有点困扰,不得不初始化列表然后填写它.Python的yield结果是简单的迭代,这很棒.Ruby会yield调用一个块,这也很棒,但是当我只想填写一个列表时,感觉有点笨重.

有更优雅的Ruby方式吗?

更新重写示例以显示函数产生的值的数量不一定等于x.

ruby python yield list

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

采访问题以检测复制和粘贴编码器

我可以问一个面试候选人哪些问题可以让我知道他是否是一个"复制粘贴编码器"?

我们发现即使候选人在面试中很好地回答编码问题,一旦在工作中他们仍然倾向于复制而不是重构.

其他人有类似的经历吗?

copy-paste

3
推荐指数
4
解决办法
3314
查看次数

finally块中的Multipule操作

让我们说你有一些资源清理如下:这是C#.

try{/*stuff*/}
catch(Exception e) {/*rollback logs etc.*/}
finally{
 if( context.Transaction != null )
  context.Transaction.Dispose();
 context.Connection.Close();
 context.Connection.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

相反,这样做会更强大吗?

try{/*stuff*/}
catch(Exception e) {/*rollback logs etc.*/}
finally{
 try{
  if( context.Transaction != null )
   context.Transaction.Dispose();
 }catch(Exception e){/*logs*/}
 finally{
  context.Connection.Close();
  context.Connection.Dispose();
 }
}
Run Code Online (Sandbox Code Playgroud)

这样,如果transaction.dispose在leat处设置为失败,则连接将有机会关闭.

c# exception

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

标签 统计

java ×2

64-bit ×1

c# ×1

constants ×1

copy-paste ×1

exception ×1

linux ×1

list ×1

properties ×1

python ×1

ruby ×1

tomcat ×1

yield ×1