自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张博的Blog

路漫漫其修远兮,吾将上下而求索

  • 博客(92)
  • 收藏
  • 关注

原创 Openstack MOS 8.0安装教程

环境:VirtualBox虚拟机+VirtualBox Extension PackOpenStack安装版本:MirantisOpenStack-8.0参考百度百科、姬子的博客、姬子的博客文件下载安装下载VirtualBox虚拟机+VirtualBox Extension Pack和MirantisOpenStack-8.0(注意下载的时候同时下载VirtualBox Script文件。

2016-06-13 00:48:09 3022

原创 Hadoop安装教程_单机/伪分布式配置

Hadoop安装教程_单机/伪分布式配置参考资料:给力星博客、StackOverFlow系统环境:Ubunut 14.04 64位虚拟机Hadoop版本:Hadoop 2.6.0创建Hadoop用户如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。sudo useradd -m hadoop -s /bin/bash这条命令创建了可以登陆的

2016-06-07 20:52:48 7552

原创 fastDFS架构解析和安装测试教程

fastDFS虚拟机配置教程参考资料:http://www.codexiu.cn/nginx/blog/11560/fastDFS工作原理和过程fastDFS架构 FastDFS服务端有三个角色:跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)。tracker server:跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记录集

2016-06-06 20:30:49 1134

原创 SVN is not under version control 问题解决方法

is not under version control今天在用SVN提交代码的时候出现了这个错误,可是怎么百度google,各种解决方法都无效。解决方法:删除出错的文件,然后在出错文件所在文件夹执行还原操作,然后就可以commit了

2016-05-06 16:16:08 38979 3

转载 NIO 入门

原文地址:http://www.ibm.com/developerworks/cn/education/java/j-nio/在开始之前关于本教程新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本

2016-04-05 21:15:19 1401

原创 谷歌面试题f(n)=n解析

题目Consider a function which, for a given whole number n, returns the number of ones required when writing out all numbers between 0 and n. For example, f(13)=6. Notice that f(1)=1. What is the next l

2016-03-15 22:18:03 884

转载 Hibernate映射关系(注解方式)

前言首先声明,这是一篇转发博客,不属于原创。但是感觉很有用,所以在本人的博客中记录下来。Hibernate Annotation关系映射有下面几种类型:一对一外键关联映射(单向)@OneToOne(cascade=CascadeType.ALL)@JoinColumn(name="userid",unique=true)/* 一对一外键关联,使用@OneToOne

2016-03-04 10:57:08 542

转载 hibernate annotation 之 主键生成策略

hibernate annotation 之 主键生成策略Hibernate 默认总共支持 13 种生成策略 : 1. increment        2.  identity        3. sequence4. hilo                  5. seqhilo         6. uuid7. uuid.hex    

2016-02-28 21:43:47 410

原创 Hosts更新助手

背景近日看到别人改hosts改的很辛苦,于是我说:我给你写个软件吧。其大喜,吾遂着手码之。软件链接链接: http://pan.baidu.com/s/1kUtsdNp 密码: kvkp软件做了什么获取hosts信息替换了C:\Windows\System32\drivers\etc\hosts文件刷新了DNS ipconfig /flushdns源码链接: http://pan.

2016-02-17 10:16:46 915

原创 使用Sublime Text 3 编译并运行Java程序

问题?安装好把SublimeText当作一个轻量级的编译工具来用还是不错的,可是当我下载好并且写了一个HelloWord的Java程序之后,它居然只编译不运行!那么我们几天就来解决这个问题注意:本教程针对的是Windows平台,Mac OS我已经试过了,并不行。变化原本网上是有一些关于sublime text 2的教程的,可是Sublime Text 3 和2 有些区别,主要是原来的一些配置

2016-01-25 19:26:29 34974 15

原创 浅析计算机网络(5)-选路算法

LS和DV选路算法问题??我们通过百度建立连接,搜索信息。我们发送的信息通过无数个路由器的转发才能够到达百度的服务器。那么这些分组(我们姑且这么叫它)是如何选择一条通往百度服务器的路呐?这就是这片文章要回答的问题。选路算法的分类全局选路算法:这种算法必须知道网络中每条链路的费用,LS算法是全局选路算法的一种。分散式的选路算法:每个节点仅有与其直接连接的链路的费用知识就可以开始工作,DV算法就

2016-01-10 09:16:56 6685

转载 浅析计算机网络(4)-建立连接

建立连接上面我们通过DNS访问得到了目的地的IP地址,接下来,是我们如何向其发送数据了,比如我们的要获得到百度的首页,我们是如何访问的到的,本篇文章,将从拿到IP到页面展示在我们面前,从应用层到链路层进行一个分析。首先来一个整体的架构,根据这个架构,我们再去完善我们在访问的过程中走的每一步。我们和百度建立的连接的过程,我们中间经过若干个路由器,然后数据返回到我们本地,我们便可以看到百度首页了。我们在

2016-01-04 22:30:04 678

原创 全面解析Java注解

全面解析Java注解概念Java提供了一种源程序中的元素关联任何信息和任何元数据的途径和方法注解的分类源码注解:注解只在源码中存在,编译成.class文件后就不存在了编译时注解:注解在源码和.class文件中都存在运行时注解:在运行阶段还起作用,甚至会影响运行逻辑自定义注解@Target({ElementType.METHOD,ElementType.TYPE})@Retention(

2016-01-03 15:43:58 488

原创 Java反射

Java反射类有类类型首先,记住一句话:There is a class named Classpublic class ClassDemo1{ public static void main(String[] args) { Foo foo1 = new Foo(); }}class Foo{}看上面这段代码:我们称Foo为一个类,由于在面向对象的世界里,

2015-12-29 16:43:36 1237

转载 浅析计算机网络(3) -- UDP与TCP

UDP,TCPTCP和UDP作为运输层,用来将我们的主机接受到的报文,向上传递给我们的网络层,这个交付过程是怎么样的,TCP和UDP的报文格式,和其具体的应用和其各自的能够提供的服务有那些?TCP的连接又是怎样维持的的,这些问题接下来将要在本篇博客中要写的。UDP,TCP在哪里服务TCP和UDP发挥作用的地方是在我们的主机,也就是链路层接收到数据报之后,UDP和TCP开始发挥作用,根据协议的相应规定

2015-12-24 19:03:32 696

转载 浅析计算机网络(1) -- 主机如何上网

主机如何上网首先我们要考虑的一个问题就是,我们的主机如何连入到网络之中,也就是为什么当我们将电脑连接网线之后,我们就可以上网了,这个过程发生了什么?首先根据上图,我们来一个总览,当我们的电脑通过网线接入的时候,是如何获取到IP的来上网的,当我们用手机连接wifi又是如何获取IP来上网的。拨号连接对于拨号连接,当我们电脑连接网线,然后开始进行拨号连接的时候,我们的电脑此时在拨号未成功前已经进入了一个网

2015-12-16 15:49:45 1548

原创 浅析计算机网络(2) -- DNS工作原理

DNS的工作原理来做个小实验吧打开你的终端或者DOS命令运行窗口,输入ping www.baidu.com看看发生了什么如果你的网络正常连接的话,应该可以看到这样的结果 把其中的111.13.100.92(你的显示的可能不一样,不用担心,放心复制)复制到浏览器,然后访问后你是不是看到了百度首页了呐。域名与IP地址我们将www.baidu.com这样的能定位到某个网站的字符串叫做域名将111

2015-12-16 15:46:33 1675

原创 《iOS Programming》 读书笔记 Day1

OC方法签名OC和其他语言不同, Objective-C 中,方法的唯一性取决于方法名。因此,即使参数类型或返回类型不同, 一个类也不能有两个名称相同的方法。OC释放对象- 将指向对象的变量设置为 nil,可以要求程序释放该对象,代码如下: partyInstance = nil;这行代码会释放 partyInstance 变量所指向的对象Nil会自动忽略发送给自己的消息- 与Java等语言不

2015-11-25 14:47:44 605

原创 OC中关于类的问题

摘自Programing in Objective-C

2015-11-23 22:47:27 325

原创 Java实现哲学家就餐问题

什么是哲学家就餐问题?可以参考百度百科或者维基百科维基百科我给出一种方法的实现 Chandy/Misra解法 1984年,K. Mani Chandy和J. Misra提出了哲学家就餐问题的另一个解法,允许任意的用户(编号P1, …, Pn)争用任意数量的资源。与资源分级解法不同的是,这里编号可以是任意的。 把筷子凑成对,让要吃的人先吃,没筷子的人得到一张换

2015-11-19 21:03:57 3588

转载 JDK高性能编程之容器

JDK高性能编程之容器原文链接:http://my.oschina.net/smartsales/blog/518232读书笔记内容部分来源书籍深入理解JVM、互联网等,如有错误,请指正,我会及时更正,感谢。先放一个类图util,点击打开看明细j360-jdk调试功能https://github.com/xuminwlt/j3

2015-10-19 17:18:12 499

原创 JDBC(Java Database Connection) 教程

什么是JDBC?JDBC为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成。是java程序与数据库系统通信的标准API。JDBC API使得开发人员可以使用纯java的方式来连接数据库,并执行操作。sun公司由于不知道各个主流商用数据库的程序代码,因此无法自己写代码连接各个数据库,因此,sun公司决定,自己提供一套API,凡事数据库想与java进行连接的,数据库厂

2015-10-13 10:43:36 3383

原创 MySQL 数据库的命令行操作

操作 命令 登录操作 mysql -h localhost -u root -p 123456 退出操作 exit 数据库操作 建库:create database testjdbc; 卸载库:drop database testjdbc; 显示所有数据库:show databases; 选择库:use testjdbc; 表操作 建立表的操作creat table

2015-10-12 21:28:26 385

原创 mac 终端ssh远程连接到服务器

ssh链接命令 ssh -p 22 [email protected]第一次链接有这样的提示 The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.ECDSA key fingerprint is SHA256:XXXXXXXXXXXXX. Are you sure you wa

2015-10-12 18:57:37 934

原创 阿里云服务器MySql的安装

远程登录服务器sudo apt-get update 如果是第一次开启,需要更新一下sudo apt-get install mysql-server mysql-client 安装mysql 中间会让输入root密码 然后等待安装完毕如果需要用C语言连接数据库的话还需要安装 sudo apt-get install libmysqlclient-devsudo netstat -tap

2015-10-12 18:38:17 3595

原创 正则表达式(Regular Expression)教程

正则表达式简介为什么需要正则表达式 文本的复杂处理正则表达式的优势和用途 一种强大而灵活的文本处理工具;大部分编程语言、数据库、文本编辑器、开发环境都支持正则表达式正则表达式定义: 正如它的名字一样是描述了一个规则,通过这个规则可以匹配一类字符串。学习正则表达式很大程度上就是学习正则表达式的语法规则开发中使用正则表达式的流程: 分析所要匹配的数据,写出测试用的典型数据在工具软件

2015-10-05 21:45:02 1230

原创 GOF 23 设计模式之 备忘录模式(Memento)

场景录入大批人员资料。正在录入当前人资料时,发现上一个人录错了,此时需要恢复上一个人的资料,再进行修改。Word文档编辑时,突然电脑死机或断电,再打开时,可以看到word提示你恢复到以前的文档管理系统中,公文撤回功能。公文发送出去后,想撤回来。核心就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复到原先的状态结构 源发器类Originator备忘录类Memento负责人类C

2015-10-05 20:19:43 276

原创 GOF 23 设计模式之 观察者模式(Observer)

场景聊天室程序的创建。服务器创建好后,A,B,C三个客户端连上来公开聊天。A向服务器发送数据,服务器端聊天数据改变。我们希望将这些聊天数据分别发给其他在线的客户。也就是说,每个客户端需要更新服务器端的数据网站上,很多人订阅新闻。当有某个主题的新闻时,就会将这些新闻发给所有订阅的人。大家一起玩CS游戏时,服务器需要将每个人的方位变化发送给所有的客户。上面这些场景,我们都可以使用观察者模式来处理

2015-10-05 14:51:35 395

原创 GOF 23 设计模式之 状态模式

场景红绿灯 红灯,绿灯,黄灯网上购物时,订单的状态 下单已付款已发货送货中已收货核心用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题结构Context环境类 环境类中维护一个State对象,他是定义了当前的状态State抽象状态类ConcreteState具体状态类 每一个类封装了一个状态对应的行为 开发当中常见的场景银行系统中帐号状态的管理OA系统中

2015-10-05 11:39:58 437

原创 GOF 23 设计模式 之 模版方法模式(template method)

场景:客户到银行办理业务: 取号排队办理具体业务(多种业务)给银行工作人员评分模版方法模式介绍:模版方法模式是编程中经常使用的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。核心:处理某个流程的代码都已经具备,但是其中某个节点的代码暂时不能确定。因此,我们采用工厂方法模式,将这个节点的代码实现

2015-10-04 17:20:09 406

原创 GOF 23 设计模式之 解释器模式(Interpreter)与访问者模式(Visitor)

解释器模式介绍是一种不常用的设计模式用于描述如何构成一个简单的语言解释器,主要用于使用面相对象语言开发的编译器和解释器设计当我们需要开发一种新的语言时,可以考虑使用解释器模式尽量不要使用解释器模式,后期维护会有很大的麻烦。在项目中,可以使用Jruby,Groovy,java的js引擎来替代解释器的作用,弥补java语言的不足。开发中常见的场景EL表达式的处理正则表达式的解释器SQL语

2015-10-04 14:23:27 915

原创 GOF23设计模式之 命令模式command

介绍命令模式:将一个请求封装成一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。也称之为:动作Action模式、事务transaction模式。结构Command抽象命令类ConcreteCommand具体命令类Invoker调用者/请求者 请求的发送者,它通过命令对象来执行请求。一个调用者并不需要在设计时确定其接受者,因此它只与抽象命

2015-10-04 00:07:14 696

原创 GOF23设计模式之 中介者模式Mediator

核心如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多的关系,将熬制关系及其复杂,这些对象称之为 “同事对象”我们可以阴雨一个中介者对象,使各个同事对象只跟中介者打交道,将复杂的网络结构化解为星形结构。中介者模式类图中介者模式的本质解耦多个同事对象之间的交互关系。每个对象都持有中介者对象的引用,只跟中介者对象打交道。我们通过中介者对象统一管理这些交互关系开发当中常见的场景

2015-10-03 23:43:46 246

原创 GOF23设计模式之 迭代器模式

场景:提供一种可以遍历聚合对象的方式。又称为:游标cursor模式聚合对象:存储数据迭代器:遍历数据基本案例实现正向遍历的迭代器实现逆向遍历的迭代器开发中常见的场景JDK内置的迭代器(List/Set)一种实现MyIteratorpackage com.coderbean.iterator;/** * Created by Chang on 15/10/3. */publ

2015-10-03 19:48:08 425

原创 GOF 23 设计模式之 责任链模式(Chain Of Responsibility)

定义:将能够处理同一类请求的对象连成一条链,所提交的请求验者链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。场景打牌时,轮流出牌接力赛跑大学中,奖学金审批公司里,公文审批实现方式链表方式定义职责链非链表方式定义职责链 通过集合、数组生成职责链更加实用!实际上,很多项目中,每个具体的Handler并不是由开发团队定义的,而是项目上线后

2015-10-03 15:46:04 567

原创 GOF 23设计模式之 享元模式(FlyWeight)

场景:内存属于稀缺资源,不要随便浪费。如果游很多个完全相同或类似的对象,我们可以通过享元模式,节省内存。核心享元模式以共享的方式高效地支持大量细粒度对象的重用。享元对象能做到共享的关键是区分了内部状态和外部状态。 内部状态:可以共享,不会随环境变化而变化外部状态:不可以共享,会随环境变化而变化围棋软件设计每个棋子都是一个对象,有如下属性 颜色形状大小位置其中1,2,3这些是

2015-10-02 17:42:52 370

原创 GOF 23设计模式之 外观模式 迪米特法则

迪米特法则(最少知识法则)一个软件实体应当尽可能少的与其他实体发生相互作用。外观模式的核心 为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用。

2015-10-02 13:53:02 414

原创 GOF 23设计模式之 装饰模式(Decorator)

职责:动态的为一个对象增加新的功能装饰模式是一种代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。实现细节: - Component抽象构件角色 - 真实对象和装饰对象有相同的接口。这样,客户端对象就能够以与真实对象相同的方式同装饰对象交流。 - ConcreteComponent 具体构建角色(真实对

2015-10-01 21:13:11 498

原创 GOF 23设计模式之 组合模式(composite)

组合模式使用组合模式的场景:把部分喝整体的瓜你用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象组合模式核心:抽象构件(Component)角色:定义了叶子和容器构件的共同点叶子(Leaf)构件角色:无子节点。容器(Composite)构件角色:有容器特征,可以包含子节点.组合模式工作流程分析:组合模式为处理树形结构提供了完美的解决方案,描述了如何将容器和叶子进行递

2015-09-29 20:02:08 654

原创 GOF 23设计模式之 桥接模式

桥接模式场景:商城系统中常见的商品分类,以电脑为类,如何良好的处理商品分类销售的问题?我们可以采用多层继承结构实现上面的关系如果使用继承结构存在的问题 扩展性问题(类个数膨胀问题) 如果要增加一个新的电脑类型,则要增加各个品牌下面的类。若果要增加一个新的品牌盘,也要增加各种电脑类型的类违反单一职责原则 一个类:联想笔记本,有两个引起这个类变化的原因。将这个场景分成两个维度

2015-09-29 19:52:23 333

空空如也

空空如也

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

TA关注的人

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