`

《深入java虚拟机第二版》第一、二章学习笔记

阅读更多
《深入java虚拟机第二版》第一、二章学习笔记

第一、java体系结构四个独立技术
java程序设计语言、java class文件格式、java应用编程接口、java虚拟机。
首先,用java程序设计语言编写一个程序,然后使用java编译器编译为一个java class 文件。然后通过本地或网络传递class文件。而java虚拟机通过类装载装载java class文件和java API的class文件,java虚拟机通过执行引擎去执行class文件中的字节码。同时java虚拟机也要装载动态库(包含本地方法),java虚拟机上运行的程序包含上面三个部分
而这种执行引擎有三种执行方式。请参考具体书籍。

其次,要注意java有两种方法:java方法和本地方法。java方法由java语言编写,编译成字节码,存储在class文件中,而本地方法是由C,C++或汇编程序编写的,编译成和处理器相关的机器代码,保存在动态链接库中,虚拟机装载包含这个本地方法的动态库。所以本地方法是平台相关的。

第二、类装载器的体系结构,两种类装载器,一种叫做启动类装载器,一种是用户定义的类装载器。启动类装载器是java虚拟机的一部分。启动类装载器使用某种默认的方式从本地磁盘中装载类。并且不同的用户自定义的类装载拥有不同的命名空间,这就提供了安全性的性能。

第三、.class文件适合网络移动和安全的原因。
因为.class文件紧凑,所以下载快捷。而相应的类加载它知道如何向HTTP服务器请求class文件,只有当浏览器遇到java applet的页面时,才决定是否需要下载class文件。并且由于java应用程序通常为每个提供class文件的网络地址分别创建不同的用户定义类装载器,而不同的类装载器拥有不用的命名空间,所以安全性得到保障

第四、java平台不关性的原因。
1.java平台自己扮演了一个运行时java程序与其下的硬件和操作系统之间的缓冲角色。
2.java语言本身:它的基本数据类型的值域和行为都是由语言自己定义的,而不像C++这种其int型的值域由它的占位宽度决定。
3.java的.class文件与java虚拟机所在平台无关

第五、java平台如何理解,java虚拟机+运行时库,
比如java 2平台就是 sun公司把虚拟机1.2版本及组成标准API(Java平台保证在所有平台上可用的基本库集合为标准的API,并不是所有的运行时库都能在任意平台上执行。)的那些.class文件称为Java2平台标准版。即J2SE,而另外的J2ME、J2EE不同于J2SE就在于它们对于API的支持不一样。
分享到:
评论

相关推荐

    理解虚拟机--有笔记版

    除了上述提到的基础知识点外,《深入理解Java虚拟机——JVM高级特性与最佳实践(第2版)》这本书籍还深入探讨了JVM的性能调优、并发编程、以及各种高级特性的具体应用。比如,对于性能调优,书中讲解了如何根据不同的...

    java学习笔记.pdf

    #### 第一章:Java语言入门 - **1.1 Java的诞生** Java由Sun Microsystems公司于1995年推出的一种可移植、面向对象的编程语言。最初的设计目标是为消费电子产品提供一种通用编程语言。 - **1.2 Java的特点** ...

    深入java虚拟机源码-books-recommendation:后端进阶经典图书

    Java虚拟机(第二版) 实战JAVA虚拟机JVM故障诊断与性能优化 HotSpot实战 Java虚拟机精讲 Kubernetes权威指南:从Docker到Kubernetes实践全接触(第2版) 鸟哥Linux私房菜 MySQL技术内幕_InnoDB存储引擎_第2版 高性能...

    java基础学习笔记

    ### Java基础学习笔记知识点 #### 一、Java学习路线概览 Java学习通常分为几个阶段,从基础到高级,逐步深化。以下是对给定文件中提到的学习路线的详细解析: ##### 第一阶段:Java基础 - **JAVASE**:Java标准版...

    java私塾学习笔记整理

    ### Java私塾学习笔记整理 #### 第一章:Java入门 **一、Java是什么?** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年推出。它旨在为跨平台开发提供一种通用的语言环境,使开发者能够在任何...

    java lecture note(Java学习笔记)

    本篇Java学习笔记旨在为读者提供一个深入理解Java的基础与进阶知识的框架,帮助初学者及有一定经验的开发者提升Java编程技能。 ### 一、Java入门与基本语法 #### 课程概述 Java课程旨在介绍面向对象编程的基本原则...

    java 学习笔记大全

    这份"java 学习笔记大全"包含了深入学习Java所需的关键知识点,无论你是初学者还是经验丰富的开发者,都能从中受益。 一、Java基础 1. 变量与数据类型:Java提供了基本数据类型(如int、double、boolean等)和引用...

    java学习笔记整1理(齐全).pdf

    Java学习笔记整理(齐全) 本资源是 Java 学习笔记的详细整理,涵盖了 Java 的基本概念、开发平台、编程步骤、面向对象编程、图形界面开发、数据库编程、文件IO流编程、网络编程、多线程编程等方面的知识点。 一、...

    java从入门到精通-学习笔记整理863页.doc

    Java 语言的创始人是 James Gosling,Java 语言的第一个版本是在 1995 年发布的。现在,Java 语言的最新版本是 JDK 7.0。 九、Java 的应用方向 Java 语言可以分成三个方向:Java SE(桌面开发)、Java EE(Web ...

    java实战经典学习笔记

    ### Java实战经典学习笔记知识点概览 #### 一、Java概述及开发环境搭建 - **Java概述** - Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。 - Java的设计目标是“一次编写,到处运行”,这...

    java学习笔记JDK6课件之二

    【Java学习笔记JDK6课件之二】深入解析 Java是世界上最流行的编程语言之一,尤其对于新手开发者来说,理解并掌握JDK6是至关重要的第一步。本篇笔记将详细介绍如何下载、安装JDK,设置Path和Classpath,以及编写并...

    Java+JDK+6学习笔记.pdf

    ### Java+JDK+6 学习笔记知识点详解 #### 一、Java 概述 - **起源与发展:** - Java 最初是由 Sun Microsystems 的 Green Project 开发出来的编程语言,最初是为了创建一个名为 Star7 的应用程序。 - 1995 年 5 ...

    JAVA基础笔记第一次

    Java以其安全性、可靠性和面向对象的特性深受开发者喜爱,并具有跨平台的能力,这得益于Java虚拟机(JVM)。无论在哪个操作系统上,只要安装了对应的JVM,Java应用程序都能在其中运行,从而屏蔽了底层操作系统的差异...

    JAVA学习笔记(林信良 编著 教程)

    综上所述,《JAVA学习笔记》不仅全面介绍了 Java 的基本概念和发展历程,还深入解析了 Java 的主要特性和应用场景,并提供了实用的学习建议。对于 Java 的初学者来说,这是一本非常宝贵的学习资源。

    Java_se基础毕向东老师全程笔记

    ### 第一章:编程基础 #### 1. Java的特性和优势 - **简单性**:易于理解和使用。 - **面向对象**:支持封装、继承和多态等特性。 - **可移植性**:遵循“一次编写,到处运行”的原则。 - **高性能**:通过JIT...

    java学习笔记-基础

    ### Java学习笔记——基础知识详解 #### 一、Java开发环境(JDK)与运行环境(JRE) Java技术的核心在于其强大的跨平台能力,这主要得益于Java的两大环境:JDK(Java Development Kit)和JRE(Java Runtime ...

    JAVA学习笔记-java学习笔记WORD样式.docx

    ### JAVA学习笔记知识点详解 #### 一、计算机概述 1. **计算机**:电子设备,用于处理信息。 2. **计算机硬件**: - **中央处理器(CPU)**:计算机的大脑,负责处理指令。 - **内存(RAM)**:临时存储数据,...

Global site tag (gtag.js) - Google Analytics