Java体系介绍(深入理解Java虚拟机)

网络带来的挑战和机遇:
平台无关性、安全性和网络移动性,Java体系的这三方面共同使得Java和发展中的网络计算环境相得益彰

Java体系结构包括四个独立但相关的技术:
Java程序设计语言
Java class文件格式
Java应用编程接口
Java虚拟机

1、Java虚拟机
Java虚拟机是一台抽象的计算机,其规范定义了每个Java虚拟机都必须实现的特征,但是给每个特定实现都留下了很多选择。
Java虚拟机的主要任务是装在class文件并且执行其中的字节码
Java虚拟机由类装载器和执行引擎组成
执行引擎有三种:
1、一次性解释字节码
2、即时编译器。(第一次执行的字节码会被编译成机器码,缓存,调用可复用)
3、自适应编译器。(常用部分编译机器码缓存)
Java中有两种方法:本地方法和Java方法。Java方法是Java语言编写,编译成字节码,存储在class文件中的。本地方法是由其他语言编写的,编译成处理器相关的机器代码。本地方法保存在动态连接库中,格式是各个平台专有的。本地方法是联系Java程序和底层主机操作系统的连接方法
本地方法接口------Java本地接口JNI使得本地方法可以在特定主机系统的任何一个Java平台实现运行。
类装载器:
Java虚拟机中存在多个类装载器
类装载器分为两种:启动类装载器和用户自定义类装载器。
启用类装载器(这是系统中唯一的)是Java虚拟机实现的一部分。启动类装载器通常使用某种默认方式从本地磁盘中装载类

原文地址:https://www.cnblogs.com/aigeileshei/p/8819896.html

时间: 2024-11-05 16:27:56

Java体系介绍(深入理解Java虚拟机)的相关文章

【转】java提高篇(二)-----理解java的三大特性之继承

[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大

Java提高篇之理解java的三大特性——继承

在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大特性之一-继承. 继承 在讲解之前我们先看一个例子,该例子是前篇博文(java提高篇之理解java的三大特性--封装)的. 从这里我们可以看出,Wife.Husband

【转】java提高篇之理解java的三大特性——多态

面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承是为了重用父类代码.两个类若存在IS-A的关系就可以使用继承.,同时继承也为实现多态做了铺垫.那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底

java提高篇(四)-----理解java的三大特性之多态

转载  http://www.cnblogs.com/chenssy/p/3372798.html 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承是为了重用父类代码.两个类若存在IS-A的关系就可以使用继承.,同时继承也为实现多态做了铺垫.那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中定义的引用变量所指向的

Java提高篇之理解java的三大特性——多态

面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承是为了重用父类代码.两个类若存在IS-A的关系就可以使用继承.,同时继承也为实现多态做了铺垫.那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底

转:java提高篇(一)-----理解java的三大特性之封装

转 CSDN https://blog.csdn.net/chenssy/article/details/12757911?utm_source=blogxgwz0 从大二接触java开始,到现在也差不多三个年头了.从最基础的HTML.CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过.失落过.寂寞过.虽然是半道出家但是经过自己的努力也算是完成了"学业".期间参加过培训机构,但是极其不喜欢那种培训方式,于是毅然的放弃了选择自学(可怜我出了6000块钱啊),虽然自学途中苦很多,

巩固java(五)----通过实例理解java多态

package duotai; class A{ public String show(){ return "A"; } } class B extends A{ public String show(){ return "B"; } public String onlyB(){ return "onlyB"; } } class C extends B{ public String show(){ return "C"; }

深入理解Java运行时数据区

前情回顾 在本专栏的前12篇博客中, 我们主要大致介绍了什么是JVM, 并且详细介绍了class文件的格式. 对于深入理解Java, 或者深入理解运行于JVM上的其他语言, 深入理解class文件格式都是必须的. 如果读者对class文件的格式不是很熟悉, 在阅读本博客下面的文章之前, 建议先读一下前面的12篇博客, 或者参考其他资料, 熟悉class文件的格式. 在深入理解Java虚拟机到底是什么 这篇博客中, 我们有提到过, JVM就是一个特殊的进程, 我们执行的java程序, 都运行在一个

深入理解Java注解类型(@Annotation)

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 深入理解Java注解类型(@Annotation) - zejian的博客 - 博客频道 - CSDN.NET zejian的博客 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]流畅的Python,终于等到你!    &am