java语言与平台基础知识点
使用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通过SMS短信平台实现发短信功能 含多语言
Java通过SMS短信平台实现发短信功能 在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了.在使用前需要注册,注册地址为http://sms.webchinese.cn/reg.shtml),下面是程序源码: /** * @Author dengsilinming * @Date 2012-9-18 * */
-
java语言与平台基础知识点
使用Java之前,我们要先弄清楚Java语言和Java平台之间的区别.然而,有时候不同的作者对语言和平台的构成会有不同的定义,所以人们有时不太清楚两者之间的区别,分不清是语言还是平台提供了代码使用的编程特性. 因为本书的大部分内容都需要你理解两者的区别,所以这里需要说明一下.以下是我们给出的定义. Java语言 在"关于本书"中,我们提到Java语言是静态类型.面向对象的语言,希望你对这种说法已经非常熟悉了.Java语言还有一个非常明显的特点,它是(或者说应该是)人类可读的. Java
-
c语言与c++基础知识点(必看)
1.后缀名: C++/C程序的头文件以.h为后缀,C程序的源文件以.c为后缀,C++程序的源文件通常以.cpp为后缀(有些书中介绍有一些系统以.cc或.cxx为后缀的源文件). 在Linux系统下的gcc,.C(部分),.cc或.cxx 为后缀的源文件, 它们也是C++源代码文件. 2.extern关键字:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern有两个
-
java向下转型基础知识点及实例
1.概念 向下转型就是父类对象转成子类对象.我们把一个父类引用 Animal类型的引用 给了一个 Bird类型 的引用,这就是向下转型 2.格式 子类 子类对象=(子类)父类实例 3.注意 向下转型的时候一定要进行强制类型转换 4.实例 class Animal { public String name; public void eat() { System.out.println(this.name + " 正在吃"); } } class Cat extends Animal {
-
java局部变量表的基础知识点及实例
说明 1.局部变量表也叫局部变量数组或本地变量表.定义为一个数组,主要用于存储方法参数和定义方法中的局部变量.这些数据类型包括各种基本数据类型.对象参考和returnAddress类型. 2.因为局部变量表是建立在线程栈上的线程私有数据,所以没有数据安全问题. 实例 private static int count=0; public static void recursion(int a,int b,int c){ long l1=12; short sl=1; byte b1=1; Stri
-
Java语言十大基础特性分析
Java语言的作者们编写了具有广泛影响的Java白皮书,里面详细地介绍了他们的设计目标以及实现成果,还用简短的篇幅介绍了Java语言的特性.下面将对这些特性进行介绍. 1. 简单 Java语言的语法简单明了,容易掌握,而且是纯面向对象的语言.Java语言的简单性主要体现在以下几个方面: 语法规则和C++类似.从某种意义上讲,Java语言是由C和C++语言转变而来的,所以C程序设计人员可以很容易地掌握Java语言的语法. Java语言对C++进行了简化和提高.例如,Java使用接口取代了多重继承,
-
易语言的学习基础知识点
创建窗口,鼠标点点就可以,很简单快捷 举例程序源码 大致的程序编写思路如下: 在代码中"__启动窗口_创建完毕"下,编写相应代码,初始化程序 一个方框对应一个事件处理函数 然后下面编写各个事件处理函数即可 在一个窗口中调用另一个窗口只需要"点击菜单栏中的"插入"-->"窗口"即可 使用"载入 (窗口1, , 真)"即可显示,至于返回值以后再了解 易语言很符合国情,适合个人快速开发小型软件! 与Qt面向对象编
-
java编译器的基础知识点
JAVA编译器(javac.exe)的作用是将java源程序编译成中间代码字节码文件,是最基本的开发工具. java程序开发人员,可以的选择集成开发环境IDE(Integrated Development Environment)非常多 编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译.语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class.
-
Java基础知识之Java语言概述
Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言. 2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权. Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念.语法和编程思想,有不能理解的地方请
-
java编译命令基础知识点
我们在对计算机下达指令时,人类的语言它是不能够明白,需要通过编译的时候翻译成计算机能听懂的语言.编译过程中会调用javac命令,这点大家可能接触的不多,毕竟是是计算机程序内部运行时的操作.下面我们就编译的概念.命令带来讲解,然后分享一个编译实例给大家练习. 1.编译概念 通过流程图可以看出其实java的执行可以分为两大步骤,第一是编译,这一过程就是调用的javac命令,编译成对应的.class文件.第二是解释执行,这一过程是调用的java命令. 2.编译命令 (1)linux rm -rf Ma
-
java的jdk基础知识点总结
在java开发中,有一个核心的组成部分,我们在进行java安装时,首先下载的就是这个软件,它就是JDK工具包.可以说在范围上是包括了java的其它组成部分,不过还需要我们对这个工具包的使用有深入的了解.下面我们就JDK的概念.组成部分.三种类型.与其他构件区别带来详解. 1.概念 JDK(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备.嵌入式设备上的Java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JRE)和JAVA工具.没
随机推荐
- asp.net js模拟Button点击事件
- Asp与JS的数组和字符串下标介绍
- vue.js的提示组件
- Java web的读取Excel简单实例代码
- MUI 上拉刷新/下拉加载功能实例代码
- c#的treeview绑定和获取值的方法
- ThinkPHP模板判断输出Empty标签用法详解
- python实现的简单猜数字游戏
- Python+django实现文件上传
- 浅析js中substring和substr的方法
- C#处理MySql多个返回集的方法
- Microsoft Windows 2008 Server R2 iis7.5上传文件限制200K更改
- php实现背景图上添加圆形logo图标的方法
- FleaPHP框架数据库查询条件($conditions)写法总结
- 一个简单的php实现的MySQL数据浏览器
- AngularJs 最新验证手机号码的实例,成功测试通过
- 如何利用Retrofit+RxJava实现网络请求的异常处理
- 那些年用httpclient时踩过的一些坑
- python文字转语音实现过程解析
- php桥接模式应用案例分析