02、入门环境搭建

2.1、Java发展简史

1995-05-23	Java语言诞生
1996-01		JDK1.0正式发布
1997-02		JDK1.1正式发布
1998-12		JDK1.2正式发布
1999-06		Sun公司发布了JavaSE、JavaEE、JavaME三大版本
2000-05		J2EE 1.3正式发布
2002-02		J2EE 1.4正式发布
2004		J2EE 1.5正式发布	
2005		J2EE、J2SE、J2ME正式改名为JavaEE、JavaSE、JavaME
2006		Java SE 1.6正式发布	Java开源
2009		Sun被甲骨文收购
2011-07-28	Java SE 1.7正式发布
2014-03-18	Java SE 1.8正式发布	现在企业常用版本,有的也会用11版本
2017-09-22	Java SE 1.9正式发布
2018-03-21	Java SE 1.10正式发布
2018-09-25	Java SE 1.11正式发布
2019-03-20	Java SE 1.12正式发布
2019-09		Java SE 1.13正式发布
2020-09		Java SE 1.14正式发布
2020-03		Java SE 1.15正式发布
2021-03-16	Java SE 1.16正式发布

2.2、Java特性与优势

  • 简单性:C++的简化版,语法是基于C语言的。
  • 可移植性:Java的核心优势。一次编译,到处运行。
  • 安全性:Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。
  • 面向对象:Java是一门完全面向对象的编程语言。
  • 高性能:在不断完善的过程中,Java已经逐渐摆脱了低性能的这个短腿。
  • 多线程:Java是多线程语言,它提供支持多线程的执行,能同事处理不同任务,使具有线索的程序设计很容易。
  • 稳健性:Jav吸收了C/C++的许多优点,使得自己不断的完善。如果出了什么意外程序也不会崩溃。
  • 动态性:Java是一门动态语言,能够适应环境的变化。

2.3、Java三大版本

  • JavaSE(Java Standard Edition,Java 标准版):
    • 图形界面开发,一般用于电脑客户端开发。
    • Java技术的核心和基础,Java ME和Java EE编程的基础。
  • JavaEE(Java Platform,Enterprise Edition,Java 企业版):企业级开发,一般用于服务端应用开发。
  • JavaME(Java Platform,Micro Edition,Java 微型版):嵌入式开发,一般用于开发嵌入式应用,如电饭煲,手机软件。

2.4、JDK、JRE、JVM

  • JDK(Java Development Kit,Java的开发工具包):JDK是整个JAVA的核心,包括了Java运行环境(JRE),Java工具和Java基础的类库。

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

  • JVM是(Java Virtual Machine,Java虚拟机):Java实现跨平台的核心部分,能够运行Java程序。

image

  • Java跨平台实现简单原理:

image

2.5、安装开发环境

Linux:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html#license-lightbox

Windows:https://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_system_requirements.html#BABHGIJF

2.5.1、Windows下安装

  1. 双击打开 .exe 包后选择自己的安装目录,其他的一直下一步即可。
  2. 安装完后,右击 我的店 ,点击 属性 ,选择 高级系统设置

image

image

image

在 "系统变量" 中设置 3 项属性,JAVA_HOMEPATHCLASSPATH (大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。

如果使用 1.5 以上版本的 JDK,不用设置 CLASSPATH 环境变量,也可以正常编译和运行 Java 程序。

变量参数配置如下:

变量名:JAVA_HOME
变量值:E:\Java\jdk1.8.0_261	JDK安装环境

变量名:CLASS_PATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\rt.jar;

变量名:PATH
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; win10中分条创建

JAVA_HOME

image

CLASS_PATH

image

PATH

image

测试Java是否安装成功,在DOS命令窗口输入 java -versionjavac -version

image

2.5.2、Ubuntu下安装

  1. 下载Linux安装包,把安装包上传到Ubuntu文件夹下(文件夹名称和位置按照自己情况来)

image

  1. 运行 tar zxvf jdk-8u291-linux-x64.tar.gz 命令解压安装包。

image

  1. 修改环境变量,用 sudo vim /etc/profile 打开文件,在末尾添加
export JAVA_HOME=/home/jf/Java/jdk1.8.0_291	# 这个为自己jdk解压目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  1. 运行 source ~./.bashrc 使环境变量生效

  2. 系统注册JDK

sudo update-alternatives --install /usr/bin/java java /home/jf/Java/jdk1.8.0_291/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /home/jf/Java/jdk1.8.0_291/bin/javac 300

  1. 运行 java -versionjavac -version 测试环境是否安装成功。

image

  1. 如果存在多个JDK,通过 sudo update-alternatives –config java 命令切换

-bash: /home/superadmin/java/jdk1.8.0_291/bin/javac: cannot execute binary file: Exec format error 错误,JDK安装包有问题,下载正确的安装包重新安装即可。

2.6、HelloWorld详解

/*
public 共有的
class 声明为一个类
HelloWorld 类名
static 静态修饰符
void 无返回值
main 主入口
String[] 字符串数组
args 数组名称
*/
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello Wrold!");		// 打印Hello Wrold!
    }
}

进入DOS命令窗口,执行 javac xxx.java 编译Java程序,编译成功后在执行 java xxx 运行Java程序,运行时无 .java 后缀

image

Java程序开发执行流程:

  1. 编写 java 源程序( .java ) 源文件/源代码
  2. 通过 javac 命令编译生成 .class 文件(字节码文件)
  3. 通过 java 命令运行 .class 文件(字节码文件)
  4. 类加载器加载程序,程序运行输出数据

image

2.7、编译型和解释型

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。

由高级语言转换成机械语言的方式有编译和解释两种,由此高级语言就划分为了编译型语言和解析型语言。

2.7.1、编译型语言

通过编译器将源代码编译为机器码后运行的语言,运行时不需要重新翻译,直接使用编译的结果就行了。

特点:在程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如 .exe 格式文件。只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。

image

2.7.2、解释型语言

解释器直接执行,不需要编译,每执行一次都要翻译一次。

特点:事先不需要先编译,只要提供环境即可运行。需要重复生成机器码,效率较低。

image

2.7.3、Java是编译型还是解释型

Java语言同时兼具编译型语言和解释型语言的特点。

image

原文链接: 点击跳转

posted @ 2021-05-27 18:00  LittleTomato  阅读(79)  评论(0)    收藏  举报