android开发教程(二)——环境搭建之java-jdk
目前java有两种版本:因为sun java已经被oracle收购了,所以一般用的版本是oracle的sun版本。另外一种是openjdk。java分为两个部分:java运行库(jre):适用于您的计算机的 Java 软件,即 Java 运行时环境,也称为 Java 运行时、运行时环境、运行时、JRE、Java 虚拟机、虚拟机、Java VM、JVM、VM、Java 插件、Ja
java jdk环境搭建主要有两步:
- 下载、安装java jdk
- 设置环境变量
java介绍:
目前java有两种版本:因为sun java已经被oracle收购了,所以一般用的版本是oracle的sun版本。另外一种是openjdk。
java分为两个部分:
- java运行库(jre):适用于您的计算机的 Java 软件,即 Java 运行时环境,也称为 Java 运行时、运行时环境、运行时、JRE、Java 虚拟机、虚拟机、Java VM、JVM、VM、Java 插件、Java 附加程序或 Java 下载
下载地址:
http://www.java.com/zh_CN/download/
- java开发库(jdk):包括java的编译工具、打包工具等,还有jre
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
你可以在上面地址中看到许多java种版本,例如:javase、javaee、javame等,这些只是用于的范围不同。
在每个类下分jre和jdk两部分。
下面对java主要工具介绍:
- jre工具:
- java:java程序解析、运行工具
- keytool:签名产生工具
- servertool:
- jdk中的工具:
- javac:javac编译工具
- javadoc:java文档编译工具
- javah:c接口生成工具。
- javap:显示中间代码中的信息。包括:包、反汇编、系统信息等。
- jar:java打包工具
- jarsigner:java签名工具,用keytool工具产生签名
- jconsole:java监控和管理控制台
- jdb:java调试工具
- idlj:idl接口编译器
安装、设置:
ubuntu操作系统:
ubuntu下默认的是用openjdk:
我的ubuntu版本:
k@k-C410:/usr/lib/jvm/default-java$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
k@k-C410:/usr/lib/jvm/default-java$ uname -a
Linux k-C410 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
安装:
k@k-C410:/$ sudo apt-get install default-jdk
它会把openjdk安装到下面目录:
k@k-C410:/usr/lib/jvm/default-java$ ls
ASSEMBLY_EXCEPTION docs jre man THIRD_PARTY_README
bin include lib src.zip
你可以在bin目录下看到所有jdk的工具:
k@k-C410:/usr/lib/jvm/default-java/bin$ ls
appletviewer javac jdb jstack policytool tnameserv
apt javadoc jhat jstat rmic unpack200
extcheck javah jinfo jstatd rmid wsgen
idlj javap jmap keytool rmiregistry wsimport
jar java-rmi.cgi jps native2ascii schemagen xjc
jarsigner jcmd jrunscript orbd serialver
java jconsole jsadebugd pack200 servertool
在jre目录下的bin目录下看到jre的工具:
k@k-C410:/usr/lib/jvm/default-java/jre/bin$ ls
java orbd policytool rmiregistry tnameserv
keytool pack200 rmid servertool unpack200
以上是默认的安装路径,当然,用户也可以安装到其它地方。这样的话,就需要一个环境变量来找到jdk的安装目录。这是一个约定,大家都会在这个环境变量找到jdk的安装目录。再根据这个安装目录找到相应的工具程序。
设置环境变量:
export JAVA_HOME=/usr/lib/jvm/default-java
export PATH=$PATH:$JAVA_HOME/bin
如果你需要下次系统启动时就有,可以把这个放到 ~/.bashrc 文件中。这样,当前用户登录时,就会设置JAVA_HOME环境变量。
如果你需要用在计算机上的所有用户中,那需要把这个环境变量加到系统的环境变量设置文件中:/etc/profile
因为这个java是安装的,默认会把java、javac、javadoc、javah、javap安装到/usr/bin目录下,所以PATH变量不是强制要求设置。但如果你是下载java jdk后解压到其它目录。那就需要设备环境变量PATH。
安装完成后,可查看版本:
k@k-C410:/usr/lib/jvm/default-java$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
以上是openjdk,下面讲sun jdk:
从oracle下载jdk:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
解压到:/data/jdk1.7.0_45k@k-C410:/data/jdk1.7.0_45$ ls
bin lib src.zip
COPYRIGHT LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt
db man THIRDPARTYLICENSEREADME.txt
include README.html
jre release
设置环境变量:
export JAVA_HOME=/data/jdk1.7.0_45
export PATH=$PATH:$JAVA_HOME/bink@k-C410:/$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
windows下安装java jdk:
我的windows版本是windows 7旗舰版本:
- 从oracle下载jdk:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装到:
C:\Program Files\Java\jdk1.7.0
在bin目录下是jdk工具。
在jre\bin目录下是jre工具。
- 设置环境变量:
我的电脑->系统属性->高级->环境变量->administrator的用户变量中->添加:
JAVA_HOME=C:\Program Files\Java\jdk1.7.0
PATH=%PATH%;%JAVA_HOME%\binadministrator的用户变量是指这些用户变量只应用在administrator账户中。如果要用在计算机的所有账户中,就需要在下面的系统变量中添加环境变量。
- 现在你可以查看下java的版本号,以检查是否设置成功:
打开命令行控制台:
在控制台中输入:
如果你是新手,看到下面部分可能会头晕。那你继续看后面的文章,后面文章用会有下面命名的示例,然后你再返回来看这时就明白了。
java工具详细介绍:
javac:java编译工具,从java源码产生中间代码。
k@k-C410:/data/test$ javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名
javap:java中间代码查看工具。可以反汇编中间代码,显示中间代码的类信息等。
k@k-C410:~$ javap
Usage: javap <options> <classes>
where possible options include:
-help --help -? Print this usage message
-version Version information
-v -verbose Print additional information
-l Print line number and local variable tables
-public Show only public classes and members
-protected Show protected/public classes and members
-package Show package/protected/public classes
and members (default)
-p -private Show all classes and members
-c Disassemble the code
-s Print internal type signatures
-sysinfo Show system info (path, size, date, MD5 hash)
of class being processed
-constants Show static final constants
-classpath <path> Specify where to find user class files
-bootclasspath <path> Override location of bootstrap class files
java:java执行工具
k@k-C410:/data/test$ java
用法: java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
其中选项包括:
-d32 使用 32 位数据模型 (如果可用)
-d64 使用 64 位数据模型 (如果可用)
-server 选择 "server" VM
-zero 选择 "zero" VM
-jamvm 选择 "jamvm" VM
-avian 选择 "avian" VM
默认 VM 是 server.
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
用 : 分隔的目录, JAR 档案
和 ZIP 档案列表, 用于搜索类文件。
-D<name>=<value>
设置系统属性
-verbose[:class|gc|jni]
启用详细输出
-version 输出产品版本并退出
-version:<value>
需要指定的版本才能运行
-showversion 输出产品版本并继续
-jre-restrict-search | -no-jre-restrict-search
在版本搜索中包括/排除用户专用 JRE
-? -help 输出此帮助消息
-X 输出非标准选项的帮助
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
按指定的粒度启用断言
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
禁用具有指定粒度的断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言
-agentlib:<libname>[=<options>]
加载本机代理库 <libname>, 例如 -agentlib:hprof
另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
按完整路径名加载本机代理库
-javaagent:<jarpath>[=<options>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-splash:<imagepath>
使用指定的图像显示启动屏幕
有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
javah:c接口唾成工具,用法详见:http://blog.csdn.net/jiuyueguang/article/details/9404237
k@k-C410:~$ javah
用法:
javah [options] <classes>
其中, [options] 包括:
-o <file> 输出文件 (只能使用 -d 或 -o 之一)
-d <dir> 输出目录
-v -verbose 启用详细输出
-h --help -? 输出此消息
-version 输出版本信息
-jni 生成 JNI 样式的标头文件 (默认值)
-force 始终写入输出文件
-classpath <path> 从中加载类的路径
-bootclasspath <path> 从中加载引导类的路径
<classes> 是使用其全限定名称指定的
(例如, java.lang.Object)。
jar:打包工具
k@k-C410:~$ jar
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项包括:
-c 创建新的归档文件
-t 列出归档目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
-f 指定归档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储; 不使用情况任何 ZIP 压缩
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含其中的文件
如果有任何目录文件, 则对其进行递归处理。
清单文件名, 归档文件名和入口点名称的指定顺序
与 'm', 'f' 和 'e' 标记的指定顺序相同。
示例 1: 将两个类文件归档到一个名为 classes.jar 的归档文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2: 使用现有的清单文件 'mymanifest' 并
将 foo/ 目录中的所有文件归档到 'classes.jar' 中:
jar cvfm classes.jar mymanifest -C foo/。
参考:
javap的使用
更多推荐
所有评论(0)