第1章Java概述.pptVIP

  • 0
  • 0
  • 约6.69千字
  • 约 35页
  • 2017-05-29 发布于四川
  • 举报
Java 7 发布时间:2011年7月 主要改进:模块化 Java 8 发布时间:2014年3月 主要改进:使用Lambda表达式,扩展目标类型,方法和构造方法引用,缺省的方法 Java 9,10??? * Java的三个版本 (Java2开始) J2EE(企业级版本) J2SE(标准版本) J2ME(微型版本) J2ME * 2.Java语言特点 简单 完全面向对象(即插即用) 分布式 健壮性 安全性 结构中立性(跨平台write once run anywhere) 解释执行 高效能(JIT(Just-In-Time)及时编译器) 多线程,支持多任务 动态 * 3.Java与C/C++的区别 记者 Java,你好。现在很多人都认为你和C++差不多,你怎么看这种观点? Java (情绪激动)我最讨厌把我和C++比了,我要和他划清关系。我没他那么事儿多,也没他那么诡异。而且我比他更安全,更容易被移植。 Java = “C++” – “复杂性和奇异性” + “安全性和可移植性” * 记者 我绝对用洗衣机洗。现在我坚信您就是完美的编程语言! Java (不好意思地)不不不,话可不能这么说。其实谁还能没有缺点呢。刚才你说你用洗衣机洗,回去问问你的奶奶,她可是洗衣服的高手。我想她会选择用手洗吧。呵呵。要是让她老人家用洗衣机,光厚厚的说明书,就够她学个一年半载了。 (严肃地)专业一点儿说,我强大功能的背后,是学习的复杂性。而且我的速度虽说不慢,但不是最快,因为我是 边解释边执行, 不是直接执行机器码的。而且,我也不像C,汇编那样更接近操作系统。 记者 (小心翼翼地)那您是不是也要和C划清关系呢? Java (情绪略有缓和)这个嘛,我还是很尊敬这位老前辈的。毕竟尺有所长,寸有所短。再说我的语法中有很多是从他那里学习来的。。。不过,我个人认为我比他更。。。怎么说呢,他就像用手洗衣服,我呢,就是全自动洗衣机。你喜欢用手洗还是洗衣机洗??? * Java与C/C++的区别 这些不好,俺不用了 全局变量 使用不当造成系统崩溃 条件转移指令 goto,不易读,不安全 指针 容易出错,不可预知的错误,类型转换破坏安全性 内存管理 二次释放造成系统崩溃,忘记释放也造成系统崩溃 头文件 C/C++头文件,维护难。 Java包,更先进 编译预处理 C/C++支持,Java不支持 结构体和共用体 Java不支持 多重继承 C++ 支持多重继承 Java 不直接支持,但是可以通过接口实现的更好 俺的特色 异常处理 Java 提供丰富的异常处理机制 纯面向对象程序设计 Java纯面向对象 俺把这些做的更严谨了 数据类型的一致性 C/C++语言中,int, float, double的字节长度根据系统, 版本不同,不一致;Java中,长度一致 类型转换 C/C++宽松 Java严格,不容易出错 常量 实现方式不同, Java 更安全 * 4.Java的工作原理与运行系统 源文件(*.java) My dog’s name is “长毛”, size is 10. Please let him bark for 8 times and play for 10 minutes. 字节码文件(*.class) (Ljava/lang/String;)鍦嗙殑闈㈢Н涓猴細(D)Ljava/lang/StringBuilder; (()Ljava/lang/StringBuilder; 编译器 JVM * 编译器与JVM的对话 编译器 JVM,您好!现在有很多人都担心您的速度不行呢。 JVM (得意)那是瞎担心。我虽然是一边解释一边执行,但是速度可不慢。和全解释完再执行的语言速度一样快呢。 编译器 (小心翼翼)话说到这儿,也得顺便说说我了。其实您的速度快,和我,编译器还有很大关系呢。 JVM (不以为然)恩?!这话怎么说?我完全可以不用你呀。其实我一直纳闷, Java为什么要安排你在我前面工作,我觉得有些碍手碍脚呢。 编译器 (不快)您怎么能这么说呢。要是没有我,您是打算自己去读程序员的源代码,然后执行,还是让程序员直接写字节码文件呢? JVM (为难)恩。。。让我直接去读程序员的源代码,然后一边解释一边执行,也不是不行。。。 可是程序员的代码对于人类虽然很容易看懂,但是对于我们JVM来说不是很容易懂。。。而且程序员是一种经常犯错误的动物,帮他们检查错误会让我崩溃。。。而且多余的工作会减慢我的速度。。。 编译器 (幸灾乐祸)那让程序员直接写您看着顺眼的字节码文件好了。 JVM (为难)这对我来说是好事,可是对于程序员来说,简直比登天还难。我喜爱的字节码文件,对于人类

文档评论(0)

1亿VIP精品文档

相关文档