使用Mono over Java(或任何其他"免费"或Linux友好语言/运行时)的主要好处是什么?
Mono将始终追溯.NET框架的最新发展,你为什么要使用Mono而不是其他传统的开源语言/框架(Java)呢?
编辑:像下面提到的人一样,我想根本问题是,你为什么要在Linux平台上使用.NET?
可能重复:
Windows上的iPhone开发
是否可以使用PC创建iPhone应用程序?我正在运行windows vista,我想学习objective-c,你有什么更好的方法可以激发你创造某些东西,某个地方可能会使用的东西.
有没有允许我制作应用程序的黑客攻击?
如果导航到iPhone的手机应用程序,然后转到联系人 - >信息(在任何联系人上)..您将在联系人的底部看到在同一行上有两个相邻的UITableViewCell.在这种特殊情况下,它们是"短信"和"添加到收藏夹"
这种布局是如何实现的?如果那里有任何例子,那将是伟大的.
我指的是这里描述的监视器:
http://en.wikipedia.org/wiki/Monitor_(synchronization)
这里没有一个定义似乎适用:
http://www.thefreedictionary.com/monitor
那他们为什么这么称呼呢?
==更新==
谢谢大家的答案!
我想我很困惑,因为我不认为监视器通常是对自己采取行动,这似乎是在这里发生的事情.例如,您使用婴儿监视器监视婴儿.我只是觉得宝宝监视自己没有多大意义,但我可能错了.
concurrency multithreading synchronization monitor mutual-exclusion
我目前正在制作CPython 3.0 Python解释器的嵌入式系统端口,我对任何参考或文档特别感兴趣,这些参考或文档提供了有关3.0版代码的设计和结构的详细信息,甚至是任何2代码. x发布.
到目前为止,我发现的一个有用的文件是关于实现的信息化PEP - 这是一个很好的概述 - 但仍然是相当高的水平.希望能够找到更多关于更多模块的更多细节,或者甚至涵盖一些关于移植注意事项的内容.
我对CLR和GC的工作方式很着迷(我正在通过C#,Jon Skeet的书籍/帖子等阅读CLR来扩展我的知识).
无论如何,说:有什么区别:
MyClass myclass = new MyClass();
myclass = null;
Run Code Online (Sandbox Code Playgroud)
或者,通过使MyClass实现IDisposable和析构函数并调用Dispose()?
另外,如果我有一个带有using语句的代码块(例如下面的代码),如果我单步执行代码并退出using块,那么对象是在处理垃圾收集时发生的吗?如果我在使用块中调用Dispose()会发生什么?
using (MyDisposableObj mydispobj = new MyDisposableObj())
{
}
Run Code Online (Sandbox Code Playgroud)
流类(例如BinaryWriter)有一个Finalize方法吗?我为什么要用它?
我在一台具有16Gb RAM,8核处理器和Java 1.6的机器上运行内存密集型应用程序,所有这些都运行在CentOS 5.2版(最终版)上.精确的JVM详细信息是:
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) 64-Bit Server VM (build 11.0-b15, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我正在使用以下命令行选项启动应用程序:
java -XX:+UseConcMarkSweepGC -verbose:gc -server -Xmx10g -Xms10g ...
Run Code Online (Sandbox Code Playgroud)
我的应用程序公开了一个JSON-RPC API,我的目标是在25ms内响应请求.不幸的是,我看到延迟超过1秒,似乎是垃圾收集造成的.以下是一些较长的例子:
[GC 4592788K->4462162K(10468736K), 1.3606660 secs]
[GC 5881547K->5768559K(10468736K), 1.2559860 secs]
[GC 6045823K->5914115K(10468736K), 1.3250050 secs]
Run Code Online (Sandbox Code Playgroud)
这些垃圾收集事件中的每一个都伴随着延迟的API响应,其持续时间与显示的垃圾收集的长度非常相似(在几毫秒内).
以下是一些典型示例(这些示例均在几秒钟内生成):
[GC 3373764K->3336654K(10468736K), 0.6677560 secs]
[GC 3472974K->3427592K(10468736K), 0.5059650 secs]
[GC 3563912K->3517273K(10468736K), 0.6844440 secs]
[GC 3622292K->3589011K(10468736K), 0.4528480 secs]
Run Code Online (Sandbox Code Playgroud)
问题是我认为UseConcMarkSweepGC可以避免这种情况,或者至少使它非常罕见.相反,超过100毫秒的延迟几乎每分钟发生一次或更多(尽管超过1秒的延迟相当罕见,可能每10或15分钟一次).
另一件事是我认为只有一个FULL GC会导致线程被暂停,但这些似乎不是完整的GC.
可能需要注意的是,大多数内存都是由使用软引用的LRU内存缓存占用的.
任何帮助或建议将不胜感激.
我看到很多代码,特别是在Apple示例代码中,类似于以下内容:
EditingViewController *controller = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];
self.editingViewController = controller;
[controller release];
Run Code Online (Sandbox Code Playgroud)
是否有任何理由特别证明上述方法对以下方法有益:
self.editingViewController = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];
Run Code Online (Sandbox Code Playgroud)
试图了解是否有上述策略.
谢谢!
我们使用存储过程在数据库中实现大多数业务规则.
我永远无法决定如何最好地将数据约束违规错误从数据库传递回用户界面.我所谈论的约束更多地依赖于业务规则而不是数据完整性.
例如,诸如"无法插入重复键行"之类的db错误与业务规则"您不能具有多个具有相同名称的Foo"相同.但是我们已经在最常识的位置"实现"了它:作为一个唯一的约束,当规则被违反时抛出异常.
其他规则,例如"你每天只允许100个Foos"不会导致错误,因为它们由自定义代码优雅地处理,例如return empty dataset应用程序代码检查并传递回ui层.
这就是问题所在.我们的ui代码看起来像这样(这是AJAX.NET webservices代码,但任何ajax框架都可以):
WebService.AddFoo("foo", onComplete, onError); // ajax call to web service
function onComplete(newFooId) {
if(!newFooId) {
alert('You reached your max number of Foos for the day')
return
}
// update ui as normal here
}
function onError(e) {
if(e.get_message().indexOf('duplicate key')) {
alert('A Foo with that name already exists');
return;
}
// REAL error handling code here
}
Run Code Online (Sandbox Code Playgroud)
(作为旁注:我注意到这是stackoverflow在您提交评论过快时所执行的操作:服务器生成HTTP 500响应并且ui捕获它.)
所以你看,我们在这里处理两个地方的业务规则违规,其中一个(即唯一的constaint错误)作为特殊情况处理,应该处理真正的错误(而不是违反业务规则),因为.NET将Exceptions一直传播到onError()处理程序.
这感觉不对.我认为我的选择是:
部署WSGI应用程序.有很多方法可以给这只猫上皮.我目前正在使用mod-wsgi的apache2,但我可以看到一些潜在的问题.
那怎么办呢?
更多?
我想知道你是怎么做的,以及为什么这是最好的方法.我绝对会爱你,向我提供有关最新情况和具体应用的详细信息等等.我会赞成任何非疯狂的答案.
iphone ×3
objective-c ×3
.net ×2
cocoa-touch ×2
java ×2
python ×2
c# ×1
cocoa ×1
concurrency ×1
cpython ×1
deployment ×1
disposable ×1
ios ×1
jvm ×1
linux ×1
monitor ×1
mono ×1
performance ×1
sql-server ×1
uitableview ×1
web-services ×1
windows ×1
wsgi ×1