`
txf2004
  • 浏览: 6881871 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
1.Java的二进制代码是解释型 
Java解决上述两个问题——安全性和可移植性的关键在于Java编译器的输出并不
是可 
执行的代码,而是字节码(bytecode )。字节码是一套设计用来在Java运行时系
统下执行的 
高度优化的指令集,该Java运行时系统称为Java虚拟机(JavaVirtual Machine,
JVM)。在其标 
准形式下,JVM 就是一个字节码解释器。这可能有点让人吃惊,因为像C++
之类语言的编 
译结果是可执行的代码。事实上,出于对性能的考虑,许多现代语言都被设计为
编译型, 
而不是解释型。然而,正是通过JVM运行Java程序才有助于解决在Internet上下载
程序的主 
要问题。这就是Java输出字节码的原因。

尽管Java被设计为解释执行的程序,但是在技术上Java并不妨碍动态将字节码编
译为本 
机代码。SUN公司在Java 2发行版中提供了一个字节码编译器——JIT (Just In
Time,即时)。 
JIT是Java虚拟机的一部分,它根据需要、一部分一部分地将字节码实时编译为可
执行代码。 
它不能将整个Java程序一次性全部编译为可执行的代码,因为Java要执行各种检
查,而这些 
检查只有在运行时才执行。记住这一点是很重要的,因为JIT只编译它运行时需要
的代码。 
尽管如此,这种即时编译执行的方法仍然使性能得到较大提高。即使对字节码进
行动态编 
译后,Java程序的可移植性和安全性仍能得到保证,因为运行时系统(该系统执
行编译) 
仍然能够控制Java程序的运行环境。不管Java程序被按照传统方式解释为字节码
,还是被动 
态编译为可执行代码,其功能是相同的。

2.面向对象 
 尽管受到其前辈的影响,但Java没被设计成兼容其他语言源代码的程序。这
允许Java 
开发组自由地从零开始。这样做的一个结果是,Java语言可以更直接、更易用、
更实际的 
接近对象。通过对近几十年面向对象软件优点的借鉴,Java设法在纯进化论者的
“任何事 
物都是一个对象”和实用主义者的“不讨论对象不对象”的论点之间找到了平衡
。Java的 
对象模型既简单又容易扩展,对于简单数据类型,例如整数,它保持了高性能,
但不是对 
象。

3.面向对象和面向过程的有趣阐述
两种范型
 我们知道,所有的计算机程序都由两类元素组成:代码和数据。此外,从概
念上讲, 
程序还可以以它的代码或是数据为核心进行组织编写。也就是说,一些程序围绕
“正在发 
生什么”编写,而另一些程序则围绕“谁将被影响”编写。这两种范型决定程序
的构建方 
法。第一种方法被称为面向过程的模型(process-oriented model ),用它编写
的程序都具有 
线性执行的特点。面向过程的模型可认为是代码作用于数据,像C这样的过程式语
言采用 
这个模型是相当成功的。然而,正如在第1章提到的,当程序变得更大并且更复杂
时,就会 
出现问题。
为了管理不断增加的复杂性,第二种方式,也就是面向对象的编程(object
-oriented 
programming )被构思出来了。面向对象的编程围绕它的数据(即对象)和为这
个数据严格 
定义的接口来组织程序。面向对象的程序实际上是用数据控制对代码的访问。下
面你将看 
到,将控制的实体变换为数据,可使程序在组织结构上从若干方面受益。

4.什么样的垃圾被回收
由于使用new运算符来为对象动态地分配内存,你可能想知道这些对象是如何
撤消的 
以及他们的内存在以后的重新分配时是如何被释放的。在一些语言,例如C++中,
用delete 
运算符来手工地释放动态分配的对象的内存。Java使用一种不同的、自动地处理
重新分配 
内存的办法:垃圾回收( garbage collection)技术,它是这样工作的:当一个对
象的引用不存 
在时,则该对象被认为是不再需要的,它所占用的内存就被释放掉。它不像C++那
样需要 
显式撤消对象。垃圾回收只在你的程序执行过程中偶尔发生。它不会因为一个或
几个存在 
的对象不再被使用而发生。况且,Java不同的运行时刻会产生各种不同的垃圾回
收办法, 
但是对你编写的大多数程序,你不必须考虑垃圾回收问题。

5.使用final防止重载 
有时你希望防止一个类被继承。做到这点只需在类声明前加final。声明一个
final类含 
蓄的宣告了它的所有方法也都是final。你可能会想到,声明一个既是abstract的
又是final的 
类是不合法的,因为抽象类本身是不完整的,它依靠它的子类提供完整的实现。

6.对错误处理的说法
为防止和处理一个运行时错误,只需要把你所要监控的代码放进一个try块就可
以了。 
紧跟着try块的,包括一个说明你希望捕获的错误类型的catch子句。


7.引发
10.7 引发(throw )
 到目前为止,你只是获取了被Java运行时系统引发的异常。然而,程序可以
用throw语 
句引发明确的异常。Throw语句的通常形式如下:
 throw ThrowableInstance; 
 这里,ThrowableInstance一定是Throwable类类型或Throwable子类类型的一
个对象。简 
单类型,例如int或char,以及非Throwable类,例如String或Object,不能用作
异常。有两种 
可以获得Throwable对象的方法:在catch子句中使用参数或者用new操作符创建。

程序执行在throw语句之后立即停止;后面的任何语句不被执行。最紧紧包围
的try块用 
来检查它是否含有一个与异常类型匹配的catch语句。如果发现了匹配的块,控制
转向该语 
句;如果没有发现,次包围的try块来检查,以此类推。如果没有发现匹配的
catch块,默认 
异常处理程序中断程序的执行并且打印堆栈轨迹。
分享到:
评论

相关推荐

    java学习感悟,对框架的学习心得

    正在学习Java框架的朋友,看考一下本人学习的心得,希望对大家有用,请多多指教,我学习Java有一段时间了,对框架的理解颇有心得,希望大家一起交流下

    Java学习总结[C程序员的感悟]

    Java学习总结[C程序员的感悟],绝对值得一看。

    李兴华老师学习java的感想

    李兴华老师学习java的感受,希望有迷茫的同志看看李老师的理解,加深学习动力

    学习java日记

    学习java日记一日一记,主要记录第一天的java学习感悟和知识集锦

    Java学习心得

    非常实用的eclipse快捷键,还有一大波Java初学者必须看的基础知识。以及一些个人学习Java中理解的部分。

    Java学习笔记+自己见解感悟+问题解决备注

    自己两年半的java学习历程,包括刚开始的什么都不会阶段,到后期的java项目便携遇到的问题,刚还有学习时的个人见解的随记,后来自己也把这份笔记作为自己的java的工具书来使用,与各位java初级coder分享

    基于Java技术手机移动学习开发研究

    总结,是作者在深入分析自己和众多学生学习现状之后探索出的学习Java 的一条捷径。 全书共分11 章。第1 章详细地讲解了Java 开发环境的搭建、反编译工具的使用、JDK 文档资料的查阅以及Java 程序的编译和运行过程。...

    Java学习心得,希望对大家有帮助!

    是个人的学习心得,希望对大家有帮助!主要是一些代码的实现什么样的功能!

    java初学者的工具ppt文件

    1)买本Java学习用书。 JDK 6正式版刚刚推出,市面上你暂时买不到JDK6的书籍,但我仍推荐你买一本适合入门的、较新JDK版本的Java书籍,那么,你现在选择一本讲述JDK5的入门书籍还是有条件的。我可以推荐一些入门书,...

    java夜未眠

    此外,书中部分文章也以轻松的风格介绍了学习Java技术时的一些常见问题,并介绍了一些优秀的Java书籍,能够帮助读者兴趣盎然地学习Java技术。 本书适合于Java程序员、专业软件开发者、程序设计爱好者阅读。

    精选-java实习心得感悟-word范文java语言

    精选-java实习心得感悟-word范文

    Java开发之道

    《Java开发之道》一本集编程感悟、技巧、陷阱、谬误、算法和方案为一体的编程书籍,旨在引导读者如何学习编程,帮助读者丰富编程经验。全书分为6篇,共计16章内容,全面介绍了学习和应用Java进行程序开发的各种陷阱...

    深入理解Java虚拟机---学习感悟以及笔记

    本文来自于cnblogs,为什么要学习Java虚拟机?它能干什么,文章从作者得角度带大家深入Java虚拟机相关内容,希望对大家有帮助。这里我们使用举例来说明为什么要学习Java虚拟机,其实这个问题就和为什么要学习数据结构...

    Java学习笔记

    该文档是本人跟随一位名师学习java语言所记录下来的学习笔记,对java的基础知识,重点,难点,都进行了整理并记录,本人还对一些重难点问题进行了研究总结并将感悟也记录在文档中,很适合初学java者进行学习或进行查...

    学java的心得体会

    “它”更简单,java很容易学习和使用,它丢弃了C++中难理解的令人迷惑的特性。

    如何学号JAVA的几点

    很好的学习JAVA的感悟 希望给大家一些启示

    java核心技术

    , 本评注版的目的旨在以先行者的学研心得与实践感悟,对读者的阅读, 和学习加以点拨、指明捷径。, 《Java核心技术》中示例程序经过精心设计,不但具有实用价值,而, 且易于阅读理解,可以作为初学者自己编写程序的...

    VC++ 6.0非模式对话框示例以及对比Java的Swing编程的感想

    环境:Window XP SP3、VC++ 6.0 ...这也就说明,如果你参与(学习)过Java的C/S开发技术,那么自然学习C++的可视化编程也不难。本示例注释非常详细。 阅读人员:学习过Swing编程技术,并且也想学习VC++编程的人员

    JAVA编程那些事(java基础介绍)

    JAVA编程那些事(java基础介绍)一些学习java感悟

    张孝祥 Java就业培训教程高清晰版

    感悟的总结,是作者在深入分析自己和众多学生学习现状之后探索出的学习Java的一条捷径。 第1章讲解了开发环境的搭建、反编译工具的使用、JDK文档资料的查阅以及Java编程的编译和运用过程。第2章系统地讲解了Java的...

Global site tag (gtag.js) - Google Analytics