Jdk新版本下载
一、JDK的下载
1. JDK的官网
http://www.oracle.com/technetwork/java/javase/downloads/index.html中的JDK,选择自己需要的版本,点击Download
2.同意许可,进行下载
3.以Windows为例,下载之后得到一个可运行的exe文件,直接点击运行
二、linux JDK的安装
1、 登录Linux,切换到root用户
su root 获取root用户权限,当前工作目录不变(需要root密码)
或者
sudo -i 不需要root密码直接切换成root(需要当前用户密码)
2、在usr目录下建立java安装目录
cd /usr
mkdir java
3、将jdk-8u144-linux-x64.tar.gz拷贝到java目录下
cp /mnt/hgfs/linux/jdk-8u144-linux-x64.tar.gz /usr/java/
4、解压jdk到当前目录,得到文件夹 jdk1.8.0_*
(注意:下载不同版本的JDK目录名不同!)
tar -zxvf jdk-8u144-linux-x64.tar.gz
5、安装完毕为他建立一个链接以节省目录长度
ln -s /usr/java/jdk1.8.0_144/ /usr/jdk
6、编辑配置文件,配置环境变量
vim /etc/profile
在文本的末尾添加如下内容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
-----------------------------------------------------------
export JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
7、重启机器或执行命令 :source /etc/profile
sudo shutdown -r now
8、查看安装情况
java –version java
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)
ps:可能出现的错误信息:
bash: ./java: cannot execute binary file
出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk,
1、查看jdk版本和Linux版本位数是否一致。
2、查看你安装的Ubuntu是32位还是64位系统:
sudo uname -m
附:i686 //表示是32位
x86_64 // 表示是64位
三、windows JDK的部署
双击jdk-8u144-windows-x64.exe进行安装
右击“计算机”->“属性”,
然后选择“高级系统设置”的"高级"标签页,之后选择“环境变量”,XP系统则是"我的电脑"->“属性”,则可以直接选择“高级"标签页,之后选择“环境变量”
在弹出的窗口分别新建三个系统变量:
JAVA_HOME
E:\Program Files\Java\jdk(这是你在安装的时候,选择的JDK安装路径)
CLASSPATH
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(如果你的JRE选择了其他的路径,第一个分号之后应该是..\Jre\Bin的路径)
弄好之后,在各个界面点击”确定“,再打开”命令提示符“,或者在运行窗口,输入”cmd“,打开了DOS界面,在里面输入java与javac能够输出一堆调试信息则证明你的机器上已经有JAVA的运行环境了,JDK的下载、安装与部署正式完成。
JDK老版本下载
下载的时候需要注册一个Oracle账号,下载地址:Java Archive | Oracle。
JDK的介绍
JDK是Java Development Kit 的缩写,是Sun Microsystems针对Java开发员的产品。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。想要开发java产品,需先安装JDK。
JDK有三个版本,分别是:
(1)J2SE: 标准版,主要用于开发桌面应用程序。
(2)J2EE: 企业版,主要用于开发企业及应用程序,如电子商务网站,ERP系统等。
(3)J2ME: 微缩版,主要用于开发移动设备、嵌入式设备上的Java应用程序。
JDK安装后各个文件夹包含的具体内容为:
此时默认的目录是没有上图中的src文件夹的,该文件夹是我把src.zip解压生成的,这个压缩包比较特殊,其实里面的内容就是java基本类库的源代码,全部都是.java文件,大家没事可以看看其中的源代码,了解下java类的设计
如下文
-bin目录: JDK开发工具的可执行文件
-lib目录: 开发工具使用的归档包文件
-jre: Java 运行时环境的根目录,包含Java虚拟机,运行时的类包和Java应用启动器,
但不包含开发环境中的开发工具
-demo: 含有源代码的程序示例
-include: 包含C语言头文件,支持Java本地接口与Java虚拟机调试程序接口的本地编程技术
假定 JDK 软件安装在 c:\jdk1.2
目录中,下面列出的是那些关键目录及它们之所以重要的原因:
c:\jdk1.2
JDK 软件安装的根目录。包含版权、许可及 README 文件。还包括:
- src.jar -- 构成 Java 平台核心 API 的所有类的源文件的归档。
c:\jdk1.2\bin
Java 开发工具包 (JDK) 中所包含的开发工具的可执行文件。PATH 环境变量应该包含一个指示此目录的项。有关工具的详细信息,参见 JDK 工具。
c:\jdk1.2\lib
开发工具使用的文件。这些文件包括 tools.jar
,它包含支持 JDK 的工具和实用程序的非核心类。还包括 dt.jar
,它是 BeanInfo 文件的 DesignTime 归档,BeanInfo 文件用来告诉交互开发环境 (IDE) 如何显示 Java 组件以及如何让开发人员根据应用程序自定义它们。
c:\jdk1.2\jre
JDK 开发工具所使用的 Java 运行时环境的根目录。运行时环境是 Java 1.2 平台的实现。除了文档外,它与可部署的 JRE 完全相同。
c:\jdk1.2\jre\bin
Java 平台使用的工具和库的可执行文件及 DLL。可执行文件与 /jdk1.2/bin
中的文件相同。java 启动器工具担当应用程序启动器的角色,它替代了与 1.1 版的 JDK 软件一同发行的旧 jre 工具。不必将该目录放在 PATH 环境变量中。
c:\jdk1.2\jre\bin\classic
包含虚拟机使用的 Windows DLL 文件。经典虚拟机是 Java 虚拟机的语言解释器版本。当新的虚拟机可用时,它们的 DLL 将被安装在 jre/bin 的某个新子目录中。
c:\jdk1.2\jre\lib
Java 运行时环境使用的代码库、属性设置和资源文件。包括:
rt.jar
-- 类(构成 Java 平台核心 API 的 RunTime 类)。- i18n.jar -- 字符转换类及其它与国际化和本地化有关的类。
除(下面将要阐述的) ext
子目录以外,还有几个资源子目录不在此处说明。
c:\jdk1.2\jre\lib\ext
Java 平台扩展的缺省安装目录。例如,这是安装时 JavaHelp jar 文件的安装目录。包括:
- iiimp.jar -- 实现 Internet-Intranet 输入方法协议的类,供从使用国际字符集的设备上接收输入的应用程序来使用。
c:\jdk1.2\jre\lib\security
包含用于安全管理的文件。这些文件包括安全策略 (java.policy
) 和安全属性 (java.security
) 文件。
JDK
Jdk Java Development Kit,java的开发和运行环境,java的开发工具和jre。如果你需要编写java程序,需要安装JDK。
JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码 javac Text.java —> Text.class
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具
常用的包:
java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。
java.io: 这里面是所有输入输出有关的类,比如文件操作等。
java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用
java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
javax.servlet:这个是JSP,Servlet等使用到的类。
最常用基本工具:
a. Javac: Java源程序编译器,将Java源代码转换成字节码。
b. Java: Java解释器,直接从字节码文件,又称为类文件.执行Java应用程序的字节代码。
c. Appletviewer.exe Java applet浏览器。appletviewer命令可在脱离万维网浏览器环境的情况下运行applet
d. jar: java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。
e. Javadoc: Java API文档生成器从Java源程序代码注释中提取文档,生成API文档HTML页。
f. jdb: Java调试器(debugger),可以逐行执行程序.设置断点和检查变Md
JRE:
Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。如果你需要运行java程序,只需安装JRE就可以了。
JVM虚拟机:
用Java编写的程序经过编译器编译成字节码文件,这个字节码文件不是针对具体平台的,而是针对抽象的Java虚拟机的,在Java虚拟机上运行,而在不同的平台上会安装不同的Java虚拟机,这些不同的Java虚拟机屏蔽了各个不同平台的差异,从而使编译过的Java程序具有平台无关性,即Java虚拟机在执行字节码时,把字节码解析成具体平台上的机器指令执行.
配置环境变量:
让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
1):永久配置方式:JAVA_HOME = %安装路径%\Java\jdk
Path = %JAVA_HOME%\bin
2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置:
1):永久配置方式:classpath=.;c:\;e:\
2):临时配置方式:set classpath=.;c:\;e:\
注意:在定义classpath环境变量时,需要注意的情况
如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:
1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。
一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
javac命令和java命令做什么事情呢?
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数
java概述:
1991年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;
1994年将Oak语言更名为Java;
Java的三种技术架构:
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
API:
API:(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
Java的特点:
Java语言是面向对象的,面向对象编程语言以对象为中心,以消息为驱动,即程序=对象+消息;而面向过程编程语言则以过程为中心,以算法为驱动,即程序=算法+数据。
Java语言编写的程序具有平台无关性,即“一次编译,处处运行”。
Java语言是健壮的,Java是强类型的语言,它丢弃了指针,提供了垃圾回收机制和异常处理机制。
Java 的特性和优势:简单性、面向对象、可移植性(write once, run anywhere)、高性能、分布式、动态性、多线程、安全性、健壮性。
注释
符号 /* */ 指示中间的语句是该程序中的注释。多行注释以 /* 开始,以 */ 结束。
单行注释以 // 开始,以行末结束
Java文档注释使用/** */
注释的作用
A:解释说明程序,提高了代码的阅读性。
B:可以帮助我们调试程序。