考虑这个课程:
public class TestMap extends HashMap<String, Float> {
public static void main(String[] args) {
TestMap tm = new TestMap();
tm.put("A", 0F);
tm.put("B", null);
String[] keys = new String[]{"A", "B"};
for (String key : keys) {
System.out.println(key);
Float foo = (tm == null ? 0F : tm.get(key));
// Float foo = tm.get(key);
System.out.println(foo);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Float foo =...在循环的第二次迭代期间在该行上生成NullPointerException :
A
0.0
B
Exception in thread "main" java.lang.NullPointerException
at TestMap.main(TestMap.java:14)
Run Code Online (Sandbox Code Playgroud)
如果我用下面的注释行替换现有行,它按预期工作,分配foo = null.为什么这两种情况的行为不同?
我有一个使用一些配置设置的扩展方法.我已经宣布这些为static.
public static class Extensions
{
static string _mailServer = ConfigurationManager.AppSettings["MailServer"];
// ... etc
public static void SendEmailConfirmation(this IOrder order) { }
}
Run Code Online (Sandbox Code Playgroud)
我只是想检查一下这是否符合我的意图,因为我并不是100%肯定.我的想法是,我不想继续阅读这些值,我希望它们能够被读取一次,并在Web应用程序的生命周期中进行缓存.这会发生什么?谢谢
FastDB是一个开源的内存数据库,它与C++紧密集成(它支持类似SQL的查询语言,其中表是类,行是对象).与大多数IMDB一样,它适用于以读取访问模式为主的应用程序.算法和数据结构针对完全在主存储器(RAM)中读写数据的系统进行了优化.它应该非常快,甚至与其他内存数据库相比,但我无法在线找到任何基准测试.
我正在考虑将FastDB用于时间序列数据,在一个项目中,1)亚毫秒级的随机访问读取延迟,以及2)每秒数百万行的顺序读取吞吐量将是非常好的.
我找不到很多关于FastDB第一手经验的参考资料; 这里有人用它吗?你能指出FastDB的任何基准测试,特别是那些考虑读取延迟和吞吐量的基准测试吗?
我正在开发一个涉及一些敏感用户信息的应用程序.我通过私人网络API检索此信息.我正在尝试确定将此数据导入我的应用程序的最佳方法.现在我正在探索创建一个可以这样做的内容提供商; 我的犹豫是让它变得安全.我希望这些数据只能由我的应用程序使用.理想情况下,没有其他应用程序甚至不知道它存在.
您是否有任何关于如何有效和安全地做到这一点的指示或建议?有关数据源的内容提供商的任何信息都是远程OAuth'd API?
谢谢!
编辑:我说内容提供商,但如果这不是我需要的最佳方式,请务必让我知道还有什么可以研究.
security android web-services android-contentprovider sensitive-data
我有一个小测试程序.当我查看主要线程的堆栈对象时,它MyClass在那里显示两次.任何想法为什么MyClass堆栈上有两个对象?
class Program
{
struct MyStruct
{
int x;
int y;
}
class MyClass
{
int x;
int y;
}
static void Main(string[] args)
{
MyStruct s ;
MyClass c = new MyClass();
}
}
Run Code Online (Sandbox Code Playgroud)
0:000> !DumpStackObjects
OS Thread Id: 0xf74 (0)
RSP/REG Object Name
000000000023e9e8 00000000028f3c90 ConsoleApplication2.Program+MyClass
000000000023e9f8 00000000028f3c90 ConsoleApplication2.Program+MyClass
000000000023ea10 00000000028f3c70 System.Object[] (System.String[])
000000000023eb98 00000000028f3c70 System.Object[] (System.String[])
000000000023ed80 00000000028f3c70 System.Object[] (System.String[])
000000000023eda8 00000000028f3c70 System.Object[] (System.String[])
Run Code Online (Sandbox Code Playgroud) 我发现自己最近需要很多这样的逻辑:
Assert.That(collection.Items, Has.Member(expected_item));
Assert.That(collection.Items.Count(), Is.EqualTo(1));
Run Code Online (Sandbox Code Playgroud)
我看到NUnit的提供Has.Some和Has.All,但我没有看到像什么Has.One.没有两个断言,最好的方法是什么?
甚至可以在我的应用程序中启用HDR选项吗?我以为它会自动出现.我寻找其他媒体类型,认为kUTTypeHDRImage可能是一个选项,但没有这样的运气.它不是一种额外的源类型,也不能通过cameraCaptureMode获得.
ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
ipc.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];Run Code Online (Sandbox Code Playgroud)
在文档中没有提到它:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html
我们正在开始一个新的基于Web的产品,我们计划通过WCF服务公开我们的业务逻辑.我们将使用ASP.NET 4.0,C#,EF 4.0.将来我们希望基于这些服务构建iphone应用程序和WPF应用程序.我一直在阅读很多关于使用POCO和自我跟踪实体(STE)的内容,据我所知,STEs在网络方案中效果不佳.任何人都能更清楚地了解这个问题吗?
我对 JS 非常陌生,正在尝试修改基于 JavascriptKit jQuery 的 megamenu 系统以延迟显示菜单,直到鼠标悬停在锚点对象上指定时间。
我现在面临的问题是,在 mouseout 上调用的 clearTimeout 似乎只是挂起 setTimeout,而不是取消、清除、重置它。
在这一点上,我只是在 setTimeout 调用后显示警报。目前我将超时间隔设置为 2000 以进行测试。
例如,由于我现在将其设置为 2 秒延迟,如果我将鼠标悬停在对象上 4 次持续 1/2 秒,则第 5 次将鼠标悬停在对象上时,我的测试警报框会立即出现。
我认为 clearTimeout 应该完全破坏定时事件。为什么它似乎只暂停倒计时?
teststuff:function(){
if(jkmegamenu.toggletest==1)
{
jkmegamenu.executetimedcommand()
jkmegamenu.toggletest=0
}
else
{
//jkmegamenu.executetimedcommandcancel()
clearTimeout(jkmegamenu.teststuff);
}
},
executetimedcommand:function(){
if(jkmegamenu.toggletest==1)
{
alert('abcde')
}
},
canceltimedcommand:function(){
clearTimeout(jkmegamenu.teststuff);
},
Run Code Online (Sandbox Code Playgroud) 我有一个用Turbo Pascal编译的32位exe文件.我需要启动它.当我使用Windows 7 32位时它运行良好,但现在我在Windows 7 64位上,我得到以下异常:
指定的可执行文件不是此OS平台的有效应用程序.
为了确保它在32位系统上运行,我在32位平台上启动了C#程序 - 它可以工作.
那么如何在64位操作系统中启动32位exe文件?
谢谢
.net ×3
c# ×3
32-bit ×1
64-bit ×1
android ×1
asp.net ×1
c++ ×1
cocoa-touch ×1
database ×1
iphone ×1
java ×1
javascript ×1
jquery ×1
nunit ×1
objective-c ×1
performance ×1
poco ×1
process ×1
security ×1
sos ×1
sql ×1
static ×1
unit-testing ×1
wcf ×1
web-services ×1
windbg ×1