自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Java虚拟机之字节码执行引擎

1 概述虚拟机执行引擎是Java虚拟机最核心的部分之一,其目的是实现:输入字节码文件,将字节码解析或等效处理后,执行并输出结果。其中两种执行方式:解释执行和编译执行。2 运行时栈帧结构栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,他是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接、

2016-01-26 09:35:47 1407

原创 Java虚拟机之内存模型

1 概述Java内存模型(JMM)是Java虚拟机规范中定义的一种用于屏蔽各种硬件和操作系统的内存访问差异,以实现Java平台到达统一访问内存的效果。Java内存模型的目标是定义程序中各个变量(指实例字段,静态字段,构成数组对象的元素;不包括局部变量,方法参数与异常处理参数这些线程私有变量)的访问规则。即虚拟机中变量存储到内存和从内存取出的规则。JMM属于语言级的内存模型,它确保在不同的编译器和不同

2016-01-26 09:33:26 419

原创 Java类加载机制

1 概述虚拟机将class文件加载进内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程,为Java类加载机制。Java加载机制的生命周期:加载 验证 准备 解析 初始化 使用 卸载 7个阶段。在Java语言中,类的加载,连接和初始化都是在程序运行期间完成的。2 初始化有且仅有以下情况下,若类没有初始化过,必须初始化:遇到new getstatic putst

2016-01-26 09:31:50 579

原创 Java虚拟机之类文件结构

1、概述Java编译生成的class文件是运行在JVM虚拟机上的标准。2. ClassFileclass文件是一组以8位字节为基础单位的二进制流。各个数据项目严格排序,没有任何分隔。遇到大于8位的情况,会分隔然后将高8位放在前面。class文件结构定义如下ClassFile { u4 magic; u2 minor_version;

2016-01-13 19:50:55 1053

原创 Java虚拟机之指令集

1 概述Javac编译后的java文件的Code部分最终会保存在class文件的属性表集合的Code字段中。Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(Opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(Operands)所构成。对于大部分为与数据类型相关的字节码指令,他们的操作码助记符中都有特殊的字符来表明专门为哪种数据类型服务:i代表对int类型的数据操作,

2016-01-08 18:09:12 2837

原创 Java虚拟机之内存

1 概述Java内存包含以下几部分: 方法区/虚拟机栈/本地方法栈/堆/程序计数器 程序计数器:每个线程都有一个独立的程序计数器,即程序计数器是线程私有的。用以实现多线程切换时恢复状态。其生命周期与线程相同。虚拟机栈:Java虚拟机栈也是线程私有的,其生命周期与线程相同,其描述的是Java方法执行模型,由-Xss设置。内存不足可能造成StackOverflowError/OutOfMe

2016-01-07 15:21:27 407

原创 设计模式之概述

1 概述设计模式总体来说分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。2 设计模式的六大原则单一职责原

2016-01-07 15:14:34 642

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除