自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 扩展系统功能--装饰模式

根据合成复用原则,在实现功能复用时,应该多用关联,少用继承。装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。装饰模式是一种用于替代继承的技术,通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中,为了让系统具有更好的灵活性和可扩展性,通常会定义一个抽象装饰类,而将具体的装饰类作为它的子类。Component(抽

2017-02-22 20:11:45 349

原创 phpstorm xdebug总结

在mac上配置phpstorm xdebug环境,耗时一天,做如下总结(教训惨痛)首先安装homebrewbrew install php56 php56-xdebug等待安装php56完成后,配置php本身的extension(php.ini),位置 /usr/local/etc/php/5.6/php.ini花费一天的时间就是因为,我之前先在/etc/php.ini中配置了xdebug.rem

2017-02-19 20:31:15 518

原创 欢迎使用CSDN-markdown编辑器

读优秀到不能被忽视首先,明确追随自己的激情是一个错误的前提。 认识到激情是精通的副产品。工匠思维:即刻意训练足够在某一个领域有足够技能。工匠思维一样有陷阱。如何规避在错误的方向运用工匠思维: 1. 该领域无法通过刻意训练的到足够的技能 2. 该领域本人认为无法提供给世界更好的一面或者无用 3. 工作环境中有及其令人厌恶的同事,并且无法改观有上述三点中任何一点,先选择新的工作,在刻意联系在刻意

2017-02-15 13:40:29 225

原创 代码阅读和实践笔记

高级c数据类型C指针c程序中,指针一般用来:构造链式数据结构引用动态分配的数据结构#define new(type) (type*) calloc(sizeof((type),1)[...]node = new(struct codeword_entry)实现引用调用(call by reference)访问和迭代数据元素传递数组参数在c和c++程序中,将数组传递

2017-01-14 22:20:50 709

原创 最小生成树

安全边Prim算法MST-PRIM(G,w,r) for each u belong to G.V u.key = oo u.p = NIL r.key = 0 Q = G.V while Q != null u = EXTRACT-MIN(Q) for each v belong to G.A

2017-01-03 09:52:06 275

原创 用于不相交集合的数据结构

不相交集合的操作MAKE-SET(x):建立一个集合,它的唯一成员(因而为代表)是x。因为各个集合是不相交的,所以x不会出现在别的某个集合中UNION(x,y):将包含x和y的两个集合合并。假定操作之前着两个集合是不相交的。FIND-SET(x):返回一个指针,这个指针指向包含x的(唯一)集合的代表。不相交集合的链表表示不相交森林集合按秩合并:秩表示该节点高度的一个上界

2017-01-03 09:51:56 848

转载 openjdk深入学习

对于JDK源码而言,有几个主要的仓库是你应该熟悉的:jdk这是类库存在的地方。几乎所有的内容都是Java(本地方法会使用一些C代码)。这是深入学习OpenJDK源码的一个非常好的起点。JDK的类在jdk/src/share/classes目录中。hotspotHotSpot虚拟机——这里面是C/C++和汇编代码(还有一些基于Java的虚拟机开发工具)。这些内容非常高级,如果你并不是

2016-12-25 12:57:18 1725

原创 token bucket详解

当桶里面没有令牌时,可能的处理方式:1. 直接丢掉2. 入队等待,知道令牌足够3. 可能直接处理,但是被标记为没有令牌携带的packet,当网络过载时可能被丢A conforming flow can thus contain traffic with an average rate up to the rate at which tokens are added to the buck

2016-12-22 09:26:37 5322

原创 my.cnf

[client]port = 3306socket = /tmp/mysql.sock[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysqlbind-address

2016-12-21 23:17:33 270

原创 nginx配置干货

转载PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了。更详细的模块参数请参考:http://wiki.nginx.org/Main#定义Nginx运行的用户和用户组user www www;#

2016-12-21 23:17:14 246

原创 七种面向对象设计原则

单一职责原则用来控制类粒度的大小是实现高内聚、低耦合的指导方针开闭原则:一个软件实体应该对扩展开放,对修改关闭。为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。在Java等实现中,可以为系统定义一个相对稳定的抽象层,具体实现移交到实现层。系统的可扩展性和灵活性里氏代换原则:所有引用基类的地方必须能透明地使用其子类对象。里氏代换原则是实现开闭的

2016-12-21 23:02:14 290

原创 UML

ViewDiagramModel ElementGeneral Machansim类之间的关系:关联关系就如同汽车于轮胎、班级和学生用实线箭头表示在具体到Java等语言中,通常时一个类作为另一个类的成员变量单向关联双向关联(互相拥有)自关联多重性关联聚合关系表示整体与部分的关系,在聚合关系中,成员对象是整体对象的一部分,又可以单独存在,用空心的菱形直线表

2016-12-21 23:01:43 217

原创 二叉搜索树

二叉搜索树中的关键字总是以满足二叉搜索树性质的方式来存储:设\(x\)是二叉搜索树中一个节点。如果\(y\)是\(x\)的左子树中的一个节点,那么\(y.key \le x.key\)。如果\(y\)是\(x\)右子树的一个节点,那么\(y.key \ge x.key\)二叉树性质允许通过中序遍历(inorder tree walk)算法按序输出二叉搜索树中的所有关键字。INORD

2016-12-21 23:00:00 215

原创 高级SQL特性

约束、索引、触发器

2016-08-12 13:51:19 204

原创 存储过程 与 事务管理

高级SQL

2016-08-03 00:08:51 2357

原创 SQL视图

视图

2016-08-02 23:07:43 379

原创 SQL SELECT

SQL SELECT

2016-08-02 22:01:45 529

原创 SQL更新与删除

SQL更新与删除

2016-08-02 17:29:24 785

原创 SQL表的操作

sql表的操作

2016-08-02 12:21:18 353

原创 SQL插入

sql insert

2016-07-31 19:17:36 436

原创 RecyclerView使用总结

recyclerview使用初步学习,以及局部刷新操作

2016-07-22 00:04:39 372

转载 john ubuntu14.04 subl 安装

Sublime Text是个跨平台的编辑器,支持Windows、Linux、Mac系统平台,支持各种语言的代码编辑,配合上对应的插件,话上点时间学习,你将会对它爱不释手,大大的提高你的编码效率。本文将讲解在Ubuntu 14.04系统中安装SublimeText 3,并配置SublimeClang插件来配置C/C++开发环境。Sublime Text 3的下载安装 到官方网站上http://ww

2016-05-04 16:40:45 586

原创 学习安排

有关学习算法(通过java语言实践)的学习计划安排算法与数据结构的重要性不言而喻,尤其是在找工作面试中,IT技术面试基本都会有(而且设计操作系统同步锁,进程管理等知识),在此记录下为自己制定的接下来一年时间对算法与数据结构的学习安排算法导论 :这本书在一年的后期或是寻求理论支持的时候看Algorithm(第四版) :这本书要自己跟着实现一遍(理解后自己不看书实现一遍),这是前期基本的工作,要在9月份

2016-05-01 17:04:09 264

原创 java 建造者模式

建造者模式(Bulider)工厂模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象(指某个类具有不同的属性),讲一个复杂的对象与他的表示分离,使得同样的构件过程可以创建不同的表示。适用性 1. 当创建一个复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2. 当构造过程必须允许被构造的对象有不同的表示时。参与者: * Builder

2016-04-30 23:50:07 282

原创 单例模式

3.单例模式(Singleton)在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在; 好处: 1、某些类创建比较频繁,对于一些大型对象,这是一笔很大的开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统紊乱。 首先,写一个简单的单例类:public class Sin

2016-04-28 13:16:25 271

转载 抽象工厂模式

2.抽象工厂模式(Abstract Factory)工厂方法模式有一问题,类的创建以来工厂类,想要扩展程序,必须对工厂类进行修改,这违背了闭包原则。所以,用抽象工厂模式,创建多个工厂类,一旦需要增加新的功能,直接增加新的工厂类。 example:public interface Sender{ public void Send();}两个实现类:public MailSender i

2016-04-27 20:35:55 310

转载 学习java设计模式

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石。每一个模式描述了在我们周围不断重复发生的问题,以及该问题的核心解决方案。设计模式分类:创建型:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式;

2016-04-27 10:29:09 383

空空如也

空空如也

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

TA关注的人

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