问题列表 - 第46112页

Scala中的抽象类真的比性能更好吗?

楼梯书的摘录:

如果效率非常重要,那就倾向于使用一门课程.大多数Java运行时使类成员的虚方法调用比接口方法调用更快.Traits被编译到接口,因此可能会产生轻微的性能开销.但是,只有当您知道所讨论的特征构成性能瓶颈并且有证据表明使用类实际上解决了问题时,才应该做出此选择.

我写了一些简单的代码来看看幕后真的发生了什么.我确实注意到invokevirtual在抽象类和invokeinterface接口的情况下使用.但无论我写的是什么样的代码,他们总是粗略地执行相同的操作.我在服务器模式下使用HotSpot 1.6.0_18.

是JIT在优化方面做得如此出色吗?有没有人有一个示例代码证明书中有关invokevirutal更快操作的声明?

performance jvm scala

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

触摸动态表单时访问冲突?

我正在动态创建一个表单,但是关闭它的例程位于我的主表单单元中,因为它与我的主表单(TSkype)上的控件相关联.该事件是SkypeAsyncSearchUsersFinished.当SkypeAsyncSearchUsersFinished例程完成时,我尝试将ModalResult设置为动态表单的mrOk.但是,这会产生访问冲突.

这是搜索完成时触发的代码:

   if SIDList.Count = 0 then
   begin
     frmSearcher.tmrFadeOut.Enabled := True;
   end;
Run Code Online (Sandbox Code Playgroud)

我尝试调试它,并在frmSearcher.tmrFadeOut设置断点...然后我走到下一行(例程End;),那就是AV出现的时候.

所述tmrFadeOutTimer事件确实的ModalResult:= mrOk;

这就是我创建动态表单的方式:

Function ShowSearcher():Boolean;
Var
   dlg : TfrmSearcher;
Begin
  Result := False;
  dlg := TfrmSearcher.Create(Forms.Application);


  dlg.tmrFadeIn.Enabled := True;


    if dlg.ShowModal = mrOk then
         Begin
         // Do nothing here

         End;

  Result := True;
  dlg.Release;

End;
Run Code Online (Sandbox Code Playgroud)

是的,我确信计时器只启用一次.:)

是的,我确信表格是"活着的".:)

实际上,如果我删除tmrFadeOut.Enabled代码,一切正常,但表单不会被关闭.做frmSearcher.ModalResult:= mrOk; 也产生AV.

如果您需要更多信息,我会添加它.:)

谢谢你!:)

delphi dynamic

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

MEF依赖关系和版本控制

我有一个使用MEF加载零件的系统.这些部分中的每一部分都依赖于核心库.当我构建项目时,我将这个版本号添加到.dll文件中,如下所示:

  • part1-1.0.0.0.dll
  • part2-1.0.0.0.dll

此外,还有一个执行MEF组合的应用程序.它还使用核心库.我发现我可以部署"部分"dll,并且组合工作正常,因为应用程序已经加载了部件所依赖的核心库.所以我的文件系统看起来像这样:

  • /parts/part1-v1.dll
  • /parts/part2-v1.dll
  • 作曲家v1.exe
  • 核心v1.exe

我遇到的麻烦是如何处理核心和部件的版本控制.假设我对核心及其中一个部分进行了更新.然后,我部署更改.所以现在我的文件系统可能看起来像:

  • /parts/part1-v1.dll
  • /parts/part1-v2.dll
  • /parts/part2-v1.dll
  • 作曲家v1.exe
  • 核心v1.dll
  • 核心v2.dll

如何确保part1-v1.dll使用core-v1.dll,part1-v2.dll使用core-v2.dll?我需要加载所有版本的部件并使用适当的核心版本.

零件类看起来像这样:

[Export(typeof(IPart))]
public class Part1
{
    public string GetSomethingFromCore()
    {
        return Core.GetSomethingFromCore();
    }
}

[Export(typeof(IPart))]
public class Part2
{
    public string GetSomethingFromCore()
    {
        return Core.GetSomethingFromCore();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# versioning dll mef

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

在linux中为所有x86机器创建通用二进制文件

我试图编译一个开源项目的二进制文件,以便我们的用户不必自己编译它.

我注意到在一台32位ubuntu机器"A"上创建的一些二进制文件在32位机器"B"上不起作用,并且报告了丢失.so文件的错误.

但是,如果我在机器"B"上从头开始编译,那么所有错误都消失了.

是否有任何理由为什么编译目标机器上的代码会使这些错误消失?我只运行"./configure"和"make" - 而不是"make-install",所以它不像我在全球范围内制作这些.so文件.

可能是编译器检测到系统库中缺少.so文件,在这种情况下将静态库链接到可执行文件中?

Ubuntu如何编译其软件包以便在所有x86机器上运行i386软件包?

linux static-libraries binary-compatibility dynamic-library

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

Javascript字数切断

我有一个ID为"shortblogpost"的div.我想数到第27个字然后停止并在最后加上"......".

我正在尝试以下代码.问题,它是计数字母而不是单词.我认为它使用jQuery而不是strait JavaScript?

我只需要出于各种服务器原因使用JavaScript

<script type="text/javascript">
var limit        = 100,
    text         = $('div.shortblogpost').text().split(/\s+/),
    word,
    letter_count = 0,
    trunc        = '',
    i            = 0;

while (i < text.length && letter_count < limit) {
  word         = text[i++];
  trunc       += word+' ';
  letter_count = trunc.length-1;

}

trunc = $.trim(trunc)+'...';
console.log(trunc);
</script>
Run Code Online (Sandbox Code Playgroud)

Ty提前提供任何帮助.

javascript blogs word-count

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

如何取消使用addOperationWithBlock创建的操作?

我正在使用NSOperationQueue的addOperationWithBlock.从块内,我如何检查是否应该取消操作?或访问任何NSOperation属性/方法?

[myOperationQueue addOperationWithBlock: ^{

  while ( /* long running loop */ )
  {
      // how to determine here if I need to cancel?
      // for that matter, access any NSOperation properties/methods?

  }

}];
Run Code Online (Sandbox Code Playgroud)

使用NSBlockOperation是更好的方法吗?

iphone nsoperation nsoperationqueue ios

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

如何在WebView中上传文件?

我有一个加载WebView的应用程序.在WebView内部,加载的页面具有文件上载控件(html input = file).按钮是可见的,它显示"选择文件",但是如果单击该按钮则没有任何反应.如果您使用默认的Android浏览器并加载同一页面并单击按钮,它会弹出一个窗口,让您从图库,文件等中选择一个文件.为什么它不能从WebView中运行?

我想我需要覆盖一些东西,但我不知道那可能是什么.基本上我希望能够从我的应用程序内部上传照片,就像我已经可以从浏览器中运行的Web应用程序一样.本机app/webview版本应该相同,但单击"选择文件"按钮不会执行任何操作.

谢谢.

upload android file webview

7
推荐指数
0
解决办法
4579
查看次数

Rails和partials,是否有更有效的写作方式......?

我有一个像这样的循环...

<% things.each do |thing| %><%= render :partial => "thingy", :locals => { :something  => something, :thing  => thing } %><% end %>
Run Code Online (Sandbox Code Playgroud)

这只是看起来不是很困难,我想知道是否有更有效的方法将部分放入循环中.

ruby performance ruby-on-rails partial

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

需要帮助检查ListView项目的颜色选择器

我有一个ListView,其项目具有自定义布局,需要使用选择器为已检查项目指定单独的背景颜色.这是奇数项的选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@android:color/black" />
    <item android:state_checked="true" android:drawable="@android:color/black" />
    <item android:state_selected="true" android:drawable="@color/red" />
    <item android:drawable="@android:color/white" />
</selector>
Run Code Online (Sandbox Code Playgroud)

这里是偶数项的选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@android:color/black" />
    <item android:state_checked="true" android:drawable="@android:color/black" />
    <item android:state_selected="true" android:drawable="@color/red" />
    <item android:drawable="@color/gray" />
</selector>
Run Code Online (Sandbox Code Playgroud)

ListView项目模板如下所示:

<?xml version="1.0" encoding="utf-8"?>
<com.androidhub.core.CheckableLinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="40dip">
    <TextView 
        android:text="TextView" 
        android:id="@+id/textView1" 
        android:layout_height="fill_parent" 
        android:layout_width="wrap_content" 
        android:gravity="center_vertical" 
        android:textColor="@color/list_item"></TextView>
</com.androidhub.core.CheckableLinearLayout>
Run Code Online (Sandbox Code Playgroud)

列表项的根元素是CheckableLinearLayout:http://paste.org/pastebin/view/28711

ListView有单选模式(我也试过多种选择模式,但它也不适用于我)

public class MainActivity extends ListActivity {

    List<String> items = new ArrayList<String>();

    @Override
    public void onCreate(Bundle …
Run Code Online (Sandbox Code Playgroud)

java mobile android

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

MSBuild DeployOnBuild = true不发布

我有一个Visual Studio 2010 MVC2 Web应用程序,我正在使用Hudson通过命令行构建.我想让Hudson发布一个Web输出,所以我将DeployOnBuild = true和CreatePackageOnPublish = True标记添加到我的命令行.

我的命令是:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 
   /target:Clean,Build 
   /property:Configuration=Debug;DeployOnBuild=True;CreatePackageOnPublish=True; 
   [my project name.csproj]
Run Code Online (Sandbox Code Playgroud)

在我的开发机器(Windows 7)上运行此命令成功发布了一个Web输出\obj\Debug\Package\PackageTmp\.但是在Hudson服务器(WS 2008)上运行它会成功编译,但它不会发布.相同的命令,相同版本的MSBuild,相同的源代码.

我已经尝试了/t:Publish目标,这给了我一个Skipping Unpublishable Project响应,正如我在其他几个人的帖子中看到的那样.

我已经尝试将DeployOnBuild=TrueCreatePackageOnPublish=True标签添加到我的项目文件中,并且没有任何变化.

有关为什么不发布的任何想法?我错误地使用这些标签吗?我确信这里有一些我没看到的东西.

asp.net msbuild publishing asp.net-mvc-2

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