初识Java
jdk-8安装以及环境变量配置
1. mkdir 创建文件夹
2. dir 查看某个目录下的子目录
3. cls 清屏
4. D: (盘符名:进入盘符)
5. cd change directory切换目录(进入)
6. cd .. 返回上一级目录
7. rd 删除文件夹
8. del 文件名 删除一个文件
java命令
c\javac hello.java 编译文件
c\java hello 运行文件
-
jdk与jre与jvm
JDK————Openjdk 开发者工具包:顾名思义是开发编译java所需要的“工具包” JRE————Java running environment java运行所需要的环境 JVM————Java 虚拟机,相当于一个操作系统(运行java)不是编译Java,编译完成的java程序,只在jvm上跑。至于如何跟硬件和宿主机系统进行交互,是jvm的事,程序员一般情况下不用管,也不在乎在那个操作系统上,因为编译好的java程序执行在jvm上。 如果你只需要运行java文件则只需要安装jre即可
三者之间的关系
//bin是单词binary的缩写 是二进制的意思//由于一些约定俗成的原因我们一般都将可执行文件放到 bin 目录中.
-
java是什么
一处编译,处处运行
同一份代码编译一次后,可以在任意环境上执行(经久不衰,见下文)
因为java被运行在java虚拟机上,java虚拟机是什么?
jvm(上面有提到)java中没有指针只有引用,指针已经被封装好了。
C语言中我们申请一块空间需要手动去释放他,不然有可能或造成内存泄漏,而在java中存在GC自动回收使用后的内存。
程序员的注意力在程序上,业务逻辑上。不需要管理太多的复杂的对于硬件的操作,使得java变得更简单易学易用。但是,java和c比较起来也有一些不足之处,比如,C/C++这些语言中需要对内存进行操作和管理,内存的操作和管理由程序员自己进行,稍有不慎就会发生内存泄漏,但是如果管理的好,那么程序的效率就会很高,这就是人们常说C/C++效率比Java好的地方。对于好的程序员来说,健壮性java确实不如C/C++。
入门后要提升,就要去研究jvm,深入了解jvm。
-
JVM是什么
jvm叫做java虚拟机,一看就不是一个固定的软件,那它是什么呢?jvm是一套标准,是有SUN公司制定的标准,人们可以依照这一套标准进行jvm版本的开发,比如Hotspot,他是遵照jvm的标准,用jdk开发工具进行开发出来的一个软件,用来运行编译好的java程序。
jvm标准这种类似于前端中的html标准。人们统一标准来实现不同软件对底层系统的交互,不同软件之间不需要进行"翻译",好比普通话和方言,人们通过说普通话来解决不同方言之间无法交流沟通的问题。 -
为什么Java能在任意环境中运行
一处编译,处处运行。
jvm的存在解决了不同系统下java运行的问题,我们通过对源程序进行编译,转变为.class文件(二进制),通过在Jvm虚拟机中进行运行“翻译”实现和系统的交互,所有的jvm所接受处理的都是同一份.class(二进制)文件,而不同的系统安装的jvm的不同使得其二进制编码被“解读翻译”与宿主机系统进行交互,实现了跨平台的功能。