自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小小本科生成长之路

不积跬步,无以至千里;不积小流,无以成江海。

  • 博客(19)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java设计模式19——观察者模式

一、定义观察者模式定义了一个一对多的依赖关系,让多个观察者对象同时监听同一个主题对象。当这个主题状态发生改变时,会通知所有观察者对象,让它们自动更新自己。二、类似场景聊天室程序的创建。服务器创建好后,A、B、C三个客户端连接好公开聊天。A向服务器发送数据,服务器在将数据分别发送给其他在线客户。也就是说,每个客户端需要更新服务器端的数据。网站上,很多人订阅了“Java主题”的新闻。当有这个主题新闻

2016-11-20 18:37:00 2344 1

原创 Java设计模式18——状态模式

一、定义状态(State)模式又称为状态对象模式(Pattern of Objects for State),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变时改变其行为,用于解决系统中复杂对象的状态装换以及不同状态下行为的封装问题。状态和行为:   所谓对象的状态,通常指的就是对象实例的属性的值;而行为指的就是对象的功能,再具体点说,行为大多可以对应到方法上。  状态模式的功能就是

2016-11-16 19:46:08 22881 8

转载 Android 异步消息处理机制(Handler 、 Looper 、MessageQueue)源码解析

原文出处:http://blog.csdn.net/amazing7/article/details/514240381、Handler的由来   当程序第一次启动的时候,Android会同时启动一条主线程( Main Thread)来负责处理与UI相关的事件,我们叫做UI线程。  Android的UI操作并不是线程安全的(出于性能优化考虑),意味着如果多个线程并发操作UI线程,...

2016-11-15 22:26:21 1573 1

原创 Java设计模式17——模板方法模式

一、介绍模板方法模式是编程中经常用到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。二、场景举例当一个客户到银行办理业务时,有以下流程:1.取号排队2.办理具体现金/转账/企业/理财业务3.给银行工作人员评分这时办理业务的一个标准流程,其中一三步是确定的,而第二步往往并不确定只有等到到窗口办理业务时

2016-11-15 18:20:22 2164 1

原创 Java回调机制简单讲解

今天刚好学了一下设计模式中的观察者模式,其中涉及到了回调的相关内容,以前也经常用到回调函数,今天稍微总结一下相关内容。回调所谓回调:简单来说就是,A对象调用了自己的方法a,方法a接收的参数是B接口的实例b,而在方法a中将执行接口B中的方法c。这样解释可能有点绕不过来,下面我们来看一个例子: 比如宿舍的某个同学设置了一个闹铃,闹铃响时全宿舍的人都能听到,但是张三比较勤奋,听到铃声后起床了,李四比较懒

2016-11-14 22:57:51 1817 1

原创 JVM学习06——类加载器

一、类加载器  虚拟机设计团队把类加载过程中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。二、类与类加载器   类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Jav

2016-11-14 19:44:37 671

原创 Java设计模式16——策略模式

一、定义  策略(strategy)模式属于对象的行为模式。其用途是针对一组算法,将每个不同算法封装到具有共同接口的独立类中,从而使他们可以相互替换。即使 算法和对象分开来,使得算法可以独立于使用它的客户而变化。二、场景某个市场人员接到单后的报价策略。报价策略很复杂,可以简单作如下分类:普通客户小批量,不打折普通客户大 批量,打9折老 客户小批量,打8.5折老 客户大批量,打8折 我们通常

2016-11-14 08:30:27 5197 5

原创 Java设计模式15——命令模式

一、介绍命令模式:将一个请求封装为对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。也称为:动作(Action)模式、事务(transaction)模式。二、模式结构Command抽象命令类: 声明执行操作的接口。ConcreteComand具体命令类:通常持有 一个接收者对象并绑定于一个动作, 调用接收者相应的操作,以实现execute方法。I

2016-11-12 21:49:58 731

转载 Java虚拟机学习 - 类加载过程

原文出处:http://blog.csdn.net/java2000_wl/article/details/8040633类加载机制:   JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备

2016-11-12 09:42:07 781

原创 Java设计模式14——中介者(Mediator)模式

一、定义用一个中介对象封装一系列对象的交互,中介者是多个对象不需要显示的相互作用,而且可以独立的改变他们的交互。二、举例通过上述定义可能不好理解,下面举一个例子,假如在一个没有总经理的公司中,有三个部门:财务部、市场部、研发部。那么财务部负责发工资,需要和市场部及研发部都通气;市场部负责接新项目,需要研发部处理技术、需要财务部出资金;虽然只有三个部门,但关系非常乱,就像下图: 但是实际上,公司都有

2016-11-11 21:06:27 11685 4

原创 Java设计模式13——迭代器模式

一、场景对于学习了Java的同学来说,“迭代”这个词并不会陌生,我们经常使用Iterator接口对Collection下的集合类进行遍历,常见代码:Iterator iterator=list.iterator();while(iterator.hasNext()){//进行遍历}这便是很好的迭代器模式应用例子。我们可以在不暴露集合类的内部结构情况下,通过迭代器让外部客户端透明的访问其内部的数

2016-11-09 19:15:34 932

原创 Java设计模式12——责任链模式

一、定义  将能够处理同一类请求的对象连成一条链,所提交的请求将沿着这条链传递,链上的对象逐个判断是否有能力处理该请求,如果有则处理,如果没有则将请求传递给下一个对象处理。二、场景举例1.生活中场景 在学校时,请假条的审批过程:如果请假小于3天,辅导员直接批准。如果请假大于等于3天小于10天,需院长审批。如果请假大于等于10天小于30天,校长审批。请假被拒绝2.开发中场景   Java

2016-11-07 20:07:33 1038

原创 Java设计模式11——享元模式

一、适用场景  内存属于稀缺资源,不能随意浪费。如果在一个系统中有很多个完全相同或相似的对象,我们就可以使用享元模式,让他们共享一份内存即可,不必每个都去实例化对象,从而节省内存空间。二、模式核心享元模式以共享的方式高效的支持大量细粒度对象的重用。享元对象能做到共享的关键是区分了内部状态和外部状态。 内部状态:可以共享,不会随环境改变而改变。外部状态:不可以共享,会随环境改变而改变。围棋例

2016-11-06 14:58:56 24542 5

原创 JVM学习05——内存分配与回收

对象的内存分配从大方向上将,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB(转换后援缓冲器)上分配。少数情况也可能直接分配在老年代中,分配规则不固定,取决于当前垃圾收集器组合及虚拟机内存相关参数。    -XX:+PrintGCDetail 打印内存回收日志1.对象优先在Eden区

2016-11-06 09:24:35 8781 4

转载 Java设计模式10——外观模式

外观模式是最简单的设计模式之一,所以我就不再去重写了,简单的总结转载看到的一篇文章,原文链接:http://blog.csdn.net/jason0539/article/details/22775311一、定义外观模式(也称为门面模式)定义了一个高层接口,为子系统中的一组接口提供了一个一致的界面,从而使得这一组子系统更加容易使用。 这个模式很好的遵循了迪米特法则(最少知识法则),即一个软件应当尽

2016-11-05 21:09:44 1312

原创 Java设计模式学习09——装饰模式

一、定义装饰(Decorate)模式又称为包装(Wrapper)模式。装饰模式是以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。二、职责动态的为一个对象增加新的功能。装饰模式是一种用于代替继承的技术,无须通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。三、装饰模式结构装饰模式类图:Component抽象构件角色:真实对

2016-11-03 19:11:02 3987 5

原创 JVM学习04——垃圾收集器

如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。这里讨论的收集器基于JDK 1.7Update 14之后的HotSpot虚拟机。如图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明他们可搭配使用。1.Serial收集器   Serial收集器是一个单线程的新生代垃圾收集器,使用复制收集算法。它的“单线程”是指,它在进行垃圾收集时必须停止其他所有的工作线程

2016-11-02 22:32:24 770 1

原创 Java设计模式学习08——组合模式

一、组合模式适用场景把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式对部分对象和整体对象进行管理。二、组合模式结构抽象构件(Conponent)角色:所有类的共有接口,定义了叶子和容器的共同点。叶子(Leaf)构件角色:在组合中表示叶子结点对象,叶子节点无子节点。容器(Composite)构件角色:有容器特征,可以 用来存储子节点,在Component接口中实现与子节点有关操

2016-11-02 19:44:52 31730 3

原创 Java设计模式学习07——桥接模式

一、场景商城系统中常见的商品分类,以电脑为例,如何良好的处理商品分类销售的问题?我们可以用多层继承实现下图的关系:实现代码如下:public interface Computer { void sale();}class Desktop implements Computer{ @Override public void sale() { System.o

2016-11-01 20:03:31 1391 1

jackson-core-asl-1.9.13.jar和 jackson-mapper-asl-1.9.13.jar

jackson-core-asl-1.9.13.jar和 jackson-mapper-asl-1.9.13.jar

2017-03-08

jackson-core-asl-1.9.13.jar

jackson-core-asl-1.9.13.jar

2017-03-08

二叉树的java实现

二叉树的java实现

2016-07-14

Android Studio仿Uber登陆界面

Android Studio仿Uber登陆界面

2016-04-10

Android studio的Uber登录界面

Android studio的Uber登录界面

2016-04-04

空空如也

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

TA关注的人

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