JavaSE教程_基础
在学习Java编程语言之前,让我们一起来看一看它有哪些特性吧?
● 简单性:Java语言底层采用C++语言实现,相对于C++来说,Java是简单的,在Java语言中程序员不需要再操作复杂的指针(指针的操作是很复杂的),继承方面也是只支持单继承(C++语言是一种半面向对象的编程语言,支持多继承,多继承会导致关系很复杂),在很多方面进行了简化。
● 面向对象:Java中提供了封装、继承、多态等面向对象的机制。
● 健壮性:在C++程序当中的无用数据/垃圾数据需要编程人员手动释放,当忘记释放内存的时候,会导致内存使用率降低,影响程序的执行;在Java语言当中这种问题得到了解决,因为Java语言引入了自动垃圾回收机制(GC机制),Java程序启动了一个单独的垃圾回收线程,时刻监测内存使用情况,在特定时机会回收/释放垃圾数据,这样会让内存时刻处于最好的状态。
● 多线程:Java语言支持多个线程同时并发执行,同时也提供了多线程环境下的安全机制。
● 可移植性/跨平台:可移植性/跨平台表示Java语言只需要编写/编译一次,即可处处运行。Java代码既可以运行在windows的环境下,又可以运行在Linux的环境下,而不需要修改Java源程序,那么它是怎么做到的呢?功劳全在于“Java虚拟机(Java Virtual Machine,简称JVM)”这种机制,实际上Java程序运行的时候并不是直接运行在操作系统上面的,而是在操作系统上先安装了一个JVM,把Java程序放到了JVM当中运行,JVM屏蔽了各操作系统之间的差异,这样就完成了跨平台。但是,JVM的出现虽然搞定了跨平台,同时也带来了一些问题,比如要想运行Java程序就必须先安装JVM,没有JVM,Java程序是运行不了的,就像你要在网页上看视频,结果浏览器却提示你需要安装Flash插件,这一点你是不是感觉非常不爽呀!那么Java程序、Java虚拟机、操作系统之间是怎样的关系呢?请看下图:
图1-7:Java程序、JVM、OS之间的关系