1_JAVA语言的特点及配置环境问题



  • 平台无关性
    Java语言和其他语言相比,最大的优势就是 能够在所有计算机上运行,这也是Java风靡全球的主要原因。Java之所以能做到这一点,是因为Java可以在计算机的操作系统之上提供了一个Java运行环境,即一个Java程序平台,这个平台有Java虚拟机(Java Virtual Machine ,JVM)、类库以及一些核心文件组成。   
    将高级语言编写成的源程序转化为机器指令,经常使用下列两种方式:①编译方式(Compilation):针对当前的芯片,将源程序全部翻译成机器指令(称为目标程序),再将目标程序交给计算机执行
    ②解释方式(Interpretation):这种方式不产生整个目标程序,二十根据当前的机器处理机器芯片,边翻译边执行,翻译一句执行一句。
    然而java语言的处理方式既不是第①中也不是第②种,Java语言不针对特定的CPU芯片进行编译,Java提供的编译器把源程序编译成“字节码”的一个中间代码。字节码是很接近机器码的二进制文件,不能被机器直接识别,但是可以在提供了Java运行环境平台的任何系统上被解释执行。JVM是Java运行环境的重要组成部分,正是JVM中的解释器负责将字节码解释成本地机器码。因此,Java本质上是解释执行程序,当字节码加载到内存中后,再有Java运行环境平台中的Java解释器对字节码按解释方式执行,即翻译一句执行一句,不产生整个机器代码程序。翻译过程如果不出现错误,就一直进行到全部执行完毕,否则将在错误处停止执行。同一个程序,如果是解释执行的,那么它的运行速度通常会比被编译方式的运行速度慢一些。但是,对于Java来说,两者差别不大,Java的字节码经过自习设计,很容易能使用JIT(Just In Time,即时编译)技术将字节码直接转化成高性能的本地机器码。

  • 面向对象
    面向对象是一种先进的编程思想,更加容易解决复杂问题。面向对象编程主要体现在下列三个特征上:
    ⑴封装
    面向对象编程的核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,即从具体的实例中抽取共同的性质形成的一个概念,如类的概念。人们经常谈到的机动车类就是从具体的实例中抽取共同的属性和功能形成的一个概念,那么一个具体的轿车就是机动车类的一个实例,即对象。一个对象将自己的数据和对这些数据的操作合理、有效地封装在一起,如每辆轿车调用”加大油门“改变的都是自己的运行速度。

    class 机动车{
    	int speed;//变量定义部分
    
    	float weight,height;//变量定义部分
    
    	void changSpeed(int newSpeed){//方法定义
    		speed=newSpeed;
    	}
    	
    	float getWeight(){//方法定义
    		return weight;
    	}
    
    	float getHeight(){//方法定义
    		return height;
    	}
    
    }




    ⑵继承
    继承体现了一种先进的编程模式。子类可以继承父类的属性和功能,既继承父类所具有的数据和数据上操作,同时又可以添加子类独有的数据和数据上的操作。比如,”人类“自然继承了”哺乳类“的属性和功能,同时又添加了人类独有的属性和功能。

    class Father{
    	int moneyHK=200;
    	int add(int x,int y){
    		rturn x+y;
    	}
    }
    class Son extends Father{
    	int moneyRMB=800;
    	public void changMoneyHK(int x){
    		moneyHK=x;
    	}
    	public void changMoneyRMB(int x){
    		moneyRMB=x;
    	}
    }



    ⑶多态
    多态是面向对象编程的又一重要特征。有两种意义的多态。一种是操作名称多态,即有多个操作具有相同的名字,但这些操作所接受的消息类型必须不同。例如,让一个人执行”求面积“操作时,他可能会问你求什么面积?所谓操作名称的多态是指可以向操作传递不同消息,以便让对象根据相应的消息来产生一定的行为。另一种多态是和继承有关的多态,是指同一个操作被不同类对象调用时可能产生不同的行为。例如:狗和猫都具有扑入类的功能:“喊叫”。但是,狗操作“喊叫”产生的声音是“汪汪汪...";而猫操作”喊叫“产生的声音是”喵喵...“。
  • 多线程
    Java的特点之一就是内置对多线程的支持。多线程允许同时完成多个任务,使人产生多个任务在同时执行的错觉。
  • 安全
    当用户准备从网上下载一个程序时,最大的担心是程序中含有恶意代码,如试图读取或删除本地机上的一些重要文件,甚至该程序本身就是一个病毒程序等。当用户使用支持Java浏览器时,可以放心地运行Java Applet(java小程序),不必担心病毒的感染和恶意企图,Java Applet将限制在Java运行环境中,不允许访问计算机的其他本分。
  • 动态
    Java程序的基本组成单元就是类,有些类是自己编写的,有些类是从类库中引入的。而类又是运行时动态装载的,这就是使得Java可以在分布环境中动态地维护程序及类库。




    Java运行平台

    三种平台简介

      目前Java运行平台主要分为下列3个版本:

    (JavaSE(曾称作J2SE)——Java标准版或Java标准平台。JavaSE提供了标准的JDK开发平台,利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet。
    Java EE(曾称作J2EE)——Java企业版或Java企业平台,可以构建企业级的服务应用。Java EE平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。
    Java ME(曾称作J2ME)——Java微型版或Java小型平台。JavaME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等 。


    系统环境Path值、ClassPath的设置

    CLASSPATH是什么?它的作用是什么?

    它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:/jdk/ 目录下,你得把c:/jdk/这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java/util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!CLASSPATH有点像c/c++编译器中的INCLUDE路径的设置哦,是不是?当c/c++编译器遇到include 这样的语句,它是如何运作的?哦,其实道理都差不多!搜索INCLUDE路径,检视文件!当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。

    1. PATH环境变量。作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。我们这里设定的PATH值为:

    %SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/Program Files/Common Files/TTKN/Bin;C:/Program Files/Common Files/Teleca Shared;C:/Program Files/Java/jdk1.6.0_21/bin

    上述只有红色部分;C:/Program Files/Java/jdk1.6.0_21/bin是java的PATH变量,注意变量之间需要用";”隔开。

    2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。这里CLASSPATH为:

    .;C:/Program Files/Java/jdk1.6.0_21/lib/dt.jar;C:/Program Files/Java/jdk1.6.0_21/lib/tools.jar

    3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。这里JAVA_HOME为:

    C:/Program Files/Java/jdk1.6.0_21



    java环境变量配置步骤:

    在windows桌面上右击“我的电脑” —> “属性” —> “高级” —> “环境变量”,在“系统变量”里我们可以看到系统的各个环境变量的值。双击某个变量名可以修改变量值,变量值之间用“;”隔开。我们还可以“新建”原先没有的变量。与jdk有关的有3个环境变量;“JAVA_HOME”,“PATH”,“CLASSPATH”。我的系统中“PATH”变量已经存在,可以直接添加新值(其它变量值不要动,防止其它程序运行异常),其它两个变量需要新建。

    CLASSPATH= .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

    JAVA_HOME = C:/Program Files/Java/jdk1.5.0

    PATH  = %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin

    从上面我们可以看出,PATH和CLASSPATH都使用到了JAVA_HOME,也可以使用绝对路径,两者皆可。

你可能感兴趣的:(java基础)