一文搞懂Java环境,轻松实现Hello World!
在上篇文章中,我们介绍了Java自学大概的路线。然而纸上得来终觉浅,今天我们教大家写第一个java demo。(ps:什么是demo?Demo的中文含意为“示范",Demo源码可以理解为某种计算机语言的示例代码)
今天的文章将分为三个部分:
简单介绍JRE、JDK、JVM
介绍环境安装流程
编写运行hello,word
一、JRE、JDK、JVM概念及关系
JVM是Java Virtual Machine(Java虚拟机)的缩写。JVM具有的跨平台特性,决定了Java语言具有强移植性的特点。因为JVM只识别class类文件,针对不同的系统有不同的 jvm 实现,再针对class类文件与其对应的操作系统交互,一次编译,多处运行便是这个道理。
JRE是JAVA Runtime Environment 三个单词的首字母缩写,顾名思义即为Java运行环境,JRE中包含了JVM及其他JAVA核心类库。若你只是Java程序的使用者,那么你安装JRE便可满足你的需求。
JDK是Java Development Kit的缩写,即为Java开发工具包,JDK中包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,等工具软件,还包含了java程序编写所需的文档和demo例子程序。以及其他java开发工具,简而言之,JDK是提供给java开发者使用的。
以一张自己做的图来表达三者之间的关系:

二、Java 环境安装
在介绍了三者关系之后,我们应该清楚开发者需要的JDK,我们需要先下载JDK,下面是下载JDK8的链接
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
点开链接后,勾选上accept,根据系统类型选择对应的版本,我这边选的是windows64位

现在JDK8及以下版本在官网下载需要登录Oracle账户了,有账户的可以登录下载,没有账户的就需要注册了。如果嫌麻烦的可以从下面网盘地址直接下载。jdk8-64位
https://pan.baidu.com/s/1slmpnvn
下载完了之后,开始安装,一直点击下一步,在选择安装路径时,记录住安装路径,等会儿配变量时需要。

然后一直点击下一步,完成安装即可。
接着返回电脑桌面,右键计算机,点击左侧高级系统设置,点击环境变量,如下图,再点击新建

变量名为JAVA_HOME,变量值为刚刚安装时的安装路径,我的路径为C:\Program Files\Java\jdk1.8.0_05\,你需要换成你的安装路径,新建完后点击确定。然后在系统变量中找到Path变量,双击他进入编辑状态,将光标移动到变量值的最前面,输入%JAVA_HOME%\bin; 接着一直点击确定就可以了。
此时打开cmd,输入java -version 出现版本号即为JAVA环境安装成功。
三、Hello,World!
接下来我们编写第一个hello,world程序~可别写出bug像这样..hhh

来看下我们的代码:

可以用记事本,也可以用其他编辑器,我这边用的是notepad++,一个注意点就是注意文件名要和类名一样,文件名应该是 公有类名.java,我这边类名为Demo,文件名为Demo.java,我这边将其保存在D:\下。
打开cmd,cd 到D:\下,输入javac 文件名 编译成class文件

接着输入 java 类名 运行类文件,打印出Hello world 即运行成功~

个人微信订阅号: Java从零单排
分享java学习资料链接,交流Java学习经验

一文搞懂Java环境,轻松实现Hello World!的更多相关文章
- 一文搞懂Java引用拷贝、浅拷贝、深拷贝
		
微信搜一搜 「bigsai」 专注于Java和数据结构与算法的铁铁 文章收录在github/bigsai-algorithm 在开发.刷题.面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况 ...
 - 一文搞懂Java引用拷贝、深拷贝、浅拷贝
		
刷题.面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况,这种情况就叫做拷贝.拷贝与Java内存结构息息相关,搞懂Java深浅拷贝是很必要的! 在对象的拷贝中,很多初学者可能搞不清到底是拷贝 ...
 - 夯实Java基础系列17:一文搞懂Java多线程使用方式、实现原理以及常见面试题
		
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
 - 一文搞懂 Java 线程中断
		
在之前的一文<如何"优雅"地终止一个线程>中详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程的方法吗?答案是肯定的,它就是我们今天要分 ...
 - 夯实Java基础系列19:一文搞懂Java集合类框架,以及常见面试题
		
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
 - 一文搞懂--Java中重写equals方法为什么要重写hashcode方法?
		
Java中重写equals方法为什么要重写hashcode方法? 直接看下面的例子: 首先我们只重写equals()方法 public class Test { public static void ...
 - 一文搞懂Java/Spring/Dubbo框架中的SPI机制
		
几天前和一位前辈聊起了Spring技术,大佬突然说了SPI,作为一个熟练使用Spring的民工,心中一紧,咱也不敢说不懂,而是在聊完之后赶紧打开了浏览器,开始的学习之路,所以也就有了这篇文章.废话不多 ...
 - 一文搞懂 Java 中的枚举,写得非常好!
		
知识点 概念 enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, ...
 - 一文彻底搞懂Java中的环境变量
		
一文搞懂Java环境变量 记得刚接触Java,第一件事就是配环境变量,作为一个初学者,只知道环境变量怎样配,在加上各种IDE使我们能方便的开发,而忽略了其本质的东西,只知其然不知其所以然,随着不断的深 ...
 
随机推荐
- UVALive-7041(回文树
			
题意:给你两个字符串,问你有多少对公共回文串. 思路:先对a字符串建回文树.然后再把b字符串加进去就好了. #include<cstdio> #include<cmath> # ...
 - python学习 day19 (3月26日)----(对象组合)
			
深谙:非常透彻地了解:熟悉内中情形.谙,读作‘ān’ 熟悉. 1.面向对象作用:规划了代码中的函数处理的是哪一类问题 解决了传参的问题 方便扩展 方便重用 2.类的定义和使用类当中有哪些成员 ''' ...
 - windows10安装ubuntu on windows10
			
安装向导 https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
 - 【转】shell expect spawn、linux expect 用法小记 看着舒服点
			
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...
 - linux 下安装安装mysql 5.6.  5.7
			
linux版本:CentOS7 64位 5.7.20 安装请看 他人博客 我已经安装成功了 https://www.cnblogs.com/cz-xjw/p/8006904.html 5.6安装 前提 ...
 - tomcat 服务器故障排除
			
故障现象 通过浏览器访问tomcat服务器发现服务器没有响应. 问题分析检查 登陆服务器发现,TOMCAT服务器并没有宕机,服务还在. 使用JPS命令查看了一下tomcat的进程ID,获取进程ID后, ...
 - C++标准库addressof的应用
			
C++11将addressof作为标准库的一部分,用于取变量和函数等内存地址. 代码示例: #include <memory> #include <stdio.h> void ...
 - The file left unchanged.
			
This files have types: *.___jb_old___ and *.___jb_bak___ The file left unchanged. You can disable &q ...
 - codeforces877c
			
C. Slava and tanks time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
 - javascript 减少全部变量
			
方法1 自创建一个唯一的全局变量a,把自己用到的变量都加在a上 方法2:模块 String.method('test1', function(){ var a = '12'; return funct ...