JAVA简介
1.1JAVA简介
JAVA是一种可用于编写跨平台应用软件的、面向对象的程序设计预约,是多年来被广泛应用的编程语言。
1.2JAVA的优势
1.资源免费
2.强大的跨平台特性,Java是一种与平台无关的语言,它可以跨域各种操作系统、硬件平台以及可移动和嵌入式部件,其源码编译成一种结构中立的中间文件(.class字节码文件)在Java虚拟机上运行,通俗的说就是只要你有Java虚拟机就能运行Java代码。
3.健壮、安全
4.高性能,Java引入了JIT(Just in time)即时便宜技术,优化了执行过程,提高了性能。
5.面向对象,Java是一种全面面向对象语言,具有继承、封装、多态三大特性。
6.多线程,Java内置了对多线程的支持,提供了用于同步多个线程的解决方案。
1.3专有名词解释
1.JDK
JDK(Java Development Kit)Java开发工具包是Sun公提供的一套用于开发Java程序的开发工具包,JDK提供了编译与运行Java程序所需1各种工具及其资源,包括Java开发工具、JRE(Java Runtime Environment)Java运行环境及Java的基础类库。
2.JRE
JRE(Java Runtime Environment)Java运行环境是运行Java程序所依赖的环境的集合,包括了类加载器、字节码校验器、JVM(Java Virtual Machine)Java虚拟机、JavaAPI(Java Application Interface)Java应用程序接口。JRE包含在JDK中,如果只是为了运行而发开发Java程序可以只下载使用JRE。
3.JVM
JVM(Java Virtual Machine)Java虚拟机是一个虚构出来的计算机,通过在实际的计算器上仿真模拟各种计算机功能来实现。Java虚拟机有自己完善的硬件架构,例如处理器、堆栈空间、寄存器等,还有相应的指令系统。Java虚拟机实现了Java的跨平台性。Java虚拟机在执行字节码是,最终还是把字节码解释成具体平台上的机器指令执行。
4.包含关系
JDK包含JRE包含JVM
4.GC
GC(Garbage Collection)垃圾回收机制用去清理不再使用的对象,释放内存空间。Java的内存的分配使用和回收都是有JRE在后台自动进行的,不需要有程序员手动控制。
内存优化:回收无用对象并释放内存空间
动态回收:自动跳过识别不再被程序引用的对象并回收,可以把对象的引用变量设置为NULL来暗示GC来回收该对象。
回收的不确定性:一般都是在CPU空闲或者内存不足时自动进行,程序无法精确控制GC工作的时间与顺序,输入可以通过调用finalize()或者system.gc()等方法来回收,但是也依然不能对GC进行精确的控制。
占用系统开销:JRE会使用后台线程来进行检测和控制GC,但它的开销会影响程序性能;JVM采用了不同的GC机制和算法来减少对系统的影响。