基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)(下)

简介: 基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)

基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)(上):https://developer.aliyun.com/article/1420250


Java 开发环境搭建



我们工作和学习,以 JAVA8 为主。当然,也可以使用 8 以上的其他版本。


JDK 下载和安装


· 下载 JDK


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

         视频内容:


· 安装 JDK


           1. 选择 JDK 安装目录,采用默认即可(如果一定要自定义,不要包含中文路径)

          视频内容:


JDK 环境变量的配置



1. path 是一个常见的环境变量,它告诉系统除了在当前目录下寻找此程序外,还可以到path 指定的目录下寻找。


2. JAVA_HOME

       (1) 为以后其他软件寻找 JDK 做准备!(一般建议进行配置)


3. classpath 不需配置!

       JDK1.5 以上版本,JRE 会自动搜索当前路径下的类文件及相关 jar 文件。


测试 JDK 安装成功


在窗口中输入命令“java -version ”。出现如下结果,则说明 JDK 安装成功。


openJDK 和 JDK 收费问题


2019 年后,JDK8 后续更新的版本就开始收费了。但是,主要针对的是企业用户,对于个人学习者没有任何影响。


由于 JAVA 虚拟机的规范是开放的,任何人都可以去实现它。我们常用的 JDK 只是oracle 公司的一种具体实现,其他公司甚至个人也可以根据规范自己开发。常见的 JDK 有如下几种:


       1. oracle JDK

       2. open JDK

               免费的开源实现,以 GPL License 发布,很多 Linux 发行版中都会包含 Open JDK

       3. IBM、亚马逊等大公司有自己的 JDK



各种开源的 JDK 版本


开发第一个 Java 程序


·使用记事本,编写代码

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


可在 d 盘下建立文件夹 mycode,用于保存学习的代码。保存路径建议为:”d:/mycode”。保存为:Welcome.java (文件名必须为 Welcome,大小写也必须一致)。


· 中文问题:


       如果代码中有中文,则使用记事本保存时,选择:


菜鸟雷区

 代码中的引号、分号必须为英文引号和分号,不能是中文全角的引号和分号。

 注意大小写。


·编译(编译器创建 class 字节码文件)


打开命令行窗口,进入 Java 文件所在目录;执行命令:javac Welcome.java,生成

class 文件。


·解释并运行阶段


执行:”java Welcome”(就是运行编译生成的 Welcome.class),输出执行结果。


第一个程序常见错误



常见问题-1:提示“javac 不是内部或外部命令……”

图 1-22 常见错误-1


出错原因:Path 变量配置错误导致没有找到 javac 命令


解决方案: 细心重新设置 Path,配置完成后需要重新输入 cmd 打开命令行窗口。


 常见问题-2:文件夹中可以看到 Welcome.java 文件,在编译时出现’javac 找不

到文件……’

图 1-23 常见错误-2


出错原因:可能是操作系统显示设置的问题,隐藏了文件的扩展名


解决方案:打开我的电脑窗口,选择【组织】==>【文件夹和搜索选项】==>【查看】,图 1-24 所示,去掉“隐藏已知文件夹类型的扩展名”复选框中的对勾,看到文件的实际名称为 Welcome.java.txt,将后缀后.txt 去掉。

图 1-24 常见问题-2 解决方案


常见问题-3:NoSuchMethodError:main


   出错原因:找不到 main 方法,应该是 main 方法书写有误。


  解决方案:检查 public static void main(String [] args){}是否有误。


碰到错误、碰到异常,要和看到美女帅哥那样兴奋! 你解决的每一个错误,都是你提高的阶梯!

所谓编程经验很大程度就是指“调错的经验”。


第一个 Java 程序的总结和提升



1. Java 对大小写敏感。

2. 关键字 class 的意思是类。Java 是面向对象的语言,所有代码必须位于类里面。

3. 源文件编译后,得到相应的字节码文件,编译器为每个类生成独立的字节码文件。

4. main 方法是 Java 应用程序的入口方法,格式固定:

                       public static void main(String[] args) {…}

5. 一个源文件可以包含多个类。

6. 每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。


最常用 DOS 命令


磁盘操作系统(Disk Operating System),是早期个人计算机上的一类操作系统。


常用命令:

常用命令 命令描述
cd .. 进入父目录
dir 查看本目录下的文件和子目录列表
cls  清除屏幕命令
cd 目录路径  进入一个目录
上下键  查找敲过的命令
Tab 键  自动补齐命令


常用 Java 开发工具


入门学习时,进行简单的 Java 程序编写,我们可以使用文本编辑器,比如:记事本。

但是,记事本功能不够强大,我们可以考虑使用“更加强大的记事本”,常见的有如下三种软件: Notepad++     Sublime     EditPlus

在我们真正学习开发中,包括以后在企业中从事软件开发时,一般使用集成开发环境

(IDE)。


 IDEA 官方网址:http://www.jetbrains.com/idea/

 VS Code 官方网址:https://code.visualstudio.com/

 eclipse 官方网址:http://www.eclipse.org


小童建议:

对于 IDE 的选用,真的是无所谓的,大家不用太过纠结。

目录
相关文章
|
1月前
|
Java 开发工具
JDK、JRE、JVM三者之间的关系
JDK、JRE、JVM三者之间的关系
25 0
JDK、JRE、JVM三者之间的关系
|
1月前
|
安全 前端开发 Java
JDK源码级别彻底剖析JVM类加载机制
JDK源码级别彻底剖析JVM类加载机制
|
1月前
|
Java 编译器 测试技术
滚雪球学Java(03):你知道JDK、JRE和JVM的不同吗?看这里就够了!
【2月更文挑战第12天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!
105 4
|
11天前
|
监控 前端开发 安全
JVM工作原理与实战(十四):JDK9及之后的类加载器
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了JDK8及之前的类加载器、JDK9及之后的类加载器等内容。
19 2
|
1月前
|
存储 安全 Java
JDK、JRE 和 JVM 的区别和联系
JDK、JRE 和 JVM 的区别和联系
23 0
|
1月前
|
Java 编译器 API
JDK、JRE、JVM的特点和关联
JDK、JRE、JVM的特点和关联
|
存储 安全 算法
深入剖析JVM内存管理与对象创建原理
JVM内存管理,JVM运行时区域,直接内存,对象创建原理。
40 2
|
1月前
|
存储 算法 安全
【JVM】深入理解JVM对象内存分配方式
【JVM】深入理解JVM对象内存分配方式
29 0
|
1月前
|
Java 程序员
探讨JVM垃圾回收机制与内存泄漏
探讨JVM垃圾回收机制与内存泄漏
|
2月前
|
存储 缓存 算法
深入剖析Java中JVM的内存模型!!!
对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。
49 1