Java学习

来源:互联网 发布:mc9s12xs128单片机实验 编辑:程序博客网 时间:2024/06/08 12:08

第一天初始Java

本章概述

Java历史和三大版本
Java特点
Java跨平台原理( 虚拟机 字节码文件)
Java开发过程 编译 解释
环境变量的配置
Java注释类型
反编译工具

Java历史

· 1991年sun公司的詹姆斯高斯林等人开发名称为 Oak 的语言;

· 1994年将Oak语言更名为Java

·1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生

· 2004年,J2SE 5.0 (1.5.0)  Tiger老虎.为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0

·2006年,J2SE 6.0 (1.6.0)  Mustang野马.此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为  Java EE, J2SE更名     为Java SE,J2ME更名为Java ME

·2009年4月20日甲骨文收购Sun公司,交易价格达74亿美元

Java三大版本

·J2SE Java的标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程
·J2ME (Java2 Micro Edition) 主要应用于嵌入式系统开发,如手机和PDA的编程
·J2EE 企业版本(Java2 Enterprise Edition)定义在服务器端Java2的企业版,主要用于分布式网络程序的开发,如电子商务网站
·2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名   为Java EE, J2SE更名为Java SE,J2ME更名为Java ME

Java特点

Java是跨平台的
Java是简单的
Java是安全的
Java是完全面向对象的
Java是健壮的

Java跨平台原理

Java跨平台原理是通过Java虚拟机(jvm)实现的。

Java运行过程分为两步:先编译在执行

        1. 先将Java源程序(*.java)编译成字节码文件(*.class)(字节码文件时二进制文件)。

        2.再通过不同的虚拟机(jvm)将字节码文件解释成对应的机器语言并执行

注:C语言与Java语言的差异

第一,C语言是编译执行的编译器与平台相关编译生成的可执行文件与平台相关;第二,Java是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器.

Java是一次编译,到处运行;c是多次编译,到处运行。

java运行速度没有c快

  Java需要将class文件解释成机器码再执行
 C把源程序由特定平台的编译器一次性编译为平台相关的机器码


JDK、JRE、JVM的区别联系

Java Development ToolKit(JDK),即Java开发工具包,它除了包括JRE和JVM外,还包括java(用于执行.class文件)、javac(用于将.java文件编译成.class文件)等工具,这些工具能够很好地帮助我们进行Java开发

       JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre

Java Runtime Environment(JRE)

  是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
java virtual machine(JVM)
  就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。


环境变量的配置


·Java_HOME:C:\Program Files\Java\jdk1.6.0_14
·path(执行dos命令,系统会在path指定的路径中寻找该命令对应的可执行文件)
将  “%Java_HOME%\bin” 增加到path中;多个目录用分号隔开。
·classpath
JDK5.0以上版本,可以不对其进行配置!


注释类型

·作用:注释就是程序员为读者作的说明,是提高程序可读性的一种手段

1.单行注释 

//   注释内容从//到本行结尾

2.多行注释

/*

多行注释不能嵌套

*/

3.文档注释

/**

*/

·注意
注释不会出现在字节码文件中。
即Java编译器编译时会
跳过注释语句


反编译工具


编译
    源代码----->.class文件
反编译
   . class文件---->源代码
反编译软件
     jd-gui.exe
*因为编译的时候不会对注释进行处理,所以反编译时不可能得到注释