您的位置:首页 > Web前端

《Java: The Complete Reference》《Java 8 编程参考官方教程(第9版)》读书笔记

2016-02-14 21:20 344 查看
春节期间读了下《Java: The Complete Reference》发现这本书写的深入浅出,我想一个问题,书中很多内容我们也知道,但是为什么我们就写不出这样一本书,这么全面,这么系统,这么简单易懂。不得不佩服Herbert Schildt的编程功底,需要提到的是Herbert Schildt写了很多Java和C、C++的书,他是C、C++、Java和C#编程语言的权威,是ANSI/ISO组织C语言标准化委员会的委员。
Herbert Schildt最新的基本Java著作其实都差不多,在内容侧重点上有点不同。本文虽然名为《Java: The Complete Reference》《Java 8 编程参考官方教程(第9版)》读书笔记,但是实则是同时参考以下几本。

《Java: The Complete Reference, Ninth Edition》 中文版《Java 8 编程参考官方教程(第9版)》
《Java: A Beginner's Guide, Sixth Edition》 中文版《Java 8 编程入门官方教程 第6版》
《Java Programming: A Comprehensive Introduction》 中文版 《Java 7程序设计入门经典》



Java的起源
驱使计算机语言革新的因素有两个:程序设计技术的改进 和 计算环境的改变。

Java和C和C++的关系
Java继承了C的语法,Java的对象模型从C++改编而来。
Java不是C++的增强版,Java不是为替代C++而设计,而是为了解决特定问题而设计,C++则是用来解决另一个不同系列的问题。

Java的魔法:字节码
Java同时 解决安全性问题和可移植性问题的关键在于Java编译器的编译结果不是可执行代码,而是字节码bytecode。
字节码是一系列设计用来由Java虚拟机(JVM)的Java运行时执行的高度优化的指令。
只需要对每个平台实现Java虚拟机,尽管平台之间的Java虚拟机不同,但是他们都可以理解相同的Java字节码。
Java程序由JVM执行也使其更安全,因为每一个Java程序都处于JVM的控制下,此外Java语言中的一些限制也增强了安全性。
程序被解释要比被编译为可执行代码慢很多,对于Java两者区别不明显,因为字节码已经被高度优化。
虽然Java是解释型语言,但这在技术上不妨碍Java字节码迅速编译为本机代码。Sun在Java的初始版本之后提供了HotSpot技术,HotSpot提供了一个JIT字节码编译器。
当JIT成为JVM的一部分之后,它可以根据逐条命令将字节码实时转换为可执行代码,因为Java执行的各种检查只在运行时才进行,所以不能将整个Java程序一次性编译为可执行代码,而是在执行期间需要时JIT才编译代码。
不是所有的字节码序列都被编译,只有那些能从编译受益的字节码才会被编译,其余的代码被简单的解释。

编译程序
javac Example.java
编译器javac创建一个包含程序字节码的名为 Example.class的文件(字节码)。
编译过Java源代码后,每个单独的类被放在自己的输出文件中,输出文件以类名+.class扩展名。因为源码文件和.class文件名称相同,所以将Java源代码文件的名称指定为它包含的类名是个好主意。

运行程序
java Example
由Java解释器java运行程序,需要将类名Example作为实参传递。

注释
支持3种注释:/**/和//和文档注释,文档注释用于生成说明程序的HTML文件。以/**开头,以*/结束。

缩进原则
Java本身是形式自由的语言,但是推荐缩进,在每个左括号之后缩进一级,而在每个右括号之后提前一级。

代码块
将语句包含在{}之间实现,代码块一旦创建就成为一个逻辑单元。
代码块不会增加任何开销,{}只存在于源码中,Java不会执行{}。

空白符:空格,制表符,换行符。每个标记之间至少有一个空白符即可。

标识符:标识符用于命名事物,例如类,变量和方法。标识符可以由大小写字母,数字,下划线,美元符号等字符组成的任意序列。
不能以数字开头。Java是大小写敏感的。

字面值:常量的值是通过使用表示常量的字面值创建的。

分隔符:最常用的是分号,分号是语句的终止符。此外还有(),{}.[]等等。

关键字:50个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: