- 博客(5)
- 资源 (12)
- 收藏
- 关注
原创 《深入理解Java虚拟机》——类加载的时机与过程
在介绍完类的文件结构与字节码指令之后,我们就需要思考一下类文件是怎么被虚拟机加载与解析的?本篇文章将围绕这两点来进行总结。虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开
2017-10-29 20:50:24 1008 2
原创 《深入理解Java虚拟机》——字节码指令简介
Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的架构,所以大多数的指令都不包含操作数,只有一个操作码。字节码指令集是一种具有鲜明特点、优劣势都很突出的指令集架构,由于限制了Java虚拟机操作码的长度为一个字节(即0
2017-10-29 20:37:09 789
原创 《深入理解Java虚拟机》——类文件结构
上篇文章主要讲述了类文件结构的魔数与常量池的内容,这篇文章继续阐述类文件结构的剩余内容,主要涉及:访问标志、类索引与父类索引以及接口索引集合、字段表集合、方法表集合、属性表集合。访问标志在类文件结构中常量池之后,紧接着的两个字节代表访问标志(access_flags),这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口;是否定义为public类型;是否定
2017-10-29 19:57:33 489
原创 《深入理解Java虚拟机》——类文件结构之魔数常量池
相对于Java虚拟机的其他部分,这部分的内容我们只需要搞清楚下面两个方面的内容:1.无关性2.Class文件的结构与组成我们都知道Java有个特性是:一次编写,到处运行。这里体现的是平台无关性,但是对于Java虚拟机来说,不仅仅是具有平台无关性的特点,还具有语言无关性的特性。各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构
2017-10-11 15:41:43 796
转载 BLE协议栈的学习笔记
BLE的协议可分为Bluetooth Application 和Bluetooth Core两大部分,而Bluetooth Core又包含BLE Controller和BLE Host两部分。Physical Layer:任何一个通信系统,首先要确定的就是通信介质(物理通道,Physical Channel),BLE也不例外.在BLE协议中,"通信介质"的定义是由Physica
2017-10-09 22:28:51 4441
Android轮播控件
2015-12-18
ServiceDemo
2015-05-03
NDKHelloWorld
2015-04-06
Android进程Demo
2014-12-10
ViewFlipperDemo
2014-11-06
Android首页轮播效果Demo
2014-10-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人