学校实训选择了Java方向,个人总结了一些概念的定义,有不对的地方请大家斧正
--------------------------------------------------------------------------------------
(1)关于java相比于其他语言的特点
JVM机制的引入
java是一种先编译后解释型的语言
.java文件先经过编译成字节码文件.class
然后交由JVM加载,解释成机器指令给不同的系统,JVM就像一个操作系统与程序之间的转换器,同类的JVM对应着不同的操作系统有不同版本
C语言与底层的联系紧密,不同系统有不同的标准,如Turbo C等,相应的不同系统下的C,基础类型的字节数是不同的
JVM(Java Virtual Machine)
java虚拟机,由软件搭配硬件模拟出的虚拟的计算机,主要功能读取并处理经编译过的平台无关的字节码文件。
对应不同系统有相应的版本,就像是一个宇宙飞船,搭载着java,航行在不同宇宙中(OS),
而里面的环境得以保持不变(基本数据类型对应的字节数什么的),飞船有不同 的形态来适应外部的环境(不同版本)。
而java正因为有了JVM,才能实现一次编写到处运行。
但同时也因为用到这个,java的效率相对于直接编译的C来说是差一些的
此外由于JVM会向系统内存申请一定内存,得以给运行的java程序按一定方式分配这小块内存
使用java对内存的应用率是非常大的
此外,相比于C,java是纯粹的面向对象,支持静态动态风格的代码,继承和重用
基本元素比较丰富,类,对象,接口,以及类之间的继承,方法之间的重写等,static方法,变量等等
------------------------------------------------------------------------------------------
关于JVM的种类(仅供参考)
从JDK1.2-JDK6,default JVM都是HotSpot
2009年以后,Oracle收购Sun公司,有过合并JRockit与HotSpot两大虚拟机的想法
不过JDK7后依旧沿用的HotSpot
JVM带来的一个十分重要的概念
JVM的自动内存管理机制,时常配合GC机制 一起理解java程序的内部运作,在下篇文章中总结