java虚拟机学习笔记

第一章 java 体系结构介绍

一.体系结构

1.java程序设计语言

2.java class文件格式

3.java应用程序接口(API application program interface)

4.java虚拟机

java虚拟机的主要任务是class文件并执行其中的字节码.

java虚拟机的执行引擎:

1.最简单的是一次性解释代码.

2.比较消耗内存,叫做"即时编译器"(just-in-time compiler).在这种情况下,第一次执行的字节码会被编译成本地机器代码.编译出的本地机器代码会被缓存,当方法以后被调用的时候可以被重用.

3.自适应优化器.在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行程序的活动,并且记录下使用最频繁的代码段.程序运行的时候,虚拟机只把那些活动最频繁的代码编译成本地代码,其它的代码由于使用的不怎么频繁,继续保留为字节码-----由虚拟机继续解释他们.一个自适应的优化器可以使得虚拟机在80%-90%的时间里执行被优化过的本地代码,而只需要编译10%-20%对性能有影响的代码.

4.由硬件芯片构成,它用本地方法执行java字节码,这种执行引擎实际上是内嵌在芯片里面的

 

java中有两种方法:java方法和本地方法.java方法是由java语言编写,编译成字节码存储在class文件中.本地方法是由其他语言编写的(比如C,C++,或者汇编语言),编译成和处理器相关的机器代码.本地方法保存在动态链接库中,格式是各个平台专有的.java方法与平台无关,但本地方法不是.运行中的java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法.本地方法是联系java程序和底层主机操作系统的连接方法.

Java本地接口(JNI java native interface)

二.类装载器的体系结构

1."启动"(bootstrap)类装载器和用户定义的类装载器.

2.java class文件

   java class文件主要在平台无关性和网络移动性方面使java更适应于网络

3.Java API(Application Program Interface)

   Java API通过支持平台无关性和安全性,使得java适应与网络应用

4.java程序设计语言

   充分使用的软件技术:

        面向对象,多线程,结构化错误处理,垃圾收集,动态链接,动态扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值