自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Be a learner Not a knower.

如果你的动机足够强大,你的愿望足够强烈,而你又能够坚持不懈,不屈不挠,没有什么能够阻止你完成你的目标。 ​​​​

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

转载 Android adb远程调试

adb本身提供了网络调试的功能,所以,在不能直接用USB连上Android手机的情况下,可以使用WiFi连接adbd进行调试。具体方法如下:方法一 临时使用如果只是暂时需要用WiFi连adb:1.    手机、PC连上AP,确保两者能够正常分配IP(ifconfig查看):PC: 手机: (可以ping一下,验证互通;若不互通,请检查AP,PC,

2018-01-26 14:16:55 42207 6

转载 Android.mk 文件语法详解

1. Android.mk简介Android.mk 文件用来告知 NDK Build 系统关于Source的信息。Android.mk 是GNU Makefile 的一部分,且将被 Build System解析一次或多次。所以,请尽量少的在 Android.mk 中声明变量,也不要假定任何东西不会在解析过程中定义。Android.mk 文件语法允许我们将 Source 打包成一个"

2017-10-25 16:31:07 339

转载 OpenNI2 开发者指南

OpenNI 2.0 API(应用程序编程接口)提供了访问PrimerSense的兼容深度传感器。这就使得一个应用程序能够初始化传感器和从设备接收深度(depth),彩图(RGB)和红外(IR)视频流,还提供了一个统一的接口给传感器和通过深度传感器创建.oni记录文件。OpenNI也提供了第三方中间件开发者可以相互使用深度传感器的统一接口。应用程序还能用第三方中间件(如NITE2),也可以使用直接由OpenNI提供的基础的深度和视频数据。

2017-09-28 09:12:34 1487

转载 OSI 七层模型及各层功能

OSI 是 Open System Interconnect 的缩写,这个模型把网络通信的工作分为7层,它们由低到高分别是应用层(Application Layer)。表示层(Presen tation Layer)会话层(Session Layer传输层(Transport Layer),网络层(Network Layer),数据链路层(Data Link Layer),物理层(Physical

2017-09-25 16:11:05 2565

原创 Hadoop环境搭建及WordCount实验详解

Hadoop环境搭建及WordCount实验详解一、实验内容(1)Hadoop 环境搭建。(2)Map-Reduce分布式编程。二、实验步骤1、集成环境搭建(1)设置hostname(需要重新启动机器生效)$ sudo vim /etc/hostname(2)设置静态IP地址$ ifconfig(3)记录集群信息     机器名     

2017-06-12 12:16:47 1516

原创 软件工程(C语言实践篇)课程总结

杨军 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006C编码实践篇实验报告https://www.shiyanlou.com/courses/reports/1271134  【实验一:写一个hello world小程序】https://www.shiyanlou.com/courses/rep

2017-06-05 17:56:58 570

原创 适配器模式(Adapter Pattern)

结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。        结构型模式可以分为类结构型模式和对象结构型模式:       (1)类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系。

2017-05-04 15:58:09 349

原创 建造者模式(Builder Pattern)

建造者模式结构       建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型

2017-05-03 20:06:08 354

原创 Java知识点(五)——集合框架

1、List 和 Array 数组之间如何互相转换?数组转集合:asList()方法    String[] arr = {"123", "456","789"};    List list =Arrays.asList(arr);集合转数组:toArray()方法    ArrayList al = newArrayList();    al.add("abc1");

2017-05-03 15:00:44 206

原创 Java知识点(四)——多线程

1、进程和线程的区别进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程和线程的关系:(1)一个线程只

2017-05-03 12:23:05 266

原创 Java知识点(三)——异常

1、Java异常处理机制总结(1)对捕获到的异常对象进行常见方法操作:String getMessage():获取异常信息。(2)对多异常的处理:        A) 声明异常时,建议声明更为具体的异常,这样处理的可以更具体。        B) 声明几个异常,就对应有几个catch 块。不要定义多余的 catch 块。如果多个catch 块中的异常出现继承关系,父类异常 catc

2017-05-02 21:46:24 251

转载 计算机网络基础知识

基本概念划分OIS的七层协议应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。OIS的五层协议应用层、运输层、网络层、数据链路层、物理层。第一章 物理层特性:机械特性、电气特性、功能特性、过程特性。 数据通信系统:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接受端、接受方)源系统:源点:源点设备产生要传输的数据。源点

2017-05-01 17:42:12 1013

原创 Java知识点(二)——三大特性:封装继承多态

1、如何理解多态?多态是一种运行期的行为,不是编译期的行为。多态:父类型的引用可以指向子类型的对象。比如 Parent p = new Child();当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的该同名方法。如果想要调用子类中有而父类中没有的方法,需要进行强制类型转换,如上面的例子中,将 p 转换为子类 Child 类型的引用。因为当用

2017-04-29 17:29:31 377

原创 Java知识点(一)——基础知识

1、主方法中 args 是什么意思?String[] args:是保存运行 main 函数时输入的参数的字符串数组,当在 cmd 运行时,输入:java test a b c,数组就会将 abc 保存起来:args[0] = a; args[1] = b; args[2]= c; 这些变量在程序中是可以调用的。2、& 和 && 有什么区别?(1) & 和 && 都可以用作逻辑与的运算符

2017-04-27 14:34:24 335

原创 负载均衡(Load Balance)

负载均衡(Load Balance)       随着有线无线网络的渐渐扩张,大规模网络的建设和应用,大量信息的交互和流动,给我们的服务器带来了空前的压力。那么,如何进行一个优化,如何缓解单一服务器的压力呢?这就引出了负载均衡这个概念。那么,什么是负载均衡呢?一、概述       由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计

2017-04-25 20:43:26 421

转载 分布式系统的架构思路

一、前言       在计算机领域,当单机性能达到瓶颈时,有两种方式可以解决性能问题,一是堆硬件,进一步提升配置,二是分布式,水平扩展。当然,两者都是一样的烧钱。今天聊聊我所理解的分布式系统的架构思路。二、分布式系统的两种方式       平时接触到的分布式系统有很多种,比如分布式文件系统,分布式数据库,分布式WebService,分布式计算等等,面向的情景不同,但分布式的思路是否是一

2017-04-25 18:48:01 396

转载 集中式 vs. 分布式系统架构

一、前言       随着计算机系统规模变得越来越大,将所有业务单元集中部署在一个或者若干个大型机 上的体系结构物,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出 现,越来越多廉价的PC机成为了各大IT企业架构的首选,分布式的处理方式越来越受到业界的青睐----计算机系统正在经历一场前所未有的从集中式到分布

2017-04-25 18:44:45 17465 1

转载 覆盖网络(Overlay Network)

OVERLAY NETWORK最早受到关注始自P2P,在此之前,尽管类似隧道、vpn的技术已经具备了OVERLAY的特征,但是波澜不兴,中规中矩,到了P2P,天翻地覆,颠覆性技术横空出世,人们开始正视OVERLAY的威力。 通常,OVERLAY NETWORK要比基础网络简单,至少从复杂性上来说,P2P、ALM这些网络现在还不能与互联网相提并论,以后也不大可能。原因比较简单,基础网

2017-04-25 15:26:28 4375

转载 DHT技术原理

一、P2P及DHT技术简介       P2P在思想上可以说是internet思想/精神/哲学非常集中的体现,共同的参与,透明的开放,平等的分享(让我想起之前学习过的,现在正在疯狂热炒的云计算的“中央集权”制度)。基于P2P技术的应用有很多,包括文件分享,即时通信,协同处理,流媒体通信等等。通过这些应用的接触,分析和理解,P2P其本质是一种新的网络传播技术,这种新的传播技术打破了传统的C/

2017-04-25 14:47:04 19993 1

转载 DHT协议(官方版本)

译者前序       DHT协议早在2005年就已经成为了官方BitTorrent协议的一部份,但是我竟然一直没有找到国内的官方翻译稿,所以将其进行翻译,若文中错误,欢迎各位指正。其次,若想彻底理解DHT协议的原理,建议各位阅读Kademlia协议,在本博客中,有其翻译稿,参见DHT协议基础。本文英文版官方地址:http://www.bittorrent.org/beps/bep_

2017-04-25 14:17:26 1524

原创 BitTorrent协议与MagNet协议原理

BitTorrent协议1、简介       BitTorrent(简称BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。而在FTP,HTTP协议中,每个下载者在下载自己所需文件的同时,各个下载者之间没有交互。当非常多的用户同时访问和下载服务器上的文件时,由于FTP服务器处理能力和带宽的限制,下载速度会急剧下降,有的用户可能访问不了服务器。BT协议与FTP协

2017-04-25 10:16:50 19215 4

转载 分布式计算、并行计算及集群、网格、云计算的区别

分布式计算、并行计算及集群、网格、云计算的区别并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算的目的就是提供单处理器无法提供的性能(处理器能力或存储器),使用多处理器求解单个问题。分布式计算:分布式计算研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分

2017-04-24 20:23:04 550

转载 P2P协议

常用p2p协议  1、Napster:世界上第一个大型的P2P应用网络;中央集中式,倒闭了。  Napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在千千万万的个人电脑上,搜索到的文件通过P2P方式直接在个人电脑间传播共享。这种方式的缺点就是需要一台服务器,在mp3文件版权之争火热的年代,Napste

2017-04-24 13:27:19 598

转载 P2P技术

P2P技术原理      什么是对等网络(P2P)技术?P2P技术属于覆盖层网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式。在C/S模式中,数据的分发采用专门的服务器,多个客户端都从此服务器获取数据。这种模式的优点是:数据的一致性容易控制,系统也容易管理。但是此种模式的缺点是:因为服务器的个数只有一个(即便有多个也非常有限),系统容

2017-04-24 12:31:40 1113

转载 设计模式之反射与配置文件

为了满足“开闭原则”,大部分设计模式都引入了抽象层,如工厂方法模式、抽象工厂模式、适配器模式、桥接模式、命令模式、策略模式等等。客户端代码针对抽象层编程,而在程序运行的时候再指定其子类,根据“里氏代换原则”和面向对象的多态性,子类对象在运行时将覆盖父类对象。如果需要对系统进行扩展或修改,只需修改子类类名即可。在具体实现时,通过引入配置文件可以使得用户在不修改任何客户端代码的前提下增加或替换子类,其

2017-04-20 15:15:54 603

转载 创建对象与使用对象——谈谈工厂的作用

在设计模式的教学和推广过程中,很多企业学员和在校学生经常问我,工厂模式(包括简单工厂模式、工厂方法模式和抽象工厂模式)到底有什么用,很多时候通过反射机制就可以很灵活地创建对象,为什么还要工厂?,在本文中我将围绕创建对象和使用对象来简单谈谈工厂的作用。      与一个对象相关的职责通常有三类:对象本身所具有的职责、创建对象的职责和使用对象的职责。对象本身的职责比较容易理解,就是对象自身所具

2017-04-20 15:07:50 238

原创 抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。抽象工厂模式结构          工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致

2017-04-19 13:57:51 488

原创 工厂方法模式(Factory Method Pattern)

工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。工厂方法模式又简称为工厂模式(Factory Pattern),又可称作虚拟构造器模式(Virtual Constructor Pattern)或多态工厂模式(Polymorphic Factory Pattern)。工厂方法模式是一种

2017-04-18 20:20:54 463

原创 简单工厂模式(Simple Factory Pattern)

简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。简单工厂模式结构       简单工厂模

2017-04-18 14:32:21 451

原创 原型模式(Prototype Pattern)

原型模式(Prototype  Pattern):使用原型实例指定创建对象的类型,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。原型模式结构      原型模式的工作原理很简单:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。由于在软件系统中我们经常会遇到需

2017-04-13 18:57:29 648

原创 单例模式(Singleton Pattern)

单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式结构单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是结构最简单的设计模式一,在它的核心

2017-04-12 15:55:36 457

转载 面向对象设计原则之迪米特原则

迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge Principle, LKP),其定义如下:迪米特法则(Law of  Demeter, LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。      如果

2017-04-12 13:53:06 409

转载 面向对象设计原则之合成复用原则

合成复用原则又称为组合/聚合复用原则(Composition/Aggregate Reuse Principle, CARP),其定义如下:合成复用原则(Composite Reuse Principle, CRP):尽量使用对象组合,而不是继承来达到复用的目的。      合成复用原则就是在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用

2017-04-12 13:43:00 417

转载 面向对象设计原则之接口隔离原则

接口隔离原则定义如下:接口隔离原则(Interface  Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。      根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。每一个接口应该承担一种相对独

2017-04-12 13:35:04 383

转载 面向对象设计原则之依赖倒转原则

如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C++Reporter”所写的专栏Engineering Notebook的第三篇,后来加入到他在2002年出版的经典著作“Agile Software Development, Principles, Patter

2017-04-12 13:28:33 406

转载 面向对象设计原则之里氏代换原则

里氏代换原则由2008年图灵奖得主、美国第一位计算机科学女博士Barbara Liskov教授和卡内基·梅隆大学Jeannette Wing教授于1994年提出。其严格表述如下:如果对每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1代换O2时,程序P的行为没有变化,那么类型S是类型T的子类型。这个定义比较拗口且难以理解,因此我们一般使用它的另一个通俗版定义

2017-04-12 13:18:57 331

转载 面向对象设计原则之开闭原则

开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原则由Bertrand  Meyer于1988年提出,其定义如下:开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。      在开闭原则的定义中,软件实体可以指一个软

2017-04-12 11:09:57 362

转载 面向对象设计原则之单一职责原则

单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。      单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类(大

2017-04-12 10:59:14 520

转载 面向对象设计原则概述

对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。    面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中

2017-04-12 10:49:31 200

转载 从招式与内功谈起——设计模式概述(三)

3.设计模式有什么用      下面我们来回答最后一个问题:设计模式到底有什么用?简单来说,设计模式至少有如下几个用途:      (1) 设计模式来源众多专家的经验和智慧,它们是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将可以让我们避免做一些重复性的工作,也许我们冥思苦想得到的一个“自以为很了不起”的设计方案其实就是某一个设计模式。在时

2017-04-12 10:31:47 666

空空如也

空空如也

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

TA关注的人

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