自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (4)
  • 收藏
  • 关注

原创 数据挖掘的概念

数据挖掘基本功能主要体现在分类与回归、聚类分析、关联规则、时序模式、异常检测等5个方面。分类与回归:分类是“有监督的学习”。分类过程由两步构成,模型创建和模型使用。模型创建是指对训练数据集的学习来建立分类模型;模型使用是指使用分类模型对测试数据和新的数据进行分类。通常分类模型以分类规则、决策树或数学表达式给出。聚类分析:“无监督的学习”。聚类是将数据划分或者分割成2相交或者不想交的群组的过程。通

2017-11-27 20:23:44 849 2

原创 Git学习简单教程

1. 安装 1.1 在Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git:$ gitThe program 'git' is currently not installed. You can install it by typing:sudo apt-get install git像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你

2017-10-10 14:48:42 407

原创 LeetCode算法题1-10

leetcode算法1-10

2017-10-09 16:06:31 447

原创 行为型-命令模式(Command)

命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。 命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模

2017-09-27 17:27:20 354

原创 行为型-中介者模式(Mediator)

中介者模式(Mediator Pattern):用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。 ● Mediator(抽象中介者):它定义一个接口,该接口用于与各同事对象之间进行通信。 ● ConcreteMediator(具体

2017-09-27 17:21:57 250

原创 行为型-责任链模式(Responsibility)

职责链模式概述 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。 ● Handler(抽象处理者):它定义了一个处理请求的接口,一般设计为抽象类,由于不同的具体处理者处理请求的方式不同,因此在其中定义了抽象请求处理方法。因为每一个处理者的下家还是一个处理者,因此在抽象处

2017-09-27 16:41:50 376

原创 行为型-模板方法模式(Template Method)

模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 (1) AbstractClass(抽象类):在抽象类中定义了一系列基本操作(PrimitiveOperations),这些基本操作可以是具体的,也可以是抽象的,每一个基本操作对应算法的一个步骤,在其子类中可以重定义或实现这些步骤。同时,在抽象类中

2017-09-11 11:19:10 259

原创 行为型-策略模式(strategy)

策略模式:定义了家族算法,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 在策略模式结构图中包含如下几个角色: ● Context(环境类):环境类是使用算法的角色,它在解决某个问题(即实现某个方法)时可以采用多种策略。在环境类中维持一个对抽象策略类的引用实例,用于定义所采用的策略。 ● Strategy(抽象策略类):它为

2017-09-11 10:29:47 300

原创 java Web技术内幕

1.DNS和CDN 域名解析的话,DNS必不可少,CDN可有可无,CDN=更智能的镜像+缓存+整体负载均衡。 目前CDN都以缓存网站的静态数据为主,如CSS,JS,图片和静态页面。 CDN目标:可拓展,安全性,可靠性。 负载均衡:链路,集群,操作系统。链路:通过DNS解析成为不同的ip,用户根据这个ip访问不同的目标服务器。 集群复制:硬件(花费较高

2017-09-07 13:27:08 767

原创 高性能MYSQL(高级特性)

分区表是一个独立的逻辑表,底层由多个物理表组成。实现代码实际是一组底层表的句柄对象。分区的一个主要目的是将数据按照一个较粗的粒度分在不同的表中,这样可以将相关的数据存放在一起。 作用:1.表非常大以至于无法全部存放于内存中,或者最后的是热点数据其他是历史数据 2.分区表的数据更容易维护。 3.分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备。 4.使用分区表避免某些特殊的瓶

2017-09-01 14:22:48 1305

原创 Spring -Ioc学习(1)

1.在spring 中spring ioc提供了一个基本的javaBean容器,通过Ioc模式管理 依赖关系,并通过依赖注入和aop切面增强了为javaBean这样的POJO对象赋予事务管理、生命周期管理等基本功能。2.ioc的注入实现中有1.接口注入;2.setter注入;3.构造器注入。3.Ioc容器中有两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这个系列容器只实

2017-08-28 18:38:08 326

原创 一致性hash算法

1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ; hash(object)%N 参数的问题:1 一个 cache 服务器 m down 掉了(在实际应用中必须要考虑这种情况

2017-08-25 16:03:33 471

原创 MYSQL+InnoDB(备份与恢复)

1.备份与恢复概述 1.热备:对正在运行的数据库进行备份。 原理:1.记录备份开始时,innoDB存储引擎重做日志文件检查点的LSN 2.复制共享表空间文件以及独立表空间文件 3.记录复制完表空间文件后,innodb存储引擎重做日志文件检查点的LSN 4.复制在备份是参数的重做日志。 2.冷备:数据库停止的情况下。 优点:1.简单,负责相关文件即

2017-08-21 16:20:47 3173

原创 SVN版本管理系统的安装

root用户操作 1.建议安装前更新操作系统#yum update更新完毕重启#reboot2.安装apache#yum install httpd httpd-devel#service httpd start#chkconfig httpd on#vi /etc/httpd/conf/httpd.conf找到serverName并修改成ServerName localhost:80

2017-08-17 11:51:14 341

转载 Spring学习笔记—高级特性

1.通过PropertyPlaceholderConfigurer在spring中加载其他外部配置文件或者属性文件: 在很多javaEE工程中,Spring的角色非常重要,是一个管理其他模块和组件的轻量级容器,Spring经常需要管理Struts、Ibatis、hibernate等,这些开源框架的配置文件就通过Spring的PropertyPlaceholderConfigurer加载在Sprin

2017-08-14 15:54:37 598

转载 Spring学习笔记—基础知识

1.在Java开发领域,spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书《Expert one-on-one J2EE Design and Development》和《Expert one-on-one J2EEdevelopment without EJB》是java高手进阶必看的宝典,Spring就是从这两本书的理论发展起来的。 Spring主要核

2017-08-14 15:50:23 318

原创 spring核心:IOC容器的实现

Spring IOC容器概述 IoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得

2017-08-14 15:38:39 601

原创 java集合vector与stack

Vector与ArrayList的最大区别就是Vector是线程安全的,而ArrayList不是线程安全的。另外区别还有: - ArrayList不可以设置扩展的容量,默认1.5倍;Vector可以设置扩展的容量,如果没有设置,默认2倍 - ArrayList的无参构造方法中初始容量为0,而Vector的无参构造方法中初始容量为10。 - Vector线程安全,ArrayList线程不安

2017-08-11 13:11:48 320

原创 Java集合---HashSet的源码分析

一、 HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 Set接口中的方法与Collection接口中的方法相同。 HashSet底层依赖于HashMap,关于HashMap源码详解见:http://blog.csdn.net/qq_2321190

2017-08-11 11:25:00 276

原创 行为型-观察者模式(Observer)

观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对象行为型模式。 在观察者模

2017-08-08 10:35:58 318

原创 结构型-门面模式(Facade)

外观模式中,一个子系统的外部与其内部的通信通过一个统一的外观类进行,外观类将客户类与子系统的内部复杂性分隔开,使得客户类只需要与外观角色打交道,而不需要与子系统内部的很多对象打交道。 外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 (1) Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的

2017-08-08 10:34:10 329

原创 结构型-装饰者模式(decorator)

装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。在软件设计中,我们也有一种类似新房装修的技术可以对已有对象(新房)的功能进行扩展(装修),以获得更加符合用户需求的对象,使得对象具有更加强大的功能。这种技术对应于一种被称之为装饰模式的设计模式. ● Component(抽象构件)

2017-08-08 10:28:40 299

原创 结构型-享元模式(Flyweight)

享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。 享元模式概述:享元模式通过共享技术实现相同或相似对象的重用,在逻辑上每一个出现的字符都有一个对象与之对应,然而在物理上它们却共享同

2017-08-07 17:08:58 219

原创 结构型-桥接模式(Bridge)

桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 组成角色: ●Abstraction(抽象类):用于定义抽象类的接口,它一般是抽象类而不是接口,其中定义了一个Implementor(实现类接口)类型的对象并可以维护该对象,它与Implemen

2017-08-07 17:08:06 358

原创 结构型-组合模式(composite)

组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 结构: ● Component(抽象构件):它可以是接口或抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所

2017-08-07 17:07:12 288

原创 结构型-代理模式(proxy)

代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。定义:代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制

2017-08-07 17:04:45 323

原创 结构型-适配器模式(adapter)

意图:将一个类的接口转换成客户希望的另外一个接口。adapter模式是原本由于接口不兼容而不能一起工作的那些类可以一起工作。其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 **适用性:**1.你想使用一个已经存在的内,而它的接口不符合你的需求。 2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。 3.你想使用一些已经存

2017-08-07 16:35:31 337

原创 Eclipse&&idea快捷键功能

Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 编辑 【ALT+/】 代码快速补全 【Ctrl+O】 显示类中方法和属性的大纲 【Ctrl+D】 删除当前行 【Ctrl+M】 窗口最大化和还原 【Ctrl+T】 显示方法或类的继承结构 【Ctrl+Shift+G】 查找类、方法和属性的引用 【

2017-08-07 15:24:39 475

原创 创建型-原型模式(prototype)

原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。 原型模式的工作原理很简单:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。由于在软件系统中我们经常会遇到需要创建多个相同或者相似对象的情况,因此原型模式在真实开发中的使用频率还是非常高的。原型模式是一

2017-08-07 15:08:46 313

原创 创建型-建造模式(builder)

建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。它关注如何一步一步创建一个的复杂对象,不同的具体建造者定义了不同的创建过程,且具体建造者相互独立,增加新的建造者非常方便,无须修改已有代码,系统具有较好的扩展性。建造者模式(Builder Pattern):将一个复杂对象的

2017-08-07 14:24:21 333

原创 创建型-抽象工厂模式(abstract factory)

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

2017-08-07 12:56:12 317

原创 创建型-工厂模式(simple factory)

1.意图:定义用于创建对象的接口,让子类决定实例化哪一个类。factory method 使一个类实例化延迟到子类。 2.别名:虚拟构造器。 3.动机:框架使用抽象类定义和维护对象之间的关系。 **4.适用性:**1.当一个类不知道它说必须创建的对象的类的时候。 2.当一个类希望由他的子类来指定它所创建的对象的时候。 3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个

2017-08-07 11:50:59 208

原创 创建型-单例模式(singleton)

意图:保证一个类只有一个实例,并提供访问它的全局变量。 动机:例如一个会计系统只能专用于一个公司。为保证没有其他实例对象可以被创建,并且可以提供一个访问该实例的方法。 适用性:当类只能被一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展,并且客户应该无须更改代码就能使用一个拓展的实例时。 单例模式结构图: 协作:用户只能通过getInstanc

2017-08-06 21:06:01 277

原创 2018百度秋招一面/二面/三面

1.int和integer所占字节,int 、new integer、integer区别,大于128的时候有什么区别。 int、integer所占字节为4字节。 1. int 和Integer在进行比较的时候,Integer会进行拆箱,转为int值与int进行比较。 2. Integer与Integer比较的时候,由于直接赋值的时候会进行自动的装箱,那么这里就需要注意两

2017-08-06 13:16:04 3051 1

原创 TreeMap源码分析(jdk1.8)

TreeMap的基本概念:TreeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。该集合最重要的特点就是可排序,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。这句话是什么意思呢?就是说TreeMap可以对添加进来的元素进行排序,可以按照默认的排序方式,也可以自己指定排序方式。根据上一条

2017-08-04 19:33:42 1110

转载 RESTful 架构风格概述

在移动互联网的大潮下,随着Docker等技术的兴起,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓RESTful API总会貌合神离,不够规范。本文是我对RESTful 架构风格的一些理解,和大家分享一下,如果有问题,欢迎讨论。RESTful架构风格最初由Roy T. F

2017-08-02 11:12:50 391

原创 大数据和空间限制

1.认识布隆过滤器 题目:不安全网页的黑名单包含100亿个黑名单,每个网页URL最大占用64B。限制想要实现一直网页过滤器,可以更好网页的URL判断网页是否在黑名单上。 要求:1.允许万分之一的失误。2.使用额外空间不超过30G。 布隆过滤器:长度为m的bit类型的数组,即数组中的每个位置只占一个bit。 在假设一共有k个hash函数,这些函数的输出域s大于或者等

2017-08-01 18:06:24 360

原创 二叉树问题

定义二叉树 static class treeNode{ public int value; public treeNode left; public treeNode right; public treeNode(int value){ this.value=value; }

2017-07-31 18:05:42 211

原创 链表问题

1.链表的反转 public ListNode ReverseList(ListNode head){ if(head==null){ return head; } ListNode pNode=head; ListNode pre=null; ListNode newHead=null;

2017-07-28 18:18:18 162

原创 栈和队列题

1.生成窗口最大值。 两种方法://第一种:两个for循环,时间复杂度o(N*W) public static LinkedList<Integer> getMaxWindow2(int[] arr,int w){ if(arr==null||w<1||arr.length<w){ return null; }

2017-07-28 17:09:28 239

SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤

SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤

2017-08-17

Quartz定时器介绍与简单使用

Quartz定时器介绍与简单使用

2017-08-17

Redis 集群规范

Redis 集群规范

2017-05-26

Redis 集群指南

redis集群指南

2017-05-26

空空如也

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

TA关注的人

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