Java特性和优势
-
简单性(可在记事本、文本编辑器编译,没有头文件,指针运算等)
-
面向对象
-
可移植性: 只要编写一次就能到处运行。Windows–>Linux等等
-
高性能: 即时编译
-
分布式: 能处理很多tcp/ip协议上的东西
-
动态性: 反射机制
-
多线程: 更好的交互行为(手机边听音乐边聊天)
-
安全性
-
健壮性: 自动垃圾回收机制GC——garbage collection,时刻监测内存使用情况,在特定时机会回收垃圾数据
刚看到一个文章:对于开车。面向过程是:打开车门,进车,关门。。。
面向对象是:人、车。人有开门、关门、对车进行操作;车门能开关等等。
前几天面试的时候问到了一个问题:如何用面向对象思想来看一棵树?
应该怎么回答呢?树有树干、树枝、树叶、可能还会有果子,树本身能维持生态平衡,树干能做成各种木制品,树叶能烧,果子能吃?
今天问了一下老师,回复:树、大树枝、小树枝,都是对象、父类、子类、继承
Java三大版本
※JavaSE(桌面控制、控制台开发)、JavaME、JavaEE(企业应用系统、网站)
JDK、JRE、JVM
JDK:Java Development Kit Java开发工具集(包括JRE)
JRE: Java Runtime Environment Java运行时环境
JVM: Java Virtual Machine Java虚拟机
Java程序运行机制
源程序(.java文件)------>Java编译器------>字节码(.class文件)------>虚拟机的类装载器、字节码校验器、解释器、操作系统平台