zoukankan      html  css  js  c++  java
  • IOS 其它语言比较-Objc与JAVA的比较

    1. Objc是一门编译型语言,JAVA是解析型语言

       编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。 

       解析型语言:解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。

       Objc是动态语言,就是在运行时可以改变代码结构,Java则是静态语言。Objc中的KVC与KVO充分说明了这个特点。

    2. 内存管理与消息传递方面:

       Objc是引用计数,发生在编译期。Java是垃圾回收,发生在运行时。后来Objc出现了ARC,不用程序员去写管理内存的东西,但其本质是编译期基于引用计数的内存管理。

       最大的区别在于Objc是使用消息传递的,本质是字符串,所以其在运行时可以修改类、对象、方法。Java的方法是与class静态绑定的,虽然在运行时通过反射来获取,但是性能会下降一个数量级。所以说Objc更加动态。

       所以android手机为什么体验有点差,因为Java的垃圾回收机制。

    3. 代码方面:

       1)Java有命名空间package,Ojbc没有。

       2)实现多继承的方法不同,java通过不可以继承多个父类,可以通过实现多个interface接口的方式来实现多继承。Objc通过Categories和Protocols实现多继承。

  • 相关阅读:
    输入框正则表达式验证
    MySQL表名、列名区分大小写详解
    前后台交互
    分页写法
    web程序调试方法
    html 标签
    Aborting commit: 'XXXXXXXX'remains in conflict错误
    返回按钮
    跳出frameset框架
    fastadmin中关联表时A为主表,想让B表和C表关联时怎么办?
  • 原文地址:https://www.cnblogs.com/alunchen/p/5369611.html
Copyright © 2011-2022 走看看