问题列表 - 第29365页

JIT 编译器和执行

我对 JIT 编译器感到困惑,

  1. 什么是 JIT 编译器?
  2. JIT 编译器在每次执行之前或每次 JVM 加载时编译字节码?

java compiler-construction jit

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

Single-Element Enum Type Singleton真的是一个广泛采用的好主意吗?

Josh Block的Effective Java(使用私有构造函数或枚举器强制执行Singleton属性)的第3项提到"虽然这种方法尚未被广泛采用,但单元素枚举类型是实现单例的最佳方式."

例:

   public enum Elvis {
       INSTANCE;
       private final String[] favoriteSongs =
           { "Hound Dog", "Heartbreak Hotel" };
       public void printFavorites() {
           System.out.println(Arrays.toString(favoriteSongs));
       }
   }
Run Code Online (Sandbox Code Playgroud)

接下来:"这种方法在功能上等同于公共领域方法,除了它更简洁,免费提供序列化机制,并提供防止多个实例化的铁定保证,即使面对复杂的序列化或反射攻击."

我看到的最大的负面影响是:不是枚举不应该具有可变状态吗?使用具有状态的Singleton似乎很常见.

因此,自出版日期(2008年第2版)以来,这种模式实际上变得更加普遍吗?

java design-patterns

20
推荐指数
2
解决办法
3832
查看次数

如何编写仅在DEBUG #defined时编译的'if'条件?

我需要一些帮助,为'if-condition'编写一个宏,只有在#define指令定义了DEBUG标志时才会编译.

这是一个说明我想要的例子.第一段代码显示了使用#ifdef编写if条件的常用方法.

#ifdef DEBUG
if( rv == false )
{
     string errorStr = "error in return value" ;
     cout << errorStr << endl ;
     throw( Exception(errorStr) ) ;
}
Run Code Online (Sandbox Code Playgroud)

我想以类似下面的方式编写它:

DEBUG_IF( rv==false )
{
     same code as above
}
Run Code Online (Sandbox Code Playgroud)

它似乎很简单,但我无法定义一个可以做到这一点的宏.如果有人以前经历过这种情况,请帮忙.

谢谢.

c++ macros

4
推荐指数
1
解决办法
7675
查看次数

经验法则测试C#中两个双打的相等性?

假设我有一些代码可以执行一些浮点运算并将值存储在双精度数中.由于某些值无法以二进制形式完美表示,如何在合理程度的确定性下测试相等性?

我如何确定"合理"是什么意思?

可以double.Epsilon用某种方式吗?


更新

几件事.正如@ ho1所指出的那样,文档double.Epsilon指出,当比较两个双精度表示相等时,你可能想要一个远大于epsilon的值.以下是文档中的相关段落:

由于其最低有效位数的差异,两个明显等效的浮点数可能无法相等.例如,C#表达式(double)1/3 ==(double)0.33333,不比较相等,因为左侧的除法运算具有最大精度,而右侧的常量仅精确到指定的数字.如果创建一个自定义算法来确定是否可以将两个浮点数视为相等,则必须使用大于Epsilon常量的值来确定两个值相等的可接受的绝对差值.(通常,差异的差异比Epsilon大很多倍.) - http://msdn.microsoft.com/en-us/library/system.double.epsilon.aspx

......但问题是,多少倍?

如果它会影响你的答案,我的特殊情况涉及几何计算(例如使用点和向量的点积和交叉积).在某些情况下,您会根据是否A == B,A > B或者得出不同的结论A < B,因此我正在寻找一个关于如何确定等价窗口大小的良好经验法则.

c# floating-point

14
推荐指数
1
解决办法
6873
查看次数

如何获得第一个元素而不是在jQuery中使用[0]?

我是jQuery的新手,如果这是一个愚蠢的问题,我道歉.

当我使用它时使用id找到一个元素,我知道总是一个匹配,为了访问它我会使用索引[0].有没有更好的方法呢?例如

var gridHeader = $("#grid_GridHeader")[0];
Run Code Online (Sandbox Code Playgroud)

javascript jquery

86
推荐指数
5
解决办法
10万
查看次数

Macvim:水平滚动条

使用macvim,这太棒了.不过我很想拥有某种水平滚动条.这可能吗?

vim scroll macvim

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

jQuery hide()在IE 8上无法正常工作

在FF中,这会隐藏所有div,然后显示从'#rule_rule_type'菜单中选择的id,这是预期的行为.在IE 8中,它不会隐藏所有div id:

<script type="text/javascript" charset="utf-8">
  (function($){
    $('#rule_rule_type').change(function() {
      $('#allowed_senders, #blocked_senders, #blocked_character_set, #custom').hide();
      var id = $(this).val();
      $('#' + id).show();
    });
  })(jQuery); 
</script>
Run Code Online (Sandbox Code Playgroud)

但是,这可以在IE 8中运行:

<script type="text/javascript" charset="utf-8">
  (function($){
    $('#rule_rule_type').change(function() {
      $('#allowed_senders').hide();
      $('#blocked_senders').hide();
      $('#blocked_character_set').hide();
      $('#custom').hide();
      var id = $(this).val();
      $('#' + id).show();
    });
  })(jQuery); 
</script>
Run Code Online (Sandbox Code Playgroud)

这很麻烦.如何清理它以使其更简洁并仍在IE 8中工作?

谢谢,
Chip Castle
http://invoicethat.com

jquery hide internet-explorer-8

7
推荐指数
1
解决办法
2810
查看次数

如何将本地jpeg或png图像文件加载到iPhone应用程序中?

或者我应该问为什么对我这么难?答案可能是我是iPhone开发的新手,我正试图抛弃我的旧方法并进入未来的新平台.从开始到结束,我对这个过程有几个疑问......

  1. 如果我创建一个.png图像,它在我的项目目录(即我的计算机硬盘)中的哪个位置?我可以将它放在我的硬盘驱动器上,当我将其加载到Xcode中时,Xcode会将它复制到正确的位置吗?
  2. 一旦它存在于我的硬盘驱动器上,我该如何将它添加到我的Xcode项目中?我可以将文件拖到"Groups&Files"树中的任何文件夹中吗?
  3. 将其拖入Xcode后,我想在弹出的复制文件对话框中使用哪些复制设置?将项目复制到目标组的文件夹复选框?参考类型?递归创建添加文件夹的组?
  4. 一旦将.png图像正确添加到我的项目中,将它放入CGImageRef的最简单方法是什么?文档显示了使用CGImageCreateWithPNGDataProvider辅助方法的示例,但表示iOS SDK不支持它.我想使用CGImageRef重复将图像绘制到位图上下文.

非常感谢,我为这个冗长的问题道歉,我感到惊讶的是,与其他一些平台相比,这是一个令人费解的过程.

iphone xcode core-graphics quartz-graphics ipad

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

Safari iPad:防止双击缩放

我正在Safari for iPad上创建一个网站.我需要阻止双击事件的缩放,但我有两个问题:

  • 双击不会产生任何事件,所以我不能使用"event.preventDefault();"
  • 我只有在满足某些条件时才需要这样做,所以我不能使用标签" <meta name = "viewport" content = "user-scalable = no">"......如果我这样做,用户就永远无法放大我的页面.

我该如何解决这些问题?

safari zoom ipad

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

从特定路径加载强名称程序集?

我有一个强名称程序集,安装到特定文件夹(而不是GAC).

Reflector中显示的名称是:

"Foo.Bar.TreeFrog, Version=1.2.1.0, Culture=neutral, PublicKeyToken=ac88c4a8b22089b4"
Run Code Online (Sandbox Code Playgroud)

以及安装它的路径

"c:\\QueueBall"
Run Code Online (Sandbox Code Playgroud)

我可以使用Assembly.LoadAssembly.LoadFrom加载它,如果是这样的话?

我能否确保强大的命名得到尊重,即我正在加载的DLL真的是我期待的那个而不是同名的冒名顶替者?

c# assembly.load

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