Java特性和优势
-
简单性:没有头文件,没有指针运算,不用分配内存,语法基于C
-
面向对象:将重点放在对象以及对象之间的接口上,是模拟人的思维去写程序(万物皆对象)
-
可移植性(跨平台性) :代码可以跨平台移植,不用管操作系统的硬件环境,一次编写,到处运行(write once,run anywhere)。
-
高性能:及时编译
-
分布式:Java就是为网络分布式环境所设计的,因为它能处理TCP/IP协议上的东西,在Java中通过URL(Uniform Resource Locator)统一资源定位符访问网络上的资源,就跟访问本地上一样。而且Java支持一些远程的方法调用,使得一些程序能够通过网络调用方法。
-
动态性:反射机制
-
多线程:多线程的使用可以带来一些交互行为和实时行为。 多线程的简单性也是Java成为主流服务器端开发语言的主要原因之一。
-
安全性:可以构建一些防病毒、防篡改的系统。
-
健壮性:关于指针和内存的管理,Java程序几乎不可能造成计算机的崩溃。Java系统在每次运行的时候都会对内存进行一些检查,确认它都是合法的,而且不至于引起一些问题,哪怕真的出现了一些问题,程序也不会崩溃,因为Java中有异常机制(可以通过捕获异常,来解决这些异常)
Java三大版本
Write Once、Run Anywhere
- JavaSE:标准版(桌面程序,控制台开发)
JavaME:嵌入式开发(手机,小家电)- JavaEE:企业级开发(web端,服务器开发…)
JDK JRE JVM
-
JDK:Java Development Kit
-
JRE:Java Runtime Environment
-
JVM:JAVA Virtual Machine
Java程序运行机制
java源文件经过一次预编译,生成介于机器码和java源代码之间的字节码文件(*.class文件)。字节码文件运行的时候放在JVM的类装载器里,类就被装载到JVM里面了。JVM的字节码校验器来检查代码写的对不对,然后通过解释器解释给操作系统。