使用Java之前,我们要先弄清楚Java语言和Java平台之间的区别。然而,有时候不同的作者对语言和平台的构成会有不同的定义,所以人们有时不太清楚两者之间的区别,分不清是语言还是平台提供了代码使用的编程特性。
因为本书的大部分内容都需要你理解两者的区别,所以这里需要说明一下。以下是我们给出的定义。
Java语言
在“关于本书”中,我们提到Java语言是静态类型、面向对象的语言,希望你对这种说法已经非常熟悉了。Java语言还有一个非常明显的特点,它是(或者说应该是)人类可读的。
Java平台
平台是提供运行时环境的软件。Java虚拟机(JVM)负责把类文件形式(人类不可读)的代码链接起来并执行。JVM不能直接解释Java语言的源文件,你要先把源文件转换成类文件。
Java作为软件系统之所以能成功,主要因为它是一种标准。也就是说,它有规范文件描述它应该如何工作。不同的厂商或项目组可以据此推出自己的实现,这些不同实现的工作方式在理论上是相同的。规范虽然不能保证这些实现处理同一任务时表现如何,但可以保证处理结果的正确性。
控制Java系统的规范有多种,其中最重要的是《Java语言规范》(JLS)和《JVM规范》(VMSpec)。在Java 7中,这两者之间的界限愈发清晰。实际上,VMSpec不再引用JLS中的任何内容,如果你认为这是Java 7重视Java之外其他语言的信号,说明你有见微知著的能力!希望你能继续关注,接下来我们会更加深入地探讨这两个规范之间的差别。
提到Java的双重角色,你自然想问:“它们两者之间还有什么关联吗?”如果它们在Java 7中如此泾渭分明,又是如何共同形成我们所熟悉的Java系统的呢?
连接Java语言和平台之间的纽带是统一的类文件(即.class文件)格式定义。认真研究类文件的定义能让你获益匪浅,这是优秀Java程序员向伟大Java程序员转变的一个途径。图展示了产生和使用Java代码的整个过程。
以上就是学习JAVA语言的基础的知识点,希望我们整理的内容能帮助到大家。
本文向大家介绍Java基础知识之Java语言概述,包括了Java基础知识之Java语言概述的使用技巧和注意事项,需要的朋友参考一下 Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型
本文向大家介绍GO语言(golang)基础知识,包括了GO语言(golang)基础知识的使用技巧和注意事项,需要的朋友参考一下 今天说一些golang的基础知识,还有你们学习会遇到的问题,先讲解hello word package name 包机制,每一个独立的go程序都需要有一个package main的申明,主要是要为下边入口函数main()做申明的,import和java一样导入包用的 就是
2.1 JVM 2.2 IO 2.3 并发编程
本文向大家介绍IOS开发之路--C语言基础知识,包括了IOS开发之路--C语言基础知识的使用技巧和注意事项,需要的朋友参考一下 概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift 这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,
本文向大家介绍c语言 树的基础知识(必看篇),包括了c语言 树的基础知识(必看篇)的使用技巧和注意事项,需要的朋友参考一下 第一、树的定义: 1、有且只有一个称为根的节点 2、有若干个互不相交的子树,这些子树本身也是一颗树 第二、专业术语: 树的深度:从根节点到最低层,节点的层数 ,称之为树的深度。 根节点是第一层 结点的层次:根节点为第一层,根节点的子节点为第2层,以此类推 叶子节点:
本文向大家介绍Python语言的12个基础知识点小结,包括了Python语言的12个基础知识点小结的使用技巧和注意事项,需要的朋友参考一下 python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重,字典排序,字典、列表、字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写