Java三大版本的含义
- JavaSE(Java standard Edition):保准版,定位在个人计算机上的应用,这个版本是Java平台的核心,提供了丰富的API来开发一般个人计算机上的应用。
- JavaEE(Java Enterprise Edition):企业版,定位在服务器端的应用,javaEE是JavaSE的扩展,增加了用为服务器开发的类库。
- JavaME(Java Micro Edition):微型版,定位在消费性电子产品的应用上,不过逐渐被安卓开发替代。
Java的特性和优势
- 跨平台/可移植性:这是Java的核心优势。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。
- 安全性:Java适用于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒、防篡改的系统。
- 面向对象:面向对象是一种程序设计技术,非常适合大型软件的设计和开发。
- 简单性:Java就是c++语法的简化版
- 高性能:通过虚拟机的优化提升了几十倍的运行效率,比如,通过JIT即时编译技术提升运行效率,将一些“热点”字节码编译成本机器码,并将结果缓存起来,在需要的时候重新调用,这样的话,使Java程序的执行效率大大提高。
- 分布式:Java是为Internet的分布式环境设计的,因为它能处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI),使程序能够通过网络调用方法。
- 多线程:多线程的使用可以带来更好的交互响应和实时行为。Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。
- 健壮性:吸收了C/C++语言的优点,但是去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃,即使Java程序也可能有错误,如果出现某种出乎意料之事,程序也不会崩溃,而是把异常抛出,通过异常处理机制加以处理。
Java的运行机制
- 计算机高级语言类型:解释型和编译型,而Java语言是两种类型的结合。
- Java首先利用文本编译器编写Java源程序,源文件的后缀名为“.java”,再利用编译器(javac)将源文件编译成字节码文件,字节码文件的后缀名为“.class”,最后利用虚拟机(解释器,java)解释执行。
JVM、JRE和JDK
- JVM(Java Virtual Machine):就是一个虚拟的用于执行bytecode字节码的“虚拟计算机”,JVM负责将Java字节码解释运行,边解释边运行,这样速度就会收到一定的影响。不同的操作系统有不同的虚拟机,Java虚拟机机制屏蔽了底层运行平台的差别实现了“一次编译,随处运行”,Java虚拟机是实现跨平台的核心机制。
- JRE(Java Runtime Enviroment)包含:Java虚拟机、库函数、运行java应用程序所必须的文件
- JDK(Java Development Kit)包含:JRE、以及增加编译器和调试器等用于程序开发的文件
如果我们开发一个Java程序必须安装JDK,如果只是运行一个Java程序,只需要安装一个JRE就够了(JRE很小)
JDK的下载与安装
下载地址:www.oracle.com/technetwork/java/javase/downloads/index.html
进入JDK的安装目录C:\Program Files\Java\jdk1.8.0_131,可以看到如下的结构:
其中:
- bin目录是存储一些可执行的二进制文件;
- lib存储相关jar包;
- src.zip是JDK相关JAVA类的源代码。
环境变量的配置: 环境变量是操作系统中的一个具有特定名字的对象,它包含了一个或者多个程序所将要使用到的信息。 Path 是一个常见的环境变量, 它告诉操作系统,当要求操作系统当前系统运行一个程序而没有告诉程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应该到哪些目录下寻找。
- 复制java安装的目录,在系统变量处点击新建
- 新建一个 JAVA_HOME 变量(用于说明JDK的安装目录)
- 修改系统变量的Path变量,需要在最前面追加%JAVA_HOME%\bin(JAVA_HOME变量指代java的安装目录,其实这里是把“java安装目录\bin”这个目录放到了Path下面,之所以定义一个JAVA_HOME变量,是为了方便以后其他服务器、软件寻找JAVA_HOME这个路径,所以必须要设置它),并以分号与其他路径分隔,注意所有符号都是英文输入法下的
测试JDK安装成功
在cmd命令行中输入“java -version”(输入一个java,它就会通过Path,找到“java安装目录\bin”目录下的java.exe文件),回车会显示你安装的java的版本号,如果出现“xxx不是内部或外部命令…”说明你的环境变量配置的是有问题的。
第一个java程序
- 打开记事本开发第一个java程序,输入以下代码,保存为“Welcome.java”,注意文件名必须是Welcome,大小写也必须一致
- 编译(编译器创建class字节码文件):打开命令行,进入java文件所在的目录,输入:javac Welcome.java,生成class文件
- 解释并运行,执行“java Welcome”,即运行编译生成的Welcome.class文件,输出执行结果
常见的错误
- 提示“javac不是内部或外部命令…”:Path变量配置错误导致没有找到javac命令
- 文件夹中可以看到“Welcome.java”,但是编译时出现“javac找不到文件…”:可能是操作系统显示设置的问题,隐藏了文件的扩展名
- 编译时出现的语法等错误:编程的问题,根据错误提示,查找错误
小结
- 1、java对大小写敏感,如果出现大小写错误,程序无法运行
- 2、关键字public被称为访问修饰符,用于控制程序的其他部分对这段代码的访问级别
- 3、关键字class的意思是类,java是面向对象语言,所有的代码必须位于类里面
- 4、一个源文件至多只能声明一个public的类, 其他类个数不限 ,如果源文件中包含了一个public类,源文件名必须和其中定义的public的类名相同,且以“.java”为扩展名
- 5、正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,并将字节码文件自动命名为类的名字且以“.class”为扩展名
- 6、main方法是java应用程序的入口方法,它有固定的书写格式:public static void main(String[] args){…}
- 7、java中的每个语句必须以分号结束,回车不是语句的结束标志,所以每一个语句可以跨多行
常见的java开发工具
Notepad++、eclipse、NetBeans…
总结
- 1、java的核心优势:跨平台,跨平台是靠JVM(虚拟机)实现的
- 2、java各版本的含义:
- JavaSE(java standard edition)标准版,定位在个人计算机应用
- JavaEE(java enterprise edition)企业版,定位在服务器端的应用
- JavaME(java micro edition)微型版,定位在消费电子产品的应用
- 3、java程序的开发运行过程为:编写代码、编译、解释运行
- 4、JDK用于开发java程序,JRE是java运行环境,JVM是JRE的子集,JRE是JDK的子集
- 5、JDK配置,需要新建JAVA_HOME环境变量,需要修改Path环境变量
- 6、java是面向对象的语言,所有代码必须位于类里面。main方法是java应用程序的入口方法