【Java入坑之路】Java的特性_JDK_JRE_JVM_环境变量_第一个程序
目录
前言
重新学习Java已经一周了,现在对之前学习的东西做一下总结,温故而知新,不断进步。
Java的特性以及优势
Java有很多很多的特性,其中有几个比较主要的特点:
跨平台/可移植性
首先一个最大的优势就是跨平台,Java在设计的时候就很注重移植和跨平台性,我们写的一份代码,可以在不同的平台下完美的运行,而不需要经过修改,这就是Java的核心优势——跨平台性。
安全性
Java在设计之初,就在安全性中投入了大量的精力以防止恶意代码的攻击,因此Java可以很容易地构建防病毒、防篡改的系统(当然世界上没有绝对的安全)
面向对象
这个估计是很多初学者都会懵圈的特征(包括我),面向对象呢,可以说是一门程序设计的艺术、一次软件工程的“革命”,非常适合大型软件的设计开发。同时,也是当前编程世界中最主流的一种思想。
如何更好的理解面向对象呢?我觉得可能只有在大量的实战中才能懂得面向对象的思想。
简单性
不知道有多少人接触过C/C++,如果有小伙伴学习过的话,相信不少人一开始都被其中的指针、结构体等绕晕了,而Java呢省略了很多复杂的东西,使得学习起来不像C/C++那么费力。
支持多线程
Java是支持多线程的。对于多线程的理解,我们可以做一个类比,我们做一件事情时,可以当作一个线程。
我们可以同时做两件事情,比如一边吃饭,一边看学习视频,此时可以看成是两个线程一起执行,所以,我们人是多线程的生物。
同理,Java支持多线程,这样可以在很大程度上提高程序的执行效率。
JDK、JRE、JVM
JDK(Java Development Kit)
即java开发工具集,它是整个Java的核心,JDK里面包括JRE、Java编译器和调试器等等等等。
JRE(Java Runtime Environment)
即Java运行环境,里面包括了Java虚拟机(JVM)、库函数、运行Java应用程序所必须的文件。
JVM(Java Virtual Machine)
即Java虚拟机,是一个虚拟的用于执行字节码的“虚拟计算机”,前面提到了Java是跨平台的,那为什么可以实现跨平台呢?
其实都是Java虚拟机的功劳,每个不同的平台有不同的Java虚拟机,Java虚拟机是实现跨平台的核心机制。
它们三者关系如下图所示:
JDK包括JRE,JRE包括虚拟机
Path环境变量
Path是一个常见的环境变量,它告诉操作系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应到哪些目录下寻找。
如何查看环境变量?
在我的电脑右击属性
点击高级系统设置
点击环境变量
其中可以发现存在用户变量和系统变量
系统变量针对所有用户生效;用户变量只针对某个用户生效
第一个程序
安装好环境后(安装环境的方法网上一大堆,这里不介绍),输入代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
注意事项:
1、一个源文件至多只能声明一个public类,其它类个数不限,源文件名必须与pubic类保持一致!
2、有多少个类,就会经javac生成多少个.class
3、Java对大小写很敏感,如果出现大小写拼写错误,程序无法运行!
4、关键字public被称为访问修饰符,用于控制被修饰的类或方法的访问级别
5、关键字class就是类,Java是面向对象的语言,所以代码必须放在类中
6、main方法是Java应用程序的执行入口,有固定的书写格式
总结
种一棵树最好的时间是十年前,其次是现在。
同理,努力的最好时间是小学一年级,其次是现在。
既然重新开始学习Java了,那就好好学,不要被外界左右,一心一意地钻下去,学无止境,勇往直前!