本系列文章系《深入java虚拟机》的读书笔记。希望高手能帮助小弟进步。
java技术的核心就是java虚拟机。所有的java程序都运行其之上。
java是为网络而设计的,其体系结构可以保证安全,健壮,且平台无关的程序通过网络传播,在不同的计算机和设备上运行。
java体系结构包含四个独立但相关的技术:
1.java语言
2.class文件
3.java api
4.java虚拟机
其中,核心就是java虚拟机,它支持面向网络的体系结构的三大支柱:
1.平台无关
2.安全性
3.网络移动性
java虚拟机是个处理java程序的虚拟计算机。换句话说,java虚拟机可以用软件或硬件的方式来实现处理java字节码。
java虚拟机的基本结构:
1.classloader
2.执行引擎
其中classloader来装载class文件,而执行引擎则来处理java字节码并转换称机器语言来执行。
执行引擎的不同实现方式:
1.一次性解释字节码
2.第一次执行的后的本地代码转换之后的机器码被缓存到内存。
3.前2者的综合,只缓存频繁使用的代码
当虚拟机处理系统相关特性的东东时候,会使用JNI接口来调用本地库。dll,so等等
classloader的体系结构
1.bootstrap classloader
2.用户自定义 classloader
bootstrap 跟系统结合更紧密一些,一般可能不是java实现。默认从本地磁盘装载class,包括java api的class
用户自定义classloader,用户可以随便自定义,用java来实现class的装载,例如从网络下载class并且装载。
用户自定义classloader的好处就是可以在运行期装载class,不需要在编译器把所有的类静态加载,增强了类加载的可扩展性。
虚拟机会把装载第一个类的classloader装载被该类引用的类。默认只能看到同一个classloader里的类。
java class文件,平台无关的主要原因就是所有平台的虚拟机都是用统一格式的class文件
java api,内部设计和平台无关,通过JNI调用本地方法。增强了java安全模型。当java api试图访问潜在危险之前,都会询问安全管理器。
java程序设计语言,这里不是主要关注点,略。
java体系结构追求四平八稳的结果,必然带来一些代价。比如gc的不确定性,会导致系统莫名其妙卡住。平台无关导致API不能有个性化东东,等等。。。
总之,java仅仅是个平台和工具,如果你选择了它,请你尽量了解它,所以学习以下java虚拟机的相关东东。
分享到:
相关推荐
### Java体系结构介绍 #### 一、Java 是什么 Java是一种高级编程语言,它具有开放性、跨平台性、安全性及面向对象等特性。Java语言的设计借鉴了C和C++等面向对象语言的经验,但在语法上更为简洁。它可以运行在多种...
Java体系结构,从基础到高级介绍整个Java体系。
JVM与Java体系结构
在Java体系结构中,类加载器是关键组件,它负责加载类到JVM中。类加载器分为Bootstrap ClassLoader、Extension ClassLoader和App ClassLoader,它们按照层次结构加载不同位置的类,确保了程序的正常运行。 内存模型...
自己总结的jvm中jvm与java体系结构新特性的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合jvm的爱好者和学习者
13.java异常的体系结构.zip13.java异常的体系结构.zip13.java异常的体系结构.zip13.java异常的体系结构.zip13.java异常的体系结构.zip13.java异常的体系结构.zip13.java异常的体系结构.zip13.java异常的体系结构.zip...
Java学习体系结构是一个全面的指南,旨在帮助初学者掌握Java编程技能,并逐步深入到JavaEE应用开发。以下是对各个知识点的详细说明: 1. **JavaSE基础**:这是学习Java的第一步,包括JDK的安装,编写HelloWorld程序...
Java模式、框架与体系结构是Java开发中的三个关键概念,它们相互关联且在软件设计中起着至关重要的作用。理解这些概念有助于提升编程效率和软件质量。以下是对这些概念的详细解释: **模式(Pattern)** 模式是解决...
在深入探讨Eclipse Web开发的Java体系结构、工具、框架及整合应用之前,我们首先要明白,Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java开发者社区中极为流行。它提供了丰富的功能,包括代码编辑、...
精通Eclipse Web开发 Java体系结构、工具、框架及整合应用.rar
#### 第一章 Java体系结构介绍 - **Java体系结构概述**:本章主要介绍了Java体系结构的基本概念及其组成部分。Java体系结构旨在为开发者提供一个统一、高效且跨平台的应用开发环境。 - **Java虚拟机(JVM)**:JVM是...
《精通Eclipse Web开发--Java体系结构、工具、框架及整合应用》这本书是为Java开发者提供的一本深度学习Eclipse IDE、Web开发技术以及相关工具和框架的指南。以下是本书涵盖的一些关键知识点: 1. **Java体系结构**...
java知识结构图
Java异常体系结构是Java语言的重要组成部分,它负责处理程序执行过程中出现的错误情况。在Java中,异常由Throwable类及其子类构成。Throwable是所有异常的顶层父类,它有两个直接子类:Error和Exception。Error类...
第1章 Java体系结构介绍 第2章 平台无关 第3章 安全 第4章 网络移动性 第5章 Java虚拟机 第6章 Java class文件 第7章 类型的生命周期 第8章 连接模型 第9章 垃圾收集 第10章 栈和局部变量操作 第11章 类型转换 第12...
基于MVC模式的java体系结构图,视图包括html,css,div,ajaxflash,javascript,xml,jsf,tag,控制器包括JSP,SERVLET。
JAVA体系结构很经典的 。。。。。。。。。。。。。。。。
Java体系结构测试库是软件开发中的一个重要工具,它允许开发者定义和验证代码的架构规则,以确保代码质量、模块化和可维护性。这个特定的库专注于在纯Java环境中进行这些操作,这意味着它无需依赖于特定的构建工具或...
第1章 java体系结构介绍 1.1 为什么使用java 1.2 网络带来的挑战和机遇 1.3 体系结构 1.3.1 java虚拟机 1.3.2 类装载器的体系结构 1.3.3 java class文件 1.3.4 java api 1.3.5 java程序设计...