java被广泛应用于安卓开发以及企业级应用等领域中,依靠的是完美的可移植性,不错的性能还有其完善的异常处理机制等特性。
那么什么是可移植性呢,假如你在你的家的破windows7系统下写了一段很不错的代码,突然发现这行代码脱离了windows7系统,比如到了服务器的linux,手机的安卓系统,就不能正常的运行了(因为每种系统在设计的时候都为了满足不同需求,其中的架构差异很大,所以不兼容是肯定的),你为了让你写的代码在这些系统中运行,你不得不为每一个操作系统写不同的代码,不仅浪费时间,你还要学习不同系统的架构,还有这些架构底层的一些东西,这是个十分痛苦的过程,而java语言能让你只写一次代码就能在所有的平台运行了,你不必再为每种可能运行这段程序的系统敲类似的代码,这就是可移植性,可以理解为你把你的程序从一台电脑拷贝到另一台不同系统的电脑,还能正常的运行。
可移植性是怎么实现的呢,这就依靠了java的虚拟机(Java Virtual Machine 简称JVM),什么是虚拟机?
可以理解它是计算机虚拟的出来的计算机,也就是说你电脑里还有一台电脑,它是由软件虚拟出来,你可以理解为你写的代码就运行的在这台虚拟的计算机中,如果有人为每种系统都实现一台相同的虚拟计算机,因为这台计算机是虚拟出来的,而且它在任何时候都是相同的,你对一台相同的计算机相同的系统编程会存在不兼容性? 而java的厂商sun公司以及各种机构已经为各系统搭建出了这种虚拟机就是我们提到的JVM。
上文说到java运行在JVM(java虚拟机)中,而这个吊吊的jvm就存在java的运行环境jre(Java Runtime Enviroment)中,jvm是jre的一个子集,有了这个jre你才能运行java写的程序,有玩过我的世界的朋友应该知道在玩我的世界之前要先下载一个jre的东西,这是因为我的世界是用java代码写的,这个jre就是java运行环境,只有拥有它才能运行java程序,如果把程序比作一台汽车,那么这个jre就是汽车需要的燃料,只有拥有它才能开动起来
我们已经知道java怎么能运行起来,那怎么开发java程序呢,这就要用到我们的jdk了,它的全称为(Java Development Kit)意思就是java开发工具,里面包含了一些把java源代码转化为java虚拟机能运行的命令,以及用到的一些类库(可以理解为代码用到一些模板,你写代码不可能直接命令计算机底层吧,至少java很难,而java就是调用这些东西来达到目的)。