导航
目录
Java诞生小故事
- 1990年 Sum公司 启动绿色计划
- 1992年 创建oak (橡树)语言 -> Java,oak为Java前身,于1995年oak正式更名为Java
- 1994年 gosling 参加硅谷大会 演示Java功能,震惊世界
- 1995年 sum 正式发布Java第一个版本
- ……
- 2009年 甲骨文公司宣布收购Sun
- 2011年 发布Java7
- 2014年 发布Java8
- 2018年 发布Java11
- 其他Java版本发布详情:Oracle Java SE Support Roadmap
可见Java的更新速度是非常快的,几乎半年一个小版本。但Java8、Java11(LTS,即长期支持版)仍是目前各大公司使用最广泛的版本,因此这两个版本是我们重点要学习的。这部分内容了解即可,Java之父一般指詹姆斯·高斯林 (James Gosling),这个可以记一下。
Java技术体系平台
Java SE(Java Standard Edition)标准版 | 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,次版本以前称为J2SE。是学习其他两个版本的基础 |
---|---|
Java EE(Java Enterprise Edition)企业版 | 是开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对Web应用程序开发,此版本以前称为J2EE。 |
Java ME(Java Micro Edition)小型版 | 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。 |
Java的重要特点
- Java语言是面向对象的程序设计语言(OOP:Object-oriented programming)
- Java语言是健壮的。Java语言是强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证
- Java语言是跨平台性的。(即:一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台)
- Java语言是解释型的(了解即可)。解释性语言有JavaScript、PHP、Java,编译性语言有C、C++。解释性语言,编译后的代码不能直接被机器执行,需要解释器来执行;编译性语言,编译后的代码,可以直接被机器执行。
Java的开发工具
主要有editplus、notepad++、Sublime Text(官网:sublimetext)、IDEA、eclipse
对于我们初学者,建议先使用文本编辑器Sublime Text,等到对Java有一定了解之后,再使用IDEA和Eclipse开发工具。由于官网提供的一般是英文版,对英文不好的不是很友好,因此在这里我通过百度网盘的方式分享一款汉化的Sublime Text(百度网盘分享链接,提取码:k8qc)
初学使用Sublime Text这种不太智能的工具更有利于深刻理解Java技术,培养代码感,更利于公司面试(面试时,往往会要求程序员手写代码,所以咱们得做好准备)。到中后期的学习,我们再使用IDEA和Eclipse做一些项目的开发。
Java的的运行机制及运行过程
说明:因为有了JVM,同一个Java程序在三个不同的操作系统中都可以执行,这样就实现了Java程序的跨平台性。
Java核心机制 - Java虚拟机(JVM Java Virtual Machine):
- JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令、管理数据、内存、寄存器,包含在JDK中
- 对于不同的平台,有不同的虚拟机
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
什么是JDK、JRE
JDK:
- JDK的全称(Java Development Kit Java开发工具),JDK = JRE + Java的开发工具(java,javac,javadoc,javap等)
- JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了
JRE:
- JRE(Java Runtime Environment Java运行环境),JRE = JVM + Java的核心类库
- JRE包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等, 如果想要运行一个开发好(即编译好)的 Java 程序,计算机中只需要安装 JRE 即可
小结:
- JDK = JRE + Java开发工具集(如javac、java编译工具等)
- JRE = JVM + Java SE 标准类库(java核心类库)
- 如果只想运行开发好的 .class 文件,只需要JRE
下载安装JDK、配置环境变量
官网下载链接:神谕 (oracle.com)
一些已经下载好的jdk8安装包分享:百度网盘分享链接(提取码:a4qc)自行选择对应版本安装即可。
注意:安装时记一下jdk8的安装路径,或者自行更改到其他路径(安装路径不要有特殊符号和中文,比如我安装的路径:D:\Program Files (x86)\jdk8)。另外安装过程中若提示安装JRE时,建议也一并安装了。
安装好jdk8之后,下面进行配置环境变量path
1、为什么要配置环境变量path
首先看一个现象,通过 win + r 快捷键输入cmd打开dos命令行窗口,敲入javac、java,会出现如下错误提示:
分析:javac和java是编译指令,也是可执行程序。键入javac和java后,该可执行程序在当前目录下如果不存在,win 10 系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现以上错误提示。
下面我们进入jdk8的安装路径下的\bin目录下,选中该目录并键入cmd,打开当前目录下的dos命令窗口,再键入javac和java,会出现如下现象:
为什么在当前\bin目录下执行这两个程序并没有出现错误,显然,该路径下有这两个可执行程序。为了我们能够在任何一个目录底下都能执行javac和java,我们需要去配置环境变量!
2、如何配置环境变量path
配置步骤:
- 我的电脑 -- 属性 -- 高级系统设置 -- 环境变量
- 增加 JAVA_HOME 环境变量,指向jdk的安装路径目录:D:\Program Files (x86)\jdk8
- 编辑path环境变量,增加%JAVA_HOME%\bin
- 打开DOS命令窗口,任意目录下键入javac和java,如果出现javac和java的参数信息,则配置成功
这里提一下,用户变量和系统变量的区别:对于用户变量,我们配置在用户变量这一块,只有指定用户登录该电脑时才能使用,当前用户是joyin;对于系统变量,配置好后,任何用户使用该电脑,均可使用javac和java。我们的电脑一般都是自己用,所以配置在用户变量即可。
到这里,java开发的环境已经配置好了。下面咱们试着编写第一个java程序——Hello.java
Java开发快速入门
编写第一个java程序——Hello.java,输出“Hello worl,Hehe Java”
首先,创建一个Hello.java的文本文件,用Sublime Text打开编写好相关代码后,在文件功能选择GBK编码格式(汉字编码格式,不会使汉字出现乱码现象)并保存,关闭该文件。
在Hello.java文件的当前路径下打开DOS命令窗口,指向以下两条指令。编译:javac Hello.java,运行:java Hello,效果如下:
第一条指令 javac Hello.java ,执行的是编译过程,将编辑好的Hello.java文件编译并生成对应的Hello.class文件。第二条指令 java Hello ,执行的是运行过程,运行编译后生成的Hello.class文件,在命令窗口输出Hello World,Hehe Java
对代码的说明:
//这里是java的快速入门,演示java的开发步骤
//对代码的相关说明
//1. public class Hello 表示Hello是一个类,是一个public公有的类。且该public类名和以.java后缀的Java文件名要一致
//2. Hello{ } 表示一个类的开始和结束
//3. public static void main(String[] args) 表示一个主方法,即我们程序的入口
//4. main(){ } 表示方法的开始和结束
//5. System.out.println("hello world,Hehe Java"); 表示输出"hello world,Hehe Java"到屏幕
//6. ; 表示语句结束
public class Hello{
public static void main(String[] args){
System.out.println("Hello World,Hehe Java");
}
}
- 这个框架是每一个Java程序的固定框架,以后编写程序可以直接套用
- 一个源文件最多只有一个public类,其他非public类的个数不限。同时在编译后,每一个类都对应生成一个.class文件。其他类个数不限,也可以将main方法写到其他类中。然后就可以指定运行非public类。这样的入口方法就是非public类的main方法
- 若源文件(.java)中包含一个public类,则该文件名必须按该类命名!
- Java语言严格区分大小写
- Java程序的执行入口是main()方法,有固定的书写格式:public static void main(String[] args){……}
- Java代码的注释风格和C/C++一样,支持单行和多行注释
初学者易犯错误:
- 编译过程找不到文件,有可能是源文件名不存在或写错,或者DOS打开窗口的当前路径错误
- 主类名和文件名不一样,声明为public类的主类应与文件名一致,否则编译错误
- 若代码中,包括注释等出现汉字,由于源文件默认使用utf-8的编码格式,必须要修改文件的编码格式为GBK,因为DOS命令窗口的编码格式也为GBK,否则可能出现乱码现象
- 标点符号均为英文符号
关于代码风格:
Java的代码风格一般为次行风格和行尾风格(!!),推荐使用行尾风格,这是很多Java大牛的风格,不同于C/C++的次行风格(C/C++比较推荐次行风格)
//行尾风格(推荐)
public class Hello{
public static void main(String[] args){
System.out.println("Hello World,Hehe Java");
}
}
//次行风格
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello World,Hehe Java");
}
}
由于初学前期的代码编写环境为Sublime Text,编译和运行操作基本在DOS命令窗口下,因此一些常用的DOS命令和热键还是有必要给大家推荐一下:
dir | 查看当前目录内容 |
cd .. | 切换到上一级路径 |
cd 目录 | 切换到其他目录(可使用绝对路径和相对路径) |
cd\ | 切换到根目录 |
tree 目录 | 查看指定目录下的所有子目录(若不指定,默认为当前路径) |
cls | 清屏 |
exit | 退出DOS |
Tab | 自动补齐命令/文件名 |
关于Java概述以及环境的配置介绍到这里也就结束了,接下来可以开始学习Java语法并进行编写练习了!
学习记录:
- 本篇博客整理于2022.7.14~2022.7.15
- 作者:如何写出最优雅的代码
- 如有错误,敬请指正
- 关注一波不迷路!如果觉得写的不错,看完了别忘了点赞和收藏啊,感谢支持
文章评论