深入了解java虚拟机

来源:互联网 发布:天猫算法大赛 编辑:程序博客网 时间:2024/04/28 03:01
1:Java虽然是一种跨平台的编程语言,但是跨平台是要以JDK版本来作为要求的,JVM规范表明,高版本编译过的Java文件是不能用在低版本的环境下运行的,例如:Java代码在Windows系统的JDK 1.7环境下进行编译,生成.class文件,然后将生成的.class文件放在Linux系统的JDK 1.6的环境下运行,那么将会出现JDK版本不兼容的异常信息。
      ===》Java跨平台的原理:不同的操作系统,对应着不同的JVM,然而提供了不同的环境,才能执行相同的.class文件,在不同的操作系统中执行同一个.class文件的前提是:不同的操作系统中安装着能执行.class文件的不同的JVM环境。
2:Java虚拟机(JVM)在多平台实现统一语言,.NET的虚拟机(目前)在单一平台上实现多种语言。
     ==》原来,高级的变成语言都有自己所对应的虚拟机体系结构,可以根据自己体系结构中的指令集将源文件以各种不同的方式转换成计算机能够识别的机器语言。
3:Java编程比较突出的地方:垃圾收集、多线程、异常处理、动态扩展、甚至使用虚拟机本身。
4:网页比较有趣的三个特性:动态的、交互式的、相互连接的。
5:JVM(Java虚拟机)的含义:运行所有Java程序的抽象计算机。
6:Java与生俱来的内存安全性表现在以下几个方面:垃圾收集、取消指针算法、在使用引用的时候进行运行时检查,从而避免了可能曾出现在Java程序中的大多数的内存BUG,Java内存安全性是程序员的生产效率更高了。
7:程序在运行过程中所需的硬件环境主要包括两个方面的内容:计算机所具备的最基本的硬件系统、网络硬件环境。
     ==》网络把越来越多的计算机设备连接起来,对软件提出了新的要求,网络编程的兴起使得安全性和平台无关性显得更加重要,因此Java便应运而生,受大编程爱好者的追捧。
8:超类、子类、直接超类、直接子类、超接口、子接口、直接超接口、直接子接口的概念。
     ==》“超”、“子”两个关键字的理解,最终都将归结到“超类型”和“子类型”的概念上,类和接口就是两种对应的“类型”。
9:“类”和“类型”之间的区别。
      ==》Java程序中的每一个变量和表达式都有编译时可以确认的类型或者为基本类型,或者为引用类型(类、接口或者数组)。变量或者表达式的类型决定了它所拥有的值的范围和种类、所支持的操作以及这些操作的具体的含义。
      ==》“类”和“类型”之间最主要的区别:“类型”所包含的范围比较广泛,类型是“类”和“接口”的集合的合称。
10:编译类的方法有很多种。不同的编辑器,或者是同一个编辑器的不同版本都可能产生不同的结果。:
11:Java的核心技术并不是表现在C/S或者B/S架构的项目编程方面,而是表现在“Java虚拟机”上——所有的Java程序都在上面运行。Java程序的运行需要Java虚拟机、Java API和Java的class文件的配合,最终才能使得Java源程序能够正确的运行在JVM上面。
12:Java程序适合网络环境的能力是由其体系结构决定的,它可以保证安全的、健壮的且和平台无关的程序通过网络传播,在很多不同的计算机和设备上运行。