`

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还很遥远。

分享到:
评论

相关推荐

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-002-编程基础-基本概念-编译.mp4 北京动力节点-Java编程零基础教程-003-编程基础-基本DOS操作.mp4 北京动力节点-Java编程零基础教程-004-编程基础-在Window中显示文件扩展名.mp4...

    【Java代码-A002】- 文件

    在Java编程语言中,文件操作是一项基础且至关重要的任务,涉及到读取、写入、创建、删除、复制等多种操作。本教程将深入讲解如何在Java中进行文件操作,特别是文件复制,以及如何评估代码的效率。 一、Java中的文件...

    002-Java零基础-EditPlus工具的引入.avi

    002-Java零基础-EditPlus工具的引入.avi

    JAVA实战项目源码-计算机毕业设计java专业-项目源码-项目说明介绍-JAVA002打飞机游戏设计

    《JAVA实战项目源码-计算机毕业设计java专业-项目源码-项目说明介绍-JAVA002打飞机游戏设计》这个资源包含了一个基于Java编程语言的打飞机游戏完整项目,以及相关的毕业论文,旨在帮助Java专业学生进行实战训练,...

    001-002-Java简介和编程环境.pptx

    Java编程环境主要由Java Development Kit (JDK) 组成,它是Java开发的核心,包括Java运行环境JRE、开发工具以及Java基础类库。要搭建Java开发环境,首先需要从官方站点下载适合的JDK版本。安装JDK的过程通常是图形化...

    day002 JAVA语法基础-数组入门.doc

    在"day002 JAVA语法基础-数组入门"的学习中,我们将深入理解数组的概念、定义、初始化以及基本操作。 首先,数组是计算机内存中连续分配的一块区域,用于存储同类型的数据。它由四个主要组成部分组成:数组名,用于...

    day002 JAVA语法基础-方法.doc

    Java语法基础中的“方法”是程序设计中的核心概念,它封装了特定的计算逻辑或操作,可以在程序的不同位置被多次调用。以下是对方法、参数传递、可变参数以及Arrays工具类的详细说明: 1. **方法的练习与注意事项**...

    day002 JAVA语法基础-数组加强.doc

    在 `JAVA` 程序中,数组的使用是基础也是关键。数组加强练习旨在提高对数组操作的理解和熟练度。 ### 1. 数组加强练习 在实际编程中,数组经常用于存储和处理数据。以下是一些常见的数组操作练习: 1. **统计字符...

    day002 JAVA语法基础-表达式&类型转换&运算符.doc

    JAVA 语法基础 - 表达式、类型转换、运算符 JAVA 语言中的表达式、类型转换、运算符是编程的基础知识,了解这些概念对于编写高效、正确的代码至关重要。在本文中,我们将详细讲解表达式、类型转换、运算符的概念、...

    day002JAVA语法基础-选择结构&循环结构.doc

    Java 语言中的选择结构与循环结构是编程中最基础也最重要的概念,它们决定了程序在面对不同条件和场景时如何运行。选择结构主要用于根据条件判断来决定程序执行的路径,而循环结构则是让代码反复执行一段特定的逻辑...

    Java毕业设计-JAVA002打飞机游戏设计(程序+论文).rar

    **JAVA毕业设计 - JAVA002打飞机游戏设计与实现** 本资源提供了一个基于Java语言开发的打飞机游戏项目,旨在帮助Java学习者掌握基本的图形用户界面编程、事件处理和绘图技术。该项目不仅可作为毕业设计的参考,还可...

    [HeyJava][传智播客]BBS-day002-001.rar

    【HeyJava】【传智播客】BBS-day002-001.rar是一个压缩包文件,其中包含的资源主要用于教学目的,特别是针对Java编程语言的学习。从标题和描述来看,我们可以推测这是一个关于Java开发的教学课程,特别是针对构建BBS...

    从零手写Tomcat【源码】【abl-tomcat-002】【基础完善,接收与处理信息】

    从零手写Tomcat【源码】【abl-tomcat-002】【基础完善,接收与处理信息】 文章地址:https://blog.csdn.net/m0_37969197/article/details/123965816 目录地址:...

    动力节点JAVA完美学习课程 JAVA黄埔军校2018年最新JAVA夜校班全程班视频教程 1-56部分.txt

    ├─(2) 002-Java夜校视频教程-常用的快捷键.avi ├─(3) 003-Java夜校视频教程-计算机的组成.avi ├─(4) 004-Java夜校视频教程-软件的分类.avi ├─(5) 005-Java夜校视频教程-常见DOS命令.avi ├─(6) 006-Java...

    Java零基础教程视频_从入门到精通

    资源名称:Java零基础教程视频_从入门到精通资源目录:【】000_Java零基础视频教程__讲义【】000_Java零基础视频教程__课堂笔记【】001_Java零基础视频教程__安装EditPlus【】002_Java零基础视频教程__计算机概述...

    2019Java微服务架构 2.0-全网首发-网盘地址

    章节1-什么是微服务\千锋java教程:001-构建单体应用模型.mp4章节1-什么是微服务\千锋java教程:002-走向单体地狱.mp4章节1-什么是微服务\千锋java教程:003-微服务解决复杂问题.mp4章节1-什么是微服务\千锋java教程...

    hibernate-3.6.6-002.rar

    本次我们将深入探讨的版本是Hibernate 3.6.6,它在前一版本的基础上进行了一系列的优化和改进,提升了性能,增强了稳定性。本文将从以下几个方面详细介绍Hibernate 3.6.6及其核心概念: 1. **Hibernate概述**: ...

    JAVA-002

    1. **Java基础语法**: 任何Java初学者都需要掌握的基础包括变量、数据类型(如基本类型和引用类型)、运算符、流程控制(如if语句、switch、for、while循环)以及方法的定义与调用。 2. **类与对象**: Java是一种...

    【计算机专业Java-毕业设计100套之】JAVA002打飞机游戏设计(程序+论文)

    总的来说,JAVA002打飞机游戏设计是一个全面的学习资源,它涵盖了Java编程基础、GUI设计、游戏逻辑实现、后端处理等多个方面,对于想要提升Java技能,特别是对游戏开发感兴趣的初学者来说,这是一个绝佳的实践案例。...

Global site tag (gtag.js) - Google Analytics