分享

第一章 JAVA入门

 I_T_馆 2013-03-13
 

一、什么是Java

       1.是一种计算机变成语言

       2.是一种软件开发平台

       3.是一种软件运行平台

       4.是一种软件部署环境

       5.句法与c++相似,语义与small talk相似

       6.用来开发applets,又用来开发applications

 

二、什么是软件开发,软件开发的步骤

简单的可以理解为:编程的结果是软件或者程序,编程的过程就是软件开发。

软件开发的基本步骤:需求分析、概要设计、详细设计、编码、测试、维护。

三、什么是开发平台

我们把编程的环境和相应的辅助工具,统称为开发环境,开发平台就是用来提供开发环境的。

四、JRE

Java本身提供java软件所需要的运行环境,Java应用可运行在安装了JRE的机器上,Java是一个运行平台。

 

JREJava Runtime EnvironmentJava运行环境

五、什么事部署

简单地讲,部署就是安装,就是把软件放置到相应的地方并且进行相应的配置,让软件能够正常运行起来。

六、Java的版本类型

JavaAPI类库中有一组所谓的核心类(CoreClass,Java.*),该核心之外还有扩充类(Extended Class,javax.*,根据对这两种类的支持程度,进而区分出几种不同的Java版本

 

Java有三个版本:Java标准版(JSE),Java微缩版(JME),Java企业版(JEE

 

七、三个版本之间的关系

 

 

JEE几乎完全包含JSE的功能,然后再JSE的基础上添加了许多新的功能

JME主要是JSE部分功能的子集,然后再加上一部分额外添加的功能

 

八、简单的说,Java具有如下特点:简单的、面向对象的、平台无关的、多线程的、安全的、高效的、健壮的、动态的等特点。

  1. 面向对象:是指以对象为单位,其下包含属性和方法。
  2. 平台无关:其他语言编写的程序面临一个问题:操作系统的变化,处理器升级以及核心系统的变化,导致程序出错或无法运行,而用Java编写的程序不用修改就可以在不同的软硬件平台上运行。java主要靠Java虚拟机(JVM)实现平台无关性。平台无关性的特点:一次编写,到处运行。
  3. 高效性:高级语言程序必须转换为机器语言才能运行,但不同的计算机系统所使用的机器语言是不同的。Java为了实现"一次编译,到处运行"的目标,Java的源程序在编译时,并不直接编译成特定的机器语言,而是编译成与系统无关字节码文件,由Java虚拟机来执行。当JVM解释执行Java程序时,Java实时编译器会将字节码编译成目标平台对应的机器语言来执行。

九、编译运行HelloWorld.java

  1. 编译:创建Java源文件HelloWorld.java,用下列命令行进行编译:

 

Javac HelloWorld.java

 

如果编译器未返回任何提示信息,表示编译成功.生成HelloWorld.class文件,存储在于源文件相同的目录中,除非另有所指.

  1. 运行:为运行HelloWorld文件,你需要Java解释器和位于bin目录下的java程序:

java HelloWorld

 

 

十、Java技术的三大特性

  1. Java虚拟机(JVM

作用:解释执行编译好的Java字节码文件。

 

Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台,因为编译时针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟,并运行于各种现存的计算机系统,也可用硬件来实现。

正式因为JVM虚拟机这个中间层,Java才能够实现平台无关性。虚拟机就好比是一个Java运行平台,所有的java程序都运行在虚拟机上。

 

Java虚拟机JVM,相当于前面学到的Java运行环境,虚拟机的基本功能如下:

  1. 通过类加载器(ClassLoader)寻找和装载class文件
  2. 解释字节码文件,提供class文件的运行环境
  3. 进行运行期间垃圾回收
  4. 提供与硬件交互的平台

 

如下图:

 

 

 

 

  1. 垃圾回收
    1. 什么是垃圾

         在程序运行的过程中,存在被分配了的内存块不再被需要的情况,那么这些内存块对程序来讲就是垃圾。

         产生了垃圾,自然要清理,更为重要的是需要把这些垃圾所占用的内存资源回收回来,再加以利用,从而节省资源,提高系统性能。

  1. 垃圾回收

在许多编程语言中,都是由程序员手动负责释放内存,这样就有一个问题,那就是何时内存满了,应该释放了?Java编程语言解除了程序员释放内存的职责。take提供一种系统线程,来跟踪每一次内存的分配情况。在Java虚拟机的空闲周期,垃圾收集线程并释放那些可被释放的内存。垃圾收集在Java技术程序的生命周期中自动进行,他解除了释放内存的要求,这样能够有效避免内存漏洞和内存泄露

  1. 注意:
    1. Java里面,垃圾回收是一个自动的系统行为,程序员不能控制垃圾回收的功能和行为。比如垃圾回收什么时候开始,什么时候结束,还有到底哪些资源需要回收等,都是程序员不能控制的。
    2. 有一些跟垃圾回收相关的方法,如System.gc(),记住一点,调用这些方法,仅仅是在通知垃圾回收程序,至于垃圾回收程序运不运行,什么时候运行,都是无法控制的。
    3. 程序员可以通过设置对象为null来标示某个对象不再被需要了,这只是表示这个对象可以被回收,并不是马上回收。
  1. 代码安全

第一关、编写的代码首先被编译成class文件,如果代码写的有问题,编译期间就会发现,然后提示有编译错误,无法编译通过。

 

第二关、通过编译关后,在类装载的时候,还会进行类装载检查,把本机上的类和网络资源的泪相分离,再调入累的时候进行检查,因而可以限制任何“特洛伊木马”程序。

 

第三关、类装载后,在运行前,还会进行字节码校验,以判断你的程序是安全的。

 

第四关、如果你的程序在网络上运行,还有沙箱的保护,什么是沙箱呢?就是如果你的程序没有获得授权,只能在沙箱限定的范围内进行,是不能够访问本地资源的,从而保证安全性。

 

十一、构建Java开发环境

  1. 安装JDK

JDK的安装路径:c:\Program Files\Java\jdk1.6.0_10

bin:binary的简写,存放的是Java的各种可执行文件,常用的命令有编译器javac.exe,解释器java.exe

include:需要引入的一些头文件。主要是cc++的,JDK本身是通过cc++实现的。

jrejava运行环境。

lib:是library的缩写,JDK所需要的一些资源文件和资源包。

  1. 配置环境变量

JAVA_HOME:配置到JDK安装路径。注意:变量名必须书写正确,全部大写。

path:提供给操作系统寻找到Java命令工具的路径

CLASSPATH:提供程序运行期间,寻找所需资源的路径。比如:.class文件

 

 

十二、问题

  1. 简述Java从代码到运行的全过程

 

 

屏幕剪辑的捕获时间: 2013-3-13 11:47

 

 

1:编写代码

首先把我们想要计算机做的事情,通过 Java 表达出来,写成 Java 文件,这个过程就是编写代码的过程。

2:编译

写完 Java 代码后,机器并不认识我们写的 Java 代码,需要进行编译成为字节码,编译后的文件叫做 class 文件。

3:类装载 ClassLoader

类装载的功能是为执行程序寻找和装载所需要的类。

ClassLoader能够加强代码的安全性,主要方式是:把本机上的类和网络资源类相分离,在调入类的时候进行检查,因而可以限制任何“特洛伊木马”的应用。

4:字节码(byte-code)校验

功能是对 class 文件的代码进行校验,保证代码的安全性。

Java软件代码在实际运行之前要经过几次测试。

JVM 将代码输入一个字节码校验器以测试代码段格式并进行规则检查--检查伪造指针、违反对象访问权限或试图改变对象类型的非法代码。

注意----所有源于网络的类文件都要经过字节码校验器字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM 规范并且不破坏系统的完整性。如果校验器在完成四遍校验后未返回出错信息,则下列各点可被保证:

 

- 类符合JVM规范的类文件格式

- 无访问限制异常

- 代码未引起操作数栈上溢或下溢

- 所有操作代码的参数类型将总是正确的

- 无非法数据转换发生,如将整数转换为对象引用

- 对象域访问是合法的

5:解释(Interpreter

可是机器也不能认识 class 文件,还需要被解释器进行解释,机器才能最终理解我们所要表达的东西。

6:运行

最后由运行环境中的 Runtime 对代码进行运行,真正实现我们想要机器完成的工作。

7:说明

由上面的讲述,大家看到,Java 通过一个编译阶段和一个运行阶段,来让机器最终理解我们想要它完成的工作,并按照我们的要求进行运行。

在这两个阶段中,需要我们去完成的就是编译阶段的工作,也就是说:我们需要把我们想要机器完成的工作用 Java 语言表达出来,写成 Java 源文件,然后把源文件进行编译,形成 class 文件,最后就可以在 Java 运行环境中运行了。运行阶段的工作由 Java 平台自身提供,我们不需要做什么工作。

  1. 简述虚拟机的工作机制

 

作用:解释执行编译好的Java字节码文件。

 

Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台,因为编译时针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟,并运行于各种现存的计算机系统,也可用硬件来实现。

正式因为JVM虚拟机这个中间层,Java才能够实现平台无关性。虚拟机就好比是一个Java运行平台,所有的java程序都运行在虚拟机上。

 

Java虚拟机JVM,相当于前面学到的Java运行环境,虚拟机的基本功能如下:

  1. 通过类加载器(ClassLoader)寻找和装载class文件
  2. 解释字节码文件,提供class文件的运行环境
  3. 进行运行期间垃圾回收
  4. 提供与硬件交互的平台

 

  1. 简述垃圾回收机制

 

          在许多编程语言中,都是由程序员手动负责释放内存,这样就有一个问题,那就是何时内存满了,应该释放了?Java编程语言解除了程序员释放内存的职责。take提供一种系统线程,来跟踪每一次内存的分配情况。在Java虚拟机的空闲周期,垃圾收集线程并释放那些可被释放的内存。垃圾收集在Java技术程序的生命周期中自动进行,他解除了释放内存的要求,这样能够有效避免内存漏洞和内存泄露

 

  1. 简述Java的安全机制

 

第一关、编写的代码首先被编译成class文件,如果代码写的有问题,编译期间就会发现,然后提示有编译错误,无法编译通过。

 

第二关、通过编译关后,在类装载的时候,还会进行类装载检查,把本机上的类和网络资源的泪相分离,再调入累的时候进行检查,因而可以限制任何“特洛伊木马”程序。

 

第三关、类装载后,在运行前,还会进行字节码校验,以判断你的程序是安全的。

 

第四关、如果你的程序在网络上运行,还有沙箱的保护,什么是沙箱呢?就是如果你的程序没有获得授权,只能在沙箱限定的范围内进行,是不能够访问本地资源的,从而保证安全性。

 

  1. 简述pathclasspathJAVA_HOME各自的含义

 

JAVA_HOME:配置到JDK安装路径。注意:变量名必须书写正确,全部大写。

path:提供给操作系统寻找到Java命令工具的路径

CLASSPATH:提供程序运行期间,寻找所需资源的路径。比如:.class文件

 

  1. 简述软件开发基本步骤

需求分析、概要设计、详细设计、编码、测试、维护

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多