问题列表 - 第10855页

智能JVM和JIT微优化

随着时间的推移,Sun的JVM和JIT变得非常聪明.以前不再需要将常识作为必要的微优化的东西,因为它会得到照顾.

例如,过去应该将所有可能的类标记为final,因此JVM会尽可能多地内联代码.但是现在,JIT根据在运行时加载的类知道你的类是否是最终的,如果加载一个类使原始类不可能,它会取消内联方法并取消标记为最后.

JVM或JIT还为您做了哪些其他智能微优化?

编辑:我把它做成了社区维基; 我想随着时间的推移收集它们.

java jit jvm micro-optimization

6
推荐指数
1
解决办法
894
查看次数

在Objective-C中,如何测试对象类型?

我需要测试对象是类型NSString还是UIImageView.我怎么能做到这一点?是否有某种类型的"isoftype"方法?

objective-c ios

548
推荐指数
6
解决办法
24万
查看次数

#define指令问题

我有以下代码:

#define checkLiteMessage    \
{   \
    #ifdef LITE_VERSION \
    if (alertView.tag == 100)   \
    {   \
        if (buttonIndex == 1)   \
        [ [UIApplication sharedApplication] openURL: buyAppLink];   \
        [alertView release];    \
        return; \
    }   \
    #endif  \
}   \
Run Code Online (Sandbox Code Playgroud)

我想要做的是每次调用checkLiteMessage时都要包含以下代码:

    #ifdef LITE_VERSION
    if (alertView.tag == 100)
    {
        if (buttonIndex == 1)
        [ [UIApplication sharedApplication] openURL: buyAppLink];
        [alertView release];
        return;
    }
    #endif
Run Code Online (Sandbox Code Playgroud)

我的问题是什么?为什么这段代码不能编译?

谢谢.

c objective-c

0
推荐指数
1
解决办法
695
查看次数

电子商务网站的货币转换 - 由于四舍五入而防止错误的总购物车

我正在为电子商务应用程序添加多种货币支持.我解决问题的方法是将应用程序保留在它的基础货币中,并让模板在显示价格时随时调用priceDisplay()函数/插件.因此模板继续以美元金额收取价格.priceDisplay函数在需要时正确转换价格,并根据存储在会话中的查看器设置添加正确的$或Euro符号.在订单提交时,应用程序将以美元金额以及currencyCode和currencyRate存储订单.此外,我们将以其货币向客户的信用卡收费,以确保他们按照订单屏幕上显示的内容收费.

现在我遇到的问题是在购物车中以及在结账时显示购物车总数.例如,应用程序向模板发送要在购物车中显示的价格:

小计:9.75
船:
总共5.95 :15.70

模板获取这些金额并在每个项目上调用priceDisplay函数.如果货币汇率为1.1,那么我们会向用户显示:

小计:10.725 - > 10.73
船:6.545 - > 6.55
总计:17.27

您可以看到小计+发货= 17.28,但转换的总数是17.27.

所以我认为可以使用的几个选项可以使用,但是并没有想到:

  1. 处理应用程序端的所有转换
  2. 当项目将总计,模板都应该单独加数和总一起发送基准货币的priceDisplay功能,将它们转换,并确保转换总加数之和相匹配.在这种情况下,那么我如何与应用程序通信总数不是15.70但可能是15.71或15.69(因为我们将以基础货币存储订单并在处理付款时乘以exchangeRate.)
  3. 跟踪丢弃/添加的小数点作为转换的一部分,并做一些"聪明"的事情.所以在这个例子中,10.725,我们增加了千分之五.因此,当我们转换6.545时,我们应首先降低.005然后转换.也许这是上面选项2的过程吗?
  4. 你的建议在这里.

如果它有任何区别,应用程序是PHP,模板是Smarty.

您还可以在添加购物车项目的行总数时看到相同的问题:
3项x 9.75每个= 29.25
转换:
3项x 10.73(10.725)= 32.18(32.175)
但3 x 10.73 = 32.19!= 32.18

php e-commerce

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

如何在Scheme/Lisp中编写此数据结构的平均函数?

我想根据类似商品的平均价格找到新商品的价格.函数get-k-similar使用k-Nearest Neighbors,但返回此输出 ((list rating age price) proximity).

For example, 2-similar would be:
(((5.557799748150248 3 117.94262493533647) . 3.6956648993026904)
 ((3.0921378389849963 7 75.61492560596851) . 5.117886776721699))
Run Code Online (Sandbox Code Playgroud)

我需要找到类似物品的平均价格.即平均值为117和75.有更好的迭代方法吗?我的功能看起来太难看了.

(define (get-prices new-item)

  (define (average-prices a-list)
    (/ (cdr 
        (foldl (?(x y) (cons (list 0 0 0)
                             (+ (third (car x)) (third (car y))))) 
               (cons (list 0 0 0) 0)
               a-list))
        (length a-list)))

    (let ((similar-items (get-k-similar new-item)))
      (average-prices similar-items)))
Run Code Online (Sandbox Code Playgroud)

lisp scheme functional-programming racket

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

jQuery平滑地改变innerHTML

我有下面的代码像魅力:

var div = $('#div');
div.html('<div>one line</div><div>another line</div>');
div.slideDown('slow');
Run Code Online (Sandbox Code Playgroud)

但是当我需要更改内容(行数)时问题就出现了:

div.html('<div>one line replacement</div><div>another line replacement</div><div>third line</div>')
Run Code Online (Sandbox Code Playgroud)

这种转变太快了.如何动画这个?

html javascript jquery slideup

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

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

在报告页脚之前消除组页脚分页符

我有一个包含页眉和页脚的报告.根据数据,应该只有两组.我将Group Footer设置为在它之后有一个分页符.我不希望最后一个组在报表页脚之前创建分页符(如果我这样做,我会设置报表页脚在它之前有一个分页符.).我从未遇到过其他报道编写者的这个问题.

报告打印输出的示例而非设计的示例.我的报告只有一个组标题和一个组页脚:

报告标题

组数据集1标题详细信息详细信息组数据集1页脚

组数据集2标题详细信息组数据集2页脚!我不想要这个!

报告页脚(单独停留在最后一页)

张贴在他们的董事会:http: //community.devexpress.com/forums/t/78705.aspx

reporting devexpress xtrareport

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

在Python中使用Eval创建类变量

我写了一个类,让我传入变量类型,变量名,提示和默认值的列表.该类创建一个wxPython面板,该面板显示在一个框架中,该框架允许用户在按下计算按钮并将结果作为绘图返回之前设置输入值.我使用exec语句将所有变量添加到类中.这将所有变量保存在一个类中,我可以通过名称引用它们.

light = Variables( frame , [ ['f','wavelength','Wavelength (nm)',632.8] ,\
                             ['f','n','Index of Refraction',1.0],])
Run Code Online (Sandbox Code Playgroud)

在类中,我使用以下语句创建和设置变量:

for variable in self.variable_list:
       var_type,var_text_ctrl,var_name = variable
       if var_type == 'f' :  
           exec( 'self.' + var_name + ' = ' + var_text_ctrl.GetValue() )
Run Code Online (Sandbox Code Playgroud)

当我需要使用变量时,我可以通过名称引用它们:

 wl = light.wavelength
 n = light.n
Run Code Online (Sandbox Code Playgroud)

然后我读到SO,很少需要在Python中使用exec.这种方法有问题吗?有没有更好的方法来创建一个类,该类包含应该组合在一起的变量,您希望能够编辑,还有用于显示,编辑的代码和wxPython调用(并且还将所有变量保存到文件中)还是再读一遍)?

生硬的

python wxpython scientific-computing

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

错过截止日期的罚款/回应应该是什么?

作为一个相对较新的软件行业,我遇到了最后期限执行的问题:

回到学术界的田园时代,截止日期是学期结束,惩罚是一个定义明确的'F'(或当地的等价物).在现实世界中,我们需要制作当前和未来同行可以使用的代码,我面临截止日期到来,截止日期,项目仍未完成的情况.

怎么办?在一个极端,我们可以解雇所有参与者,另一方面,我们可以丰富地奖励所有参与者.

  1. 您看到哪些行为被视为错过截止日期的"惩罚",哪些最终会产生更好的代码?

  2. 什么项目管理响应导致项目彻底失败,

  3. 什么响应恢复了工作顺序并导致后续可以维护的代码?

  4. 什么回复导致更糟糕的代码?

project-management development-process

33
推荐指数
10
解决办法
2万
查看次数