java 指南_Java入门指南

[TOC]

1. java程序运行过程

程序员编写的java源代码,经过编译后生成与平台无关的.class字节码文件

JVM负责执行编译后的.class字节码文件,JVM实现了java跨平台的特性

image

2. 主要概念

JRE: Java运行时环境(Java Runtime Environment)

JVM: Java虚拟机(Java Virtual Machine)

负责执行字节码文件,为编译器提供相同的编程接口

JDK: Java标准版开发包(Java SE Development Kit)

一套用于开发Java程序的开发包,提供编译、运行Java程序的各种工具和资源

Java的三个版本:

Java SE: 整个Java技术的核心和基础

Java ME: 主要用于控制移动设备和信息家电等有限存储的设备

Java EE: 提供了企业应用的完整解决方案

3. 安装JDK

3.1 JDK下载

访问ORACLE官方网站下载JDK,目前最新版为JDK10

image

image

根据自己使用的操作系统,下载相应的JDK包即可。

3.2 Windows下安装JDK

下载Windows系统的JDK安装文件后,直接执行选择自己的安装路径默认安装即可。这里安装路径选为: D:\Programs\work\JDK10,这里安装路径一般不应该包含中文字符及空格,容易出一些奇怪的问题。

安装完成后需要配置环境变量:

右键我的电脑->属性->高级系统设置->环境变量

新建JAVA_HOME的环境变量,变量值设置为JDK的安装路径D:\Programs\work\JDK10

编辑系统PATH环境变量,追加变量%JAVA_HOMT%\bin

打开Windows cmd命令行,输入java -version及echo %JAVA_HOME%检查JDK安装及环境变量设置情况,如图所示

image

3.3 Linux下安装JDK

mkdir /usr/local/jdk10; cd /usr/local/jdk10

# 上传下载的jdk-10.0.2_linux-x64_bin.tar.gz文件到当前目录

tar -zxvf jdk-10.0.2_linux-x64_bin.tar.gz

rm jdk-10.0.2_linux-x64_bin.tar.gz

mv jdk-10.0.2/* ./

rmdir jdk-10.0.2

# 新建jdk10用户,并设置环境变量

useradd jdk10

cd ~jdk10; vim .bash_profile

#.bash_profile文件中追加两行

export JAVA_HOME=/usr/local/JDK10

export PATH=$JAVA_HOME/bin:$PATH

su - jdk10

java -version #检查JDK安装情况

3.4 JDK各目录详解

bin: 存放了JDK的各种工具命令,如javac、java等命令

conf: 存放了JDK的相关配置文件

include: 存放一些平台特定的头文件

jmods: 存放了JDK的各种模块

legal: 包含JDK各模块的授权文档

lib: JDK工具的一些补充jar包等

4. 编译并运行java程序

4.1 编写HelloWold程序

// D:\windows库\桌面\temp\javaStudy\HelloWorld.java

public class HelloWorld{

public static void main(String[] args){

System.out.println("Hello World!");

}

}

4.2 编译java HelloWorld程序

cd /d D:\windows库\桌面\temp\javaStudy

javac -d . HelloWorld.java

4.2.1 javac命令的基本用法

javac

-d 指定类文件的生成路径

-g 生成所有调试信息

--release 7 指定使用java7的语法进行编译

4.3 运行java HelloWorld程序

cd /d D:\windows库\桌面\temp\javaStudy

java HelloWorld

4.3.1 java命令的基本用法

执行类: java [options] [args...]

-cp或-classpath 目录和 zip/jar 文件的类搜索路径, 若没有配置-cp参数,java默认会在当前目录搜索类,若配置了-cp参数,java 只会在指定的路径下搜索需执行的类。

执行jar包: java [options] -jar [args...]

4.3.2 包含外部类依赖java程序的执行

需特别注意:

编译主类前需先编译依赖java程序为类

编译主类时需添加依赖类包所在路径添加到classpath

运行主类时需添加依赖类包及主类所在路径添加到classpath

手动编译并运行含依赖类java程序示例:

文件1: D:\windows库\桌面\temp\javaStudy\depend\DependHello.java

package work.lody;

public class DependHello{

public void depend(){

System.out.println("work.lody.DependHello: goooooooooood");

}

}

文件2: D:\windows库\桌面\temp\javaStudy\DependTest.java

import work.lody.DependHello;

public class DependTest{

public static void main(String[] args){

System.out.println("sill in DependTest..");

DependHello dh = new DependHello();

dh.depend();

}

}

针对这两个java源文件,手动编译执行过程如下:

cd /d D:\windows库\桌面\temp\javaStudy\depend

javac -d . DependHello.java

cd ..

javac -cp D:\windows库\桌面\temp\javaStudy\depend -d . DependTest.java

java -cp D:\windows库\桌面\temp\javaStudy\depend;. DependTest

5. java程序打包发布方式

5.1 jar,war,ear

java程序一般打包成jar(java archive file)后进行发布,jar文件有以下特点:

格式与zip压缩包格式完全相同

包含名为META-INF/MANIFEST.MF的清单文件

添加jar文件到CLASSPATH环境中后,java虚拟机会在内存中解压这个jar包,并将当成一个路径进行处理。即java可运行或导入jar包里的类。

另外,java web项目一般打包成war(web archive fiel)包,企业应用项目一般打包成ear(enterprise archive file)包。war包、ear包格式及约定与jar完全相同。

5.2 清单文件MANIFEST.MF

清单文件由创建jar包时的系统自动创建,其格式为:

key:value

清单文件有以下几点要求:

每行定义一个key-value对,key前不能有空格

key后必须为英文:+一个空格

文件开头不能存在空行

文件必须以空行作为结束

特别的包含key为Main-Class,且value为类的的jar包为可执行jar包。可直接通过java -jar test.jar [args]执行jar包。

若需要执行不带Main-Class的jar包,可通过java命令将jar添加到CLASSPATH路径,并指定主类执行:

java -cp test.jar test.Test [args]

5.3 jar常用命令简介

将dist路径下全部内容生成一个jar: jar cf test.jar -C dist/ .

将test目录下所有内容生成一个可执行jar: jar cvfe test.jar test.Test test

查看jar包内容: jar tf test.jar

将jar解压缩到当前目录: jar xf test.jar

更新jar文件: jar uf test.jar Hello.class

你可能感兴趣的:(java,指南)