加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

从Java到Swift

发布时间:2016-03-09 13:09:40 所属栏目:传媒 来源:云栖社区
导读:我们学习的新事物时,通常并不是从0开始,而是从已知开始,将新事物与已知的进行比较分析,从而快速全面地了解新事物。

8.枚举还支持associated value,这个是Java没有的。

从Java到Swift

9.protocol类似于Java中的interface。

10.extension比较强大,甚至变态,可以动态往某个类中增添函数以及成员变量,动态让某个类实现某个protocol,而无需修改该类源代码。Java新增成员变量,新增函数,实现某个interface,Java都只能通过继承实现。而这个直接实现,且对一切该类的对象生效,包括extend之前已经创建的对象。

从Java到Swift

11.Swift泛型和Java类似的,Swift的泛型支持where语句,可以在对类型控制之外,作更加精细的控制。

从Java到Swift

内存管理

Swift和Java类似,也无需自己管理内存,Swift是由ARC(Automatic Reference Counting)机制来回收内存的,Java是有垃圾回收机制来保证内存被及时回收。但是两者的回收机制有所区别。我的理解是Swift的ARC机制着眼于无效的对象,就是那些没有被任何人引用到的对象。因此,如果两个对象循环引用,就会无法被回收,引起泄露。此时就需要Weak Reference或者Unowned Reference来打破这个环。

而Java的垃圾回收机制,从反面思考,着眼于哪些是有效的对象,即有被GC Root引用到的对象是有效的,其他的都是无效的。因此哪怕有对象相互引用,只要没有被GC Root引用到,都会被垃圾回收器回收掉。从这此处来看,Java的策略更优。也由此可以看到换个角度看问题是多么重要。

参考引用

The Swift Programming Language (Swift 2.1)

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097-CH3-ID0

what is the entry point of swift code execution? http://stackoverflow.com/questions/24105690/what-is-the-entry-point-of-swift-code-execution

Swift程序入口深度分析 http://00red.com/blog/2014/11/20/swift-main-study/

Swift 函数式编程实践 http://codebuild.me/2015/09/15/swift-functional-programming-intro/

Java vs Swift http://slidenerd.com/2014/11/15/swift-vs-java/

SwiftGuide https://github.com/ipader/SwiftGuide

Swift https://developer.apple.com/swift/

Learn the Essentials of Swift https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson1.html

What is an “unwrapped value” in Swift? http://stackoverflow.com/questions/24034483/what-is-an-unwrapped-value-in-swift

自动引用计数 https://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter2/16_Automatic_Reference_Counting.html

关于阿里百川

阿里百川(baichuan.taobao.com)是阿里巴巴集团“云”+“端”的核心战略是阿里巴巴集团无线开放平台,基于世界级的后端服务和成熟的商业组件,通过“技术、商业及大数据”的开放,为移动创业者提供可快速搭建App、商业化APP并提升用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投资等,为移动创业者提供全面保障。

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读