`

JAVA基础-002

阅读更多

 简单解读JAVA入门之作,Hello World!

package com.ghost.t20140430;

public class Test1 {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

       上面这段程序称为JAVA源码,也就是供程序员开发的语言。计算机的本质,就是根据给定的输入,通过计算机计算得出计算的结果。计算机只能识别能有物理变化的现象,比如说为了表示“有人”和“无人”这两种现象,我们可以利用已知的物理现象,如电压的正、负来表示,电压为’正‘,则表示’有人‘,电压为’负‘则表示’无人‘,这样就可以建立起一一对应的关系,语言的本质也就是这样,’有人’就是一个符号,代表着一种交流。

十进制整数有无穷多个,二进制整数也有无穷多个,因为他们可以建立起一一对应的关系,所有它们的数量是相等的(为何相等?这看似简单,其实不简单。无穷的集合并不都是相等的。简单的例子,无理数集合和整数集合就不想等...有兴趣可以看看《实变函数》、《集合论》之类的数学书籍)。因为二进制在物理上容易实现,因此计算机命令主要是二进制形式的命令(有兴趣可以读读《数字电子技术基础》、《模拟电子技术基础》)。

....

       回归上面的JAVA源码,说到计算机只识别二进制的命令,那么上面的命令如何转化到二进制的呢?对JAVA源码,应该有一套规范,叫做《JAVA语言规范》,只要是规范的东西,那么就应该不会产生歧义,因此上面的代码就应该能转换为无歧义的二进制形式供计算机识别

由于JAVA要做到跨平台性(不同的操作系统下,如Linux、windows、Mac OS,用JAVA语言开发的程序,都能运行),因此需要Java源码需要转换为一种叫做java字节码的文件。

JAVA的跨平台性,是因为它为不同的操作系统编写了一个软件,叫做java虚拟机(Java virtual machine),就是运行在操作系统上的一个程序,这个程序在操作系统上创造了一个操作系统,即操作系统上的操作系统。在这JVM上就可以运行专为它写的命令——Java 字节码。从Java源码到Java字节码,这涉及到翻译的问题,如何转换?需要苦读《编译原理》。JVM如何知道Java字节码所代表的意思呢?这需要看看《JVM 规范》。一切都需要遵循规范,只有规范的东西才能无歧义地传递出信息。编写Java代码也需要规范,因为,Java代码是给人看的,编程实现功能是首要,但要能让人看得懂(当然得懂点Java编程基础知识),看得顺心,那才有可能成为大师。

 

       Linux、windows、Mac OS等等操作系统是历史发展的产物,如果一开始就只有一种操作系统,那么就没有必要跨什么平台。在发展阶段,只有允许竞争、允许百花齐放,这样才能产生更好的结果。因为一开始大家都在探索,谁也不能肯定谁比别人更好。当发展到一定阶段就应该统一,比较、筛选出更好的结果。现在的浏览器,各种各样,什么ie6、ie8、ie10、ie11、chrome、firefox、safari等等;移动端操作系统Android、IOS、Windows Phone等等;各种计算机语言JAVA、C/C++、Python、Object C等等;各种数据库MySQL、Oracle、SQL Server等等;还有各种等等....还有现实中典型的现象,各种人类语言,English、汉语、粤语、日语等等。

我们要拥抱特色,因为我们是为了追求更好的统一。

...又扯了一些,好像离正题还更远

 下次继续探索Hello World!因为离Hello World还很遥远。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics