java的特点跨平台原理以及JDK的安装

终于开始了期待已久的java,了解java首先要了解下计算机语言的发展历史

  机器语言---》汇编语言---》---》高级语言(面向过程的语言和面向对象的语言)

机器语言

每一个计算机只能理解他自己的机器语言。机器语言对于计算机来说就是自然语言了,由计算机硬件的设计者定义。机器语言通常有数字串组成(最终被简化成01),对于人类来说,机器语言过于繁琐。

典型的机器语言:

汇编语言

为了编程的方便,以及解决更加复杂的问题。程序员开始使用英文的缩写的助记符来表示基本的计算机操作。这些助记符构成了汇编语言的基础。

典型的汇编语言:

高级语言

对于简单的任务,汇编语言可以胜任。但是随着计算机的发展,渗透到了工作生活的更多的方面,一些复杂的任务出现了,汇编语言就显得有限力不从心(应该说是程序员使用汇编语言解决复杂问题出现了瓶颈)。于是,出现了高级语言。像c,c++,java都是高级语言。高级语言允许程序员使用接近日常英语的指令的编写程序。

Grosspay = basepay + overpay;

从上面这个简单的加法计算,可以看出越到高级语言,越接近人的思维,人使用起来越方便。

 总结:所有的编程语言的最终目的都是提供一种"抽象"方法,抽象的层次越高越接近人的思维。编程的最终目的还是为了解决现实问题

高级语言分为面向对象和面向过程

面向过程具体是从微观上处理具体事务

指做一件事需要什么步骤过程,例如开车

  • 点火
  • 踩离合
  • 挂挡,油门

而面向对象是指从整体上把控处理事务,例如开车

  • 找一个司机
  • 让他开车

可以这样理解面向对象是更高级的语言

因为面向对象更加贴近我们的生活,现在出去吃饭,找一个饭店,把要吃的菜单交给服务员(服务员报给厨师)就不需要管了,出去旅游(报一个旅游团),盖房子(交给施工队)

专业的人处理专业的事

JAVA的诞生

在1991年时候,James Gosling在sun公司的工程师小组想要设计这样一种小型计算机语言,

该语言主要用于像电视盒这样的消费类电子产品,这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行。

  

另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。所以,将这个语言命名为“Green”,类似于绿色软件的意思。

后来,改名将OAK。橡树的意思。改名后发现已经有一种语言叫这个名字了,在改名叫JAVA.

1991年,Sun公司的Green项目,Oak

1995年,推出Java测试版

1996年,JDK1.0

1997年,JDK1.1

1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2。

2004年,J2SE 5.0 (1.5.0)  Tiger老虎

2006年,J2SE 6.0 (1.6.0)  Mustang野马

java在这二十年一直是高级语言中数一数二的地位,为什么会这么流行呢?

首先得益于Internet的爆发式发展,然后得益于java语言的中立,跨平台性,在internet爆发式增长的时候,人们都在忙着将自己的电脑连接到网络上,这个时候出现了一个大问题,连接到internet的计算机各式各样,不仅硬件cpu不同,操作系统也不同,网络环境很复杂,这个时候程序员希望自己编写的程序运行在网络上,需要一种体系中立跨平台的语言,java正好适合,非常的独一无二,于是java就火起来了

受JAVA影响最大的是c#, 他是微软推出的和java抗衡的语言,用于支持.net框架。C#总体上和java非常相似

JAVA有三个版本

  1. JAVASE(标准版),定位个人计算机上的应用
  2. JAVAEE(企业版),定位在服务器端的应用
  3. JAVAME(微缩版),定位在消费性电子产品的应用上(可以忽略)

JAVA语言的特点

  • 简单性:就是c++语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。由于语法基于c,因此学习起来完全不费力。
  • 面向对象:面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上
  • 可移植性:这是JAVA的一个重要的优势。JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体的操作系统和硬件环境。JAVA本身就是面向网络的,只有在网络环境中才能显示出他的优势,比如:现在我有一个网络环境,要让我的笔记本和手机交互,笔记本环境是windows发出一个让手机定时录音的JAVA代码,手机只有简单Linux内核操作系统,照样可以完美的执行这个代码。一次编写,到处运行

  • 安全性:java摒弃了指针,极大增强了安全性能,适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使
    Java可以构建防病毒,防篡改的系统
  • 健壮性:

    Java是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。Java系统仔细检测对内存的每次访问,确认它是合法的,而且不致引起任何问题。

那么JAVA为什么可以跨平台运行呢?

这就得益于java虚拟机了,也就是JVM(java virtual machine), JVM是一种规范,可以使用软件[d1] 来实现,也可以使用硬件[d2] 来实现,就是一个虚拟的用于执行bytecodes字节码的计算机

Java虚拟机是Java最核心技术,也是跨平台的基础.

Java是如何实现跨平台?

1        通过JVM中的“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立的中间文件格式)

2        通过JVM中的“解释器”将Java字节码文件解释为对应机器语言并运行

只要操作系统中装有对应的JVm,java语言就可以做到一次编译到处运行

 

对应的是,C语言需要多次编译(针对不同的操作系统需要编译器进行编译)

 既然java系统这么强大,那么如何进行开发呢?

  一.搭建Java开发环境(安装jdk,配置环境变量)

    1.安装JDK,将JDK安装在自己想要安装的目录下,本人:D:\Program Files\Java\jdk1.7.0_17

    2.配置环境变量,这个配置不好,无法正常运行java程序  

       a.在计算机(我的电脑)右键------》属性

                     

       b.高级系统设置-----》高级--环境变量

        

          1 新建JAVA_HOME变量 D:\Program Files\Java\jdk1.7.0_17  JDK安装目录

             

          2  新建CLASSPATH变量    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

             

          3 设置path变量  在最前面或者后面添加%JAVA_HOME%\bin;

            

设置完成之后可以在dos窗口中输入java -version可以得到当前jdk的版本信息

        

然后可以进行第一次的代码编写

(一)编写Java源程序(Test .java)

 运行结果为

好了,这就是今天所有的知识了

 

 

 

原文地址:https://www.cnblogs.com/jiawenxu/p/6637013.html