学习Java需要知道的事情

来源:互联网 发布:淘宝权为什么离开lgd 编辑:程序博客网 时间:2024/06/10 14:44

这是我的第一篇博客,希望借此打下良好的基础与习惯。经常记录自己的所学,不求帮助别人,只求勉励自己

语言起源

Java是SUN ( Stanford University Network 斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。

Java名称的来源Java最初被命名为Oak,目标在于家用电器等小型系统的编程语言,随着市场的变化,SUN着眼于网络应用的开发。Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。 


发展历程:

1995年5月23日,JAVA语言诞生   雏形

1996年,1997分别推出JDK1.0,JDK1.1版

1999年,JAVA被分成J2SE,J2EE,J2ME

2000年,JDK1.4发布

2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE5.0

2005年,JAVA版本正式更名为JAVAEE,JAVASE, JAVAME

2006年12月,SUN公司发布JRE6.0

2009年04月20日,Oracle以74亿美元收购Sun。取得java的版权。

2010年9月,JDK7.0已经发布,增加了简单闭包功能。

2011年7月,甲骨文公司发布java7的正式版。


java语言特性

跨平台

什么是跨平台(计算机系统),跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。


Java的跨平台write once run anywhere”

java的跨平台是相对于其他编程语言而言的,通过Java语言编写的应用程序在不同的系统平台上都可以运行。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。在windows编译的c语言程序,在linux下是不能运行的。当然在linux下编译的c语言程序在windows下也是不能运行的。而Java语言在不同平台上运行时不需要重新编译。

 注意:Java的跨平台指的是Java语言写出的程序跨平台,而不是Java的虚拟机JVM跨平台,JVM是不跨平台的。因为不同操作系统所用的架构不同,JVM要应对不同系统的不同架构,所以不可能做到同一个JVM跨平台。所以不同的操作系统有不同的JVM来解析编译Java语言



Java虚拟机(JVM

JavaVirtual Machine一个软件模拟的计算机。Java源程序想象成我们的C源程序,Java源程序编译后生成的字节码(.class)就相当于C源程序编译后的二进制可执行文件。JVM虚拟机相当于计算机系统(操作系统+硬件环境),Java解释器相当于CPU

 

.exe文件直接在windows操作系统下运行,在CPU上运行的是机器码(.exe文件)

 

.class字节码文件是运行在JVM虚拟机下的,在Java解释器上运行的是Java字节码。

 

Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台下都有相应Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。


java语言的编译过程


Java的三大平台

JavaSE

Java SEJava PlatformStandard Edition)。Java SE 以前称为J2SE。它允许开发和部署在桌面服务器、嵌入式环境和实时环境中使用的Java应用程序JavaSE包含了支持Java Web服务开发的类,并为Java PlatformEnterpriseEditionJava EE)提供基础。

例子:QQ、扫雷等桌面应用。

Java EE

Java EEJava PlatformEnterprise Edition)。这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构service-oriented architectureSOA)和Web 2.0 应用程序。

Java ME

Java MEJava PlatformMicro Edition)。这个版本以前称为J2ME,也叫K-JAVAJava ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。


什么是JRE,JDK?

JRE(Java Runtime Environment    Java运行环境)

包括Java虚拟机(JVM Java Virtual Machine)Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK(Java Development Kit    Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等

总结:

       使用JDK开发完成的java程序,交给JRE去运行。


为什么JDK中包含一个JRE呢?

其一,开发完的程序,总需要运行一下看看效果。

其二,也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便使用才打包成exe文件,

如果没有JRE,那么这些工具是运行不了的。

JRE:JVM+类库。

JDK:JRE+JAVA的开发工具。

JDK目录介绍

  1. bin目录:存放Java的编译器、解释器等工具(可执行文件)。
  2. db目录:JDK7附带的一个轻量级的数据库,名字叫做Derby。
  3. include目录:存放的调用系统资源的接口文件。
  4. jre目录:存放Java运行环境文件。
  5. lib目录:存放Java的类库文件。
  6. src.zip文件:JDK提供的类的源代码。

安装JDK需要注意的事项:

  1. 安装路径中不要包含中文。
  2. 安装路径中不要包含空格。
  3. 当提示安装JRE时,可以选择不安装
  4. javac.exe  启动java编译器对指定的java源文件进行编译。
  5. java.exe 启动java虚拟机解释并执行指定的class文件。

java工具的使用格式:java指定的class文件
 

编译过程

  1. 将Java代码编写到扩展名为.java的文件中。有了这个文件后,将其编译成JVM可以识别的文件
  2. 通过javac命令对该java文件进行编译。如果程序没有报错,没有任何提示,会在当前目录下回出现一个.class后缀的文件,该文件称为字节码文件,也是可以执行的java的程序
  3. 字节码文件是一种与平台无关的二进制文件
  4. Javac 文件名.后缀名---产生一个.class文件
  5. 通过java命令对生成的class文件进行运行。

配置Path环境变量

java语言编译的过程中我们面临的问题:

java在编译的时候需要使用到javac编译器,但是这个编译器需要在JDK中运行,所以编译器无法改变位置,那么java的源文件只好放在javac的同一级文件夹下。但是随着源文件的增多,必然会出现移动,删除等误操作,造成对javac编译器组件的误删除。如果将源文件放在一个文件夹下,每次编译又要在DOS模式下javac的后面跟上源文件的绝对路径,非常麻烦.

解决方案:如果可以在任意的路径下都可以找到java的开发工具,那么该问题就解决了。可以重新在任意位置定义一个专门用于存放源代码的文件夹,之后只要在这个文件夹中启动javac就可以了


1.dos窗口敲上javac


我们在随意的一个目录敲javac或者java命令时候,发现dos窗口显示这个不是内部命令,然后我们在上面敲上notepad命令时,打开了一个记事本的程序,但是在当前目录下页没有存在notepad.exe的可执行文件,那么为什么能启动呢?

错误原因:原来在dos窗口上写上一个命令时候,如果在当前目录下找不到指定的可执行文件,那么它会根据path环境变量保存的路径去搜索是否存在这个可执行文件,如果存在则启动该程序,否则就没有这个命令。

 

2.解决方法

(1).进入jdk的安装目录的bin目录。

(2).在dos命令上敲javac(如果出现了下图信息则配置成功)



3.如何配置path环境变量

(1).我们将jdkbin的路径进行复制

(2).在我们电脑----->属性----->高级----->环境变量--------->path这项--->编辑

(3).将bin的路径放置到path的最前边,别忘记加分号.


           4.JAVA_HOME环境的配置

   有时候可能需要更换Jdk的目录,但是经常修改path的值可能会不小心修改其他的系统路径,解决方法:

    (1).创建一个JAVA_HOME的变量。在我们电脑----->属性----->高级----->系统变量--------->新建----->变量值为javac的绝对路径

     

    (2).编辑path路径:%JAVA_HOME%\bin; (注意百分号后面的"\"和语句最后的";"):

   以后需要更换JDK的目录时,只需要更换JAVA_HOME的变量值,更改为新的绝对路径即可

     


1 0
原创粉丝点击