基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、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 的选用,真的是无所谓的,大家不用太过纠结。

目录
相关文章
|
4月前
|
存储 算法 Java
jvm性能优化(一)-基于JDK1.8
jvm性能优化(一)-基于JDK1.8
|
5月前
|
Java
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
这篇文章是Spring5框架的实战教程,深入讲解了AOP的基本概念、如何利用动态代理实现AOP,特别是通过JDK动态代理机制在不修改源代码的情况下为业务逻辑添加新功能,降低代码耦合度,并通过具体代码示例演示了JDK动态代理的实现过程。
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
|
5月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
6月前
|
Java 编译器 程序员
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
|
5月前
|
Java 编译器 测试技术
Java零基础教学(03):如何正确区别JDK、JRE和JVM??
【8月更文挑战第3天】Java零基础教学篇,手把手实践教学!
76 2
|
5月前
|
人工智能 Java 编译器
Java零基础(3) - 区别JDK、JRE和JVM
【8月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
80 1
|
5月前
|
缓存 Java 编译器
JRE、JDK、JVM 和 JIT 之间的区别详解
【8月更文挑战第22天】
217 0
|
6月前
|
Java 编译器 运维
开发与运维测试问题之在JVM中方法区也被称之为什么如何解决
开发与运维测试问题之在JVM中方法区也被称之为什么如何解决
29 1
|
5月前
|
Arthas Prometheus 监控
使用JDK自带工具调优JVM的常用命令
使用JDK自带工具调优JVM的常用命令
|
2月前
|
缓存 Prometheus 监控
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
358 1