- 博客(7)
- 收藏
- 关注
原创 JVM类加载机制
虚拟机把描述类的数据从class文件加载到内存,并进行数据校验,转化解析和初始化,最终形成被虚拟机直接使用得Java类型,这个过程就是体现了虚拟机的类加载机制。类加载经历了哪些过程?类从被加载到虚拟机内存中开始,到被卸载出内存为止,总共经历了一下这些阶段:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析三个部分统称为连接,如下图所示: 其中,加载、验证、准备、初始化和卸载这5个
2016-09-30 20:54:35 346
原创 深入Java内存区域
接触Java不久,就了解到Java内存区域的简单划分,如寄存器,堆,堆栈等。在阅读《深入理解Java虚拟机》后,对于内存的划分又有了新的理解。运行时数据区域Java虚拟机在执行Java程序时会把内存划分为几个不同的数据区域,分别为程序计数器,虚拟机栈,本地方法栈,堆,方法区。而除了程序计数器之外的每个区域都会有内存溢出的现象,通过下图可以对其内存区域进行分类: 程序计数器程序计数器是一块较小的空间
2016-09-28 13:01:34 408
原创 BroadcastReceiver应用
初学Android时对于BroadcastReceiver的认识很浅,基本上是知道有广播这个东西,而没有实际应用过。最近在实践中也感觉BroadcastReceiver的强大,所以需要重新对广播的知识进行一下梳理。 BroadcastReceiver意味“广播接受者”,可以用来接收用户定义的广播或是系统的广播。系统中也存在很多类似的广播机制,比如提醒用户低电量,当电量改变时,会发送一条广播,而接收
2016-09-16 14:06:59 383
原创 责任链模式——事务处理
假设有这么一个场景,学生们有个问题,需要去处理。有大多数情况下学生个人就能搞定这个通知,如果不行就让班长帮忙。班长也无能无力的时候就可以去找到辅导员,最终解决学生的问题。这中间就形成了一个职责链,当前级别无法处理问题时,就往上交付,知道解决为止。在程序中也可以通过责任链模式来把上述的场景展现出来。 UML图: 具体的代码实现如下:/***代表职务或者是请求(问题)的等级*/public
2016-09-12 10:16:37 1351
原创 策略模式——商品促销
许多商家为了提高知名度或是其他原因会进行商品促销活动。而有时对于新老客户的促销策略又有所不同。比如新客户打9折,老客户打8折。(当然,这只是比喻)我们可以用简单的程序来表示这种促销活动。public class Merchandise { //新客户 public final static int NEW_CUSTOMER = 0; //老客户 public fina
2016-09-10 14:43:40 1204
原创 原型模式——文档复制
文档是我们在计算机上记录文字等一个工具,通常一份文档有一个大标题,也有许多个副标题。文档的复制拷贝也很常见,那么怎么在程序设计中运用原型模式来模拟文档的复制呢? 首先,通过UML图大概了解一下原型模式吧: Client:客户端类 Prototype:抽象类或接口,实现了Cloneable接口 ConcretePrototype:具体的原型类 既然需要模拟文档复制,那么就需要先建立
2016-09-10 00:13:24 462
原创 Builder模式——组装电脑
又是一个开学季,新生们都纷纷入学了。上了大学,买电脑便是每位学生要考虑的事情,作为计算机学院的一员,自然想买配置高点的电脑用来编码,这样会使用得舒服很多。可是手头又紧,想买配置好的电脑有时就会考虑自己去组装电脑。 那么,在这里就用Builer(建造者)模式来描述一下组装电脑这件事。先贴个UML图: 首先,需要一个抽象类——电脑:public abstract class Computer {
2016-09-06 21:25:59 1487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人