我最近一直在学习各种Java并发库,ConcurrentHashMap以及来自Cliff Click的可爱非阻塞库
我对Scala了解不多,但我听说过最近的并行集合库.
我想知道这个库对基于Java的库有哪些主要优点?
我见过的Akka演员的大部分用例都是高性能的多核服务器或本地集群.
我很好奇它适用于更远程的高延迟和高度失败的群体结构,如p2p网络.
我想到的应用程序将有关于群集节点的可信性和/或资源丰富性的规则,给予它们一些状态,就像bittorrent一样.它还需要能够尽可能地在整个群体中传播交易,但最终或部分一致性是可以接受的.可伸缩性比一致性更重要.
AKKA是建立这样的东西的潜在解决方案吗?它会比其他方法有任何特定的优点或缺点.
java scala distributed-computing distributed-transactions akka
如果一个Web应用程序从不刷新页面但是完全从第一页构建并加上Javascript请求,从而根据需要创建和销毁元素,那么任何浏览器都会重用过时dom元素使用的内存吗?
这计划在任何浏览器中吗?
我认为完全爆炸的extJS应用程序对这种内存泄漏非常敏感.
有没有真正有效的再利用策略来缓解这个问题?
我在这里不是指Javascript对象垃圾收集,只删除了DOM元素,但我不确定它到底是否基本相同.
我正在查看当前项目中的一些 grails gorm 代码,我想知道以下 HQL 方法有哪些优缺点:
UploadUpsell.executeUpdate("update UploadUpsell set processedStatus=:newStatus, processedDate=:processedDate where processedDate is null and period=:period",
[newStatus: EXPIRED_UPSELL_STATUS, processedDate: new Date(), period: flow.period])
Run Code Online (Sandbox Code Playgroud)
我本来会采用更惯用的方法
UploadUpsell.findAllByPeriodAndProcessedDate(flow.period, null).each { UploadUpsell uploadUpsell ->
uploadUpsell.with {
processedStatus = EXPIRED_UPSELL_STATUS
processedDate = new Date()
save()
}
}
Run Code Online (Sandbox Code Playgroud)
我相信我的方法会更具可测试性并且更具可读性,但我想知道我的想法是否只是教条主义
据我所知,grails 模拟框架不支持 HQL 语句。
java ×3
scala ×3
concurrency ×2
akka ×1
android ×1
browser ×1
collections ×1
dom ×1
grails ×1
grails-orm ×1
hibernate ×1
hql ×1
javascript ×1
memory ×1