001.大数据开发Hadoop工程师-第一课 Java基本知识和JDK的安装配置

Java概述

Java的版本

Java为消费类智能电子产品而设计,但智能家电产品并没有像最初想象的那样拥有大的发展。跨平台是Java语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业的“第一大语言”,是计算机界的“英语”。

 

JavaSE(J2SE)(Java2 Platform Standard Edition)(Java平台标准版)

标准版,定位在个人计算机上的应用。这个版本是Java平台的核心,主要用于桌面应用开发,同时也是Java的基础,它包含Java语言基础、I/O(输出输出)操作、网络通信、多线程等技术。

 

JavaEE(J2EE)(Java2 Platform Enterprise Edition)(Java平台企业版)

企业版,定位在服务器端的应用。JavaEE是JavaSE的扩展,增加了用于服务器开发的类库,它包含JDBC(Java 数据库连接),JSP&Servlet,SSH(Structs + Spring + Hibernate),SSM(Spring +SpringMVC + MyBatis)等技术。

 

JavaME(J2ME)(Java2 Platform Micro Edition)(Java平台微型版)

微型版,定位在机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。(很少使用)

 

JDK和JRE的区别

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。

Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

JDKã€JREã€JVM三者的区别与è”ç³» - 以德糊人 - ——挨踢民工 Playkid——

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

 

怎么安装JDK

–Windows系统下的安装:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

–Linux下的安装

  • file /sbin/init ——看清楚你的系统到底是32位还是64位
  • java –version,看看你的系统是否已经安装了OpenJDK
  • sudo apt-get purge openjdk-\*——如果安装了,一定要删除,你需要的是Oracle的JDK
  • 更详细的安装步骤在这里: http://www.wikihow.com/Install-Oracle-Java-JDK-on-Ubuntu-Linux

–下载相应的安装包,分清楚32位及64位的区别
–如果安装错了,比如没有检查是否是OpenJDK,或者32位的机器安装了64位的JDK,以后会有大麻烦的

 

JDK的配置

–JDK的可执行文件目录一定要放到PATH环境变量中
–添加JAVA_HOME环境变量,并指向JDK的安装目录
–测试你的JDK安装是否成功:

  • Java –version
  • javac –version
  • 两个命令都应该显示你安装的JDK的版本号

 

Java程序的结构

第一个Java程序

–建立以下内容的文本文件:

public class Test {
  public static void main(String[] args) {
    System.out.println(“Hello world!”);
  }
}

–将以上内容保存为Test.java文件,注意大小写!
–运行javac Test.java
–查看一下当前目录下,是否有一个Test.class文件?如果是这样,说明编译成功了,否则的话,检查输入的内容,包括拼写错误,尤其是大小写!
–运行java –cp . Test
–是否输出“Hello world!”了?

 

Java程序的结构

  • 首先,每个.java文件中,可以包含多个类,就是有class修饰的部分,但是每个class后面的名称必须都不相同
  • 其次,每个.java文件中,只能有一个类的class前面允许有public修饰字
  • 通常,我们只会在一个.java文件中定义一个public的class
  • 每个.java文件的名称必须和其中的public的类的名称完全一致,包括大小写
  • 假设你的java源文件是从src的目录开始的,那么刚才创建的Test.java就必须放在src目录下
  • Java源文件包含package信息,例如com.dataguru.data,等等,来区别不同的使用目的等,这些源文件要放在相应的目录下,如Person.java使用了package com.dataguru.data,那么Person.java应该放在src/com/dataguru/data目录下
  • Javac生成的.class文件也会遵循类似的目录结构和命名方式,所以这一点一定要注意

 

Java程序打包

前面说了Java程序的结构,这么多源代码文件,编译之后会生成更多的.class文件,不好管理怎么办?

-jar工具就是用来给我们的程序打包的,打包之后会生成一个.jar文件,这个文件跟zip文件的结构是一样的,你可以用7zip或者WinRAR之类的工具打开,这样就方便管理了

 

现在来试一下给我们自己刚才生成的Test.class文件打包:

–jar –cfv test.jar Test.class
–会有类似的输出:

  • 已添加清单
  • 正在添加: Test.class(输入 = 414) (输出 = 287)(压缩了 30%)

–如果有很多文件打包的话,你能够把这些文件都打包到一个jar文件中,而且jar文件的体积比原来这些文件的要小
–现在删除Test.class文件,尝试一下运行刚才的”java –cp . Test.class”
–会出现这个错误:错误: 找不到或无法加载主类 Test.class

 

Java的CLASSPATH

出现上面的错误,并非是因为我们在编译打包的过程中犯了什么错误:

–Java程序无论是从jar包加载还是从.class文件加载,都有一个classpath的概念
–Classpath类似于我们的PATH,在加载一个可执行文件的时候,操作系统依赖于PATH去PATH里面所有的路径查找可执行文件,并尝试加载,如果PATH中所有的路径都不包含用户指定的可执行文件,那么操作系统会报错,无法完成任务。
–同样的,java程序在尝试加载java的类的时候通过CLASSPATH,也就是java –cp中“-cp”后面的路径所指定的地方去查找这些类。
–与PATH不同的,是PATH只能包含目录,而CLASSPATH除了目录之外,还可以包含jar包
–所以现在尝试“java –cp test.jar Test”,现在是否成功了?

 

记住Java程序中很容易犯的第一个错误:java.lang.NoClassDefFoundError

–初学者经常会遇到这个错误,而遇到这个错误,99.9%的情况,是因为你在CLASSPATH中忘掉了需要的jar包
–所以,遇到这个错误,回头去找齐你所有的jar包,然后再到java社区去问问题

转载于:https://www.cnblogs.com/lutao2018/p/10739409.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值