2019年2月19日
摘要: 策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化对于使用算法的客户。 观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。 装饰者模式:动态地将责任附加到对象上去,若要扩展功能,装饰着提供了比继承更有弹性的替代 阅读全文
posted @ 2019-02-19 18:47 FFStayF 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 运行时栈帧结构 栈帧是用来支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。 栈帧存储了方法的局部变量表、操作数栈、动态连接、和方法返回地址等信息。 方法的调用到执行完成对应一个栈帧的入栈到出栈过程。 局部变量表 一组变量值存储空间,用于存放方法参数和方法内部定 阅读全文
posted @ 2019-02-19 18:46 FFStayF 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 加载和存储指令 将局部变量加载到操作栈:iload 将数值从操作栈存储到局部变量表istore 将一个常量加载到操作数栈:bipush、ldc、iconst 运算指令 加法:iadd 减法:isub 乘法:imul 除法:idiv 求余:irem 取反:ineg 位移:ishl,ishr 或:ior 阅读全文
posted @ 2019-02-19 18:44 FFStayF 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 虚拟机类加载 类加载的生命周期 加载、验证、准备、解析、初始化、使用和卸载 其中验证、准备、解析3个部分统称为连接。 加载、验证、准备、初始化和卸载顺序是确定的的. 5种情况必须立即对类进行“初始化”,且“有且只有” ①遇到new,getstatic,putstatic或invokestatic。生 阅读全文
posted @ 2019-02-19 17:52 FFStayF 阅读(186) 评论(0) 推荐(0) 编辑