问题列表 - 第25426页

Java - ArrayList构造函数的线程安全性

我正在看这段代码.此构造函数委托给本机方法"System.arraycopy"

它是安全的吗?我的意思是它可以抛出一个ConcurrentModificationException吗?

public Collection<Object> getConnections(Collection<Object> someCollection) {
    return new ArrayList<Object>(someCollection);
}
Run Code Online (Sandbox Code Playgroud)

如果被复制的集合是ThreadSafe,例如CopyOnWriteArrayList,它会有什么不同吗?

public Collection<Object> getConnections(CopyOnWriteArrayList<Object> someCollection) {
    return new ArrayList<Object>(someCollection);
}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道ThreadSafe!= ConcurrentModificationException.我试图在某个时间点拍摄数据快照.因此,如果另一个线程通过副本中途写入someCollection,我不在乎结果是否有新对象.我只是不希望它抛出ConcurrentModificationException或更糟

java collections concurrency

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

Rails应用程序安装程序

我正在制作rails cms,我想知道是否有插件或脚本,它会自动安装应用程序?

谢谢!

installer ruby-on-rails

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

如何更改UIKit UIImage:drawInRect方法到AppKIt NSImage:drawInRect方法

我正在将一个iphone应用程序移植到Mac应用程序,我必须将所有UIKit相关类更改为AppKit.如果你能帮助我,我真的很感激.这是下面最好的方法..

Iphone App - >使用UIKit

UIGraphicsPushContext(ctx);
[image drawInRect:rect];
UIGraphicsPopContext();
Run Code Online (Sandbox Code Playgroud)

Mac Os - 使用AppKit

[NSGraphicsContext saveGraphicsState];
NSGraphicsContext * nscg = [NSGraphicsContext graphicsContextWithGraphicsPort:ctx flipped:YES];
[NSGraphicsContext setCurrentContext:nscg];
NSRect rect = NSMakeRect(offset.x * scale, offset.y * scale, scale * size.width, scale * size.height);
[NSGraphicsContext restoreGraphicsState];

[image drawInRect:rect fromRect:NSMakeRect( 0, 0, [image size].width, [image size].height )
        operation:NSCompositeClear
         fraction:1.0];
Run Code Online (Sandbox Code Playgroud)

cocoa

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

iPhone - 在3.0和4.0 OS/SDK上播放视频?

从3.2 iPhone OS SDK开始,播放视频确实与众不同.

所以我想知道是否有一种方法可以使用兼容代码(<和> 3.2)全屏播放视频,而无需为这两种情况编写代码.

我想我们必须写两个版本的类来处理视频播放......

你的!

iphone video mpmovieplayercontroller

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

如何将背景图像适合包含的锚元素?

我正在尝试设计一个带有图像背景的链接,问题是图像是否太大,我如何使用css将其与锚点的宽度和高度相匹配?

<a href="#"></a>
<style>
 a
 {  
    display: block;
    padding: 5px 12px;
    border: 1px solid black;
    width: 10px;
    height: 10px;
    background-image: url('/Scripts/images/downarrow_blue.png');
    }
</style>
Run Code Online (Sandbox Code Playgroud)

蒂娜,丽娜

css

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

Facebook活动api:活动会员(FQL)

我正在为facebook活动提供活动成员.直到昨天我才得到了一个事件成员的正确数量.但突然间,这些问题有以下问题:

  1. 对于每个连续请求的很多计划,我得到随机数的成员.奇怪的问题.似乎facebook服务器没有正确同步或类似的东西.

  2. 早些时候对于相同的查询字符串(如下所述),我得到了正确的计数.但现在计数要少得多.似乎至少对于一些事件,他们现在只发送与我们的应用程序连接的成员(我们正在使用facebook连接).

示例:对于以下查询,我现在获得"31"成员.但在活动页面上,会员数量要多得多.

FQL: FB.Facebook.apiClient.fql_query('SELECT uid, eid, rsvp_status FROM event_member WHERE eid=336671213618', function(result, error){alert(result.length);});

Event page: http://www.facebook.com/event.php?eid=109411842404023
Run Code Online (Sandbox Code Playgroud)

Facebook API或政策最近有变化吗?

提前致谢.

facebook

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

在MySQL中重置AUTO_INCREMENT需要很长时间

ALTER TABLE tablename AUTO_INCREMENT = 10000000
Run Code Online (Sandbox Code Playgroud)

此查询需要很长时间才能更新.为什么?我需要优化此查询.

mysql optimization auto-increment

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

将文件扩展名与应用程序关联

我编写了一个编辑特定文件类型的程序,我想让用户选择在启动时将我的应用程序设置为此文件类型的默认编辑器(因为我不需要安装程序).

我已经尝试编写一个可重用的方法,通过向HKEY_CLASSES_ROOT添加密钥,并将其与我的应用程序一起使用,但是它不会为我关联文件(最好是在任何操作系统上,虽然我正在运行Vista)似乎工作.

public static void SetAssociation(string Extension, string KeyName, string OpenWith, string FileDescription)
{
    RegistryKey BaseKey;
    RegistryKey OpenMethod;
    RegistryKey Shell;
    RegistryKey CurrentUser;

    BaseKey = Registry.ClassesRoot.CreateSubKey(Extension);
    BaseKey.SetValue("", KeyName);

    OpenMethod = Registry.ClassesRoot.CreateSubKey(KeyName);
    OpenMethod.SetValue("", FileDescription);
    OpenMethod.CreateSubKey("DefaultIcon").SetValue("", "\"" + OpenWith + "\",0");
    Shell = OpenMethod.CreateSubKey("Shell");
    Shell.CreateSubKey("edit").CreateSubKey("command").SetValue("", "\"" + OpenWith + "\"" + " \"%1\"");
    Shell.CreateSubKey("open").CreateSubKey("command").SetValue("", "\"" + OpenWith + "\"" + " \"%1\"");
    BaseKey.Close();
    OpenMethod.Close();
    Shell.Close();

    CurrentUser = Registry.CurrentUser.CreateSubKey(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" + Extension);
    CurrentUser = CurrentUser.OpenSubKey("UserChoice", RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
    CurrentUser.SetValue("Progid", KeyName, RegistryValueKind.String);
    CurrentUser.Close();
}
Run Code Online (Sandbox Code Playgroud)

知道为什么它不起作用吗?一个示例用途可能是

SetAssociation(".ucs", "UCS_Editor_File", …
Run Code Online (Sandbox Code Playgroud)

c# registry file-association

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

不必要的'其他'声明

如您所知,在Eclipse中,您可以启用" 不必要的'else'语句 "检查,这将在if-then-else上触发,提前返回.而且,根据我的经验,使用此类声明时有两种最可能的情况:

1)预检:

if (!validate(arg1)) {
    return false;
}
doLotOfStuff();
Run Code Online (Sandbox Code Playgroud)

2)检查后:

doLotOfStuff();
if (condition) { 
    return foo; 
} else {
    return bar; 
}
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,如果触发器打开,Eclipse将建议您将代码更改为:

doLotOfStuff();
if (condition) { 
    return foo; 
} 
return bar; 
Run Code Online (Sandbox Code Playgroud)

但是,我认为使用else语句返回更具可读性,因为它类似于业务逻辑的直接映射.如果这个"不必要的'其他'声明"代码约定很普遍,或者使用else语句的代码更优选,那么我很好奇吗?

java eclipse coding-style

21
推荐指数
2
解决办法
4674
查看次数

如何访问ruby中的(阴影)全局函数

我想知道如何fn从类中定义一个方法来访问ruby中的全局函数fn.我通过别名函数做了一个解决方法,如下所示:

def fn
end

class Bar
    alias global_fn fn
    def fn
        # how to access the global fn here without the alias
        global_fn
    end
end

我正在寻找c ++的::以访问全局范围的东西,但我似乎找不到任何有关它的信息.我想我不知道具体到底是什么.

ruby scope

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