自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (2)
  • 收藏
  • 关注

原创 SpringSecurity学习笔记一

SpringSecurity学习笔记(一)—— Java配置Web安全创建Security过滤器(通过springSecurityFilterChain负责所有安全过滤请求)基本例子 ` @EnableWebSecurity public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {@Overri

2017-05-24 17:23:16 801

原创 【数据库】MySQL记录概要

MySQL记录概要时间函数curdate() : yyyy-MM-ddcurtime() : HH:mm:ssnow() : yyyy-MM-dd HH:mm:ssfrom_unixtime() : 返回时间戳的日期值unix_timestamp(date) : 时间戳date_format(date,fmt) : fmt格式化日期 fmt: %Y-%m-%d %H:%i:%sdat

2017-05-11 11:44:28 626

原创 【Java基础】泛型记录概要

泛型记录概要泛型出现重要原因之一:创造容器类泛型主要目的之一:指定容器持有什么类型的对象,保证编译的正确性泛型简单实例class GenericsClass<T>{ private T property; public GenericsClass(T property){}}元组(tuple)基本概念 又称数据传送对象或者信使。将一组对象直接打包存储于其中的一个单一对象,只允许往这个

2017-05-05 15:44:15 460

转载 【微服务】RxJava与SpringMVC

RxJava a library for composing asynchronous and event-based programs by using observable sequences. 是一个使用可观察数据流进行异步编程的编程接口,ReactiveX结合了观察者模式、迭代器模式和函数式编程的精华。与异步数据流交互的编程范式Example@RequestMapping(m

2017-05-03 17:25:20 3776

原创 【微服务】Springcloud学习笔记(一) —— Eureka

SpringCloud基本特性分布式配置中心服务注册/发现(Eureka)智能路由(Zuul)服务间的调用客户端负载均衡(Ribbon)断路器(Hystrix)分布式消息管理demo结构服务发现:Eureka客户端 Eureka is the Netflix Service Discovery Server and Client. The server can be config

2017-05-03 15:28:59 925

原创 【Python】Python学习笔记(二)——正则表达式

正则表达式的大致匹配过程1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。 3.如果表达式中有量词或边界,这个过程会稍微有一些不同。数量词的贪婪模式与非贪婪模式 正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配

2017-05-02 10:48:52 314

原创 【Python】Python学习笔记(一)——urllib类库基础

导入类库import urllib import urllib2 爬取数据request = urllib2.Request(url) #发送请求response = urllib2.urlopen(request) #得到响应内容response.read() #读取内容urlopen()# url请求地址# data默认为空None# timeout默认为socket._GLOBAL

2017-05-02 10:31:13 346

原创 【Java】Servlet3规范学习笔记

Servlet3新增功能异步处理支持新增的注解支持可插性支持注解Filter@WebFilter(filterName = "myFilter", urlPatterns="/*", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD})public class MyFilter impleme

2017-04-18 17:35:37 1541

原创 【设计模式】行为型模式——命令模式(Command Pattern)

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

2017-04-18 16:35:09 344

原创 【设计模式】行为性模式——模板方法模式(Template Method Pattern)

模式定义 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。模式优点(1) 在父类中形式化地定义一个算法,而由它的子类来实现细节的处理,在子类实现详细的处理算法时并不会改变算法中步骤的执行次序。 (2) 模板方法模式是一种代码复用技术,它在

2017-04-18 14:03:05 315

原创 【Java】深入理解JVM学习笔记(三) —— GC收集器和内存分配

判断对象是否存活引用计数算法 很多判断对象是否存活的方式就是引用计数算法:给对象添加一个引用计数器,每当一个地方引用它,计数器+1;引用失效,计数器-1。 任何时刻计数器为0的对象是不可能再被使用的。 Java虚拟机没有使用主流的引用计数法管理内存。主要原因是难以解决对象之间相互循环引用的问题classA.instance = classBclassB.instance = classA

2017-04-17 14:26:05 511

原创 【Java】深入理解JVM学习笔记(二) —— 对象

【问题一】程序通过new一个普通对象的时候,虚拟机进行了哪些操作? 解答: ①首先检查这个指令的参数是否能在常量池中定位到这个类引用 ②并且检查这个符号引用代表的类是否被加载、解析、初始化过③若没有加载,必须执行相应类的类加载过程④虚拟机为新生对象分配内存(对象所需内存大小,在类加载时间可以完全确定)④ 分配内存 为对象分配大小相当于把一块确定大小的内存从Java堆中划分出来。假设J

2017-04-13 16:12:41 241

原创 【Java】深入理解JVM学习笔记(一) —— JVM数据区域

JVM结构图程序计数器 是一块较小的内存空间。当前线程所执行的字节码的行号指示器。字节码解释器工作原理 通过改变计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等操作都需要依赖计数器JAVA多线程实现方式 线程之间轮流切换并分配处理器执行时间实现的运行Java方法时,执行虚拟机字节码指令地址。 运行Native方法时,计数器则为空(undefine

2017-04-13 14:57:50 379

原创 【Java8】Guava——Predicate

PredicateGuava@FunctionalInterface@GwtCompatiblepublic interface Predicate<T> extends java.util.function.Predicate<T> { @CanIgnoreReturnValue boolean apply(@Nullable T input); @Override boolea

2017-04-10 17:35:35 1533

原创 【Java8】Guava——Function

函数式编程 函数式编程是一种历久弥新的编程范式,比起命令式编程,它更加关注程序的执行结果而不是执行过程。Java 始终是一个面向对象(命令式)的语言,在我们使用函数式编程这种黑魔法之前,需要确认:同样的功能,使用函数式编程来实现,能否在健壮性和可维护性上,超过使用面向对象(命令式)编程的实现?Function实例化这个仿函数接口要求至少要实现 apply 方法。只有在需要判断两个函数是否等价的

2017-04-10 17:28:22 4278

原创 【Java8】Guava——Preconditions

Preconditions Precondition 是先决条件的意思,也叫前置条件,可以人为是使函数正常执行的参数需要满足的条件Preconditions 这个静态工厂中,Guava 为我们提供了一系列的静态方法,用于帮助我们在函数执行的开始检查参数,函数执行的过程中检查状态等等Preconditions.checkArgument(5 < 3);//IllegalArgumentExcep

2017-04-10 17:09:51 922

原创 【Java8】Guava——Charsets

Charsets Charsets 是一个常量工厂,给出了 6 个Java 承诺了全平台支持的字符集,类似的静态工厂在 Apache 的类库中也有提供Strings空字符串处理Strings.isNullOrEmpty("");//trueStrings.nullToEmpty(null);//""Strings.nullToEmpty("abc");//"abc"Strings.emp

2017-04-10 16:55:19 610

原创 【Java8】Guava——Splitter

Splitter Guava 提供了 Joiner 类用于将多个对象拼接成字符串,如果我们需要一个反向的操作,就要用到 Splitter 类。Splitter 能够将一个字符串按照指定的分隔符拆分成可迭代遍历的字符串集 简单实例Splitter.on(' ').split("四川省 成都市 金牛区").toString()result[四川省, 成都市, 金牛区]支持正则表达式Split

2017-04-10 16:15:22 8150

原创 【Java8】Guava——Joiner

Joiner 字符串拼接对象on基本实例Joiner.on(" ").join("四川省","成都市","金牛区").toString()on 以空格为分隔符 join内是拼接的对象:迭代器对象、数组、可变参数等result四川省 成都市 金牛区特殊处理动态拼接StringBuffer result = new StringBuffer("result: "); Join

2017-04-10 16:00:48 7467

原创 【java基础】线程笔记——AQS(AbstractQueuedSynchronizer)

AQS : java.util.concurrent.locks.AbstractQueuedSynchronizer 研究java.util.concurrent并发包的突破口(例如: ReentrantLock核心是内部类Sync,然而Sync继承AQS)AQS核心 通过一个共享变量来同步状态,变量的状态由子类去维护,线程阻塞队列的维护线程阻塞和唤醒 共享变量的修改都是通过U

2017-04-10 11:07:30 281

原创 【java基础】线程笔记——LockSupport

LockSupportLocalSupport类特性不可实例化private LockSupport() {} // Cannot be instantiated.LockSupport的方法都是静态方法私有变量 private static final sun.misc.Unsafe UNSAFE; private static final long parkBlocker

2017-04-10 09:45:02 503

原创 zookeeper学习笔记(六)—— 概念

zookeeper 核心Zookeeper数据模型Zookeeper会话Zookeeper Watches一致性保证(分布式事务涉及)zookeeper 数据模型定义 是zk的分层的命名空间。类似分布式文件系统。命名空间的每个节点既可以关联数据,又可以关联目录。并且路径节点总是通过斜线”/”分隔znodes概念 zk中的每个节点都被称为znode。 znode维护一个sta

2017-04-07 14:27:33 530

原创 zookeeper学习笔记(四)—— 入门小记

zookeeper编程zookeeper有一个java绑定和一个c绑定c绑定的两种形式:单线程和多线程两种形式的区别在于如何循环消息以获取更多消息主从复制的Zookeeper在评估、开发和测试环境中。使用zookeeper独立模式在生产模式中。应用主从复制模式。 相同应用中服务器主从复制组叫做 quorum , 并且在主从复制模式中,在quorum中的所有服务器有相同的配置文件副本注意

2017-04-07 11:16:29 332

原创 【工作笔记】ElasticSearch —— 常用插件/工具汇总

ES与数据库同步工具——ElasticSearch-JDBC ES内容管理工具——headhttp://127.0.0.1:9200/_plugin/head/ ES服务器监控工具——bigdeskhttp://127.0.0.1:9200/_plugin/bigdesk ES集群操作的API工具——Kopfhttp://127.0.0.1:9200/_plugin/kopf/插件安

2017-04-06 16:54:15 3826

转载 【java基础】 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO

PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。DO(Domain Obje

2017-04-06 15:59:25 255

原创 【Java8】date api(java.time)

LocalDate yMd = LocalDate.of(2017, 4, 1); System.out.println(yMd); System.out.println(yMd.getYear()); System.out.println(yMd.getMonth()); System.out.println(yMd.getDayOf

2017-04-06 11:22:44 273

转载 【Linux】八个Docker的真实应用场景

简化配置、代码流水线管理、提高开发效率、隔离应用、整合服务器、调试能力、多租户环境、快速部署分别是docker的8个使用场景Docker特性Docker提供了轻量级的虚拟化 在同一台机器上创建更多数量的容器容器的启动与停止都能在几秒中内完成1. 简化配置 这是Docker公司宣传的Docker的主要使用场景。虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件、系统),D

2017-04-05 16:26:13 1595 1

原创 【设计模式】结构型模式——组合模式(Composite Pattern)

组合模式定义 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 组合模式为处理树形结构提供了一种较为完美的解决方案,它描述了如何将容器和叶子进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器和叶子。模

2017-04-05 11:42:40 270

转载 【设计模式】Lambda实现工厂模式

简单原始例子public interface Shape { void draw();}public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}

2017-04-01 16:15:50 622

原创 【设计模式】行为型模式——策略模式(Strategy Pattern)

策略模式定义 实现某一个功能有多条途径,每一条途径对应一种算法,此时我们可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径策略模式的主要目的是将算法的定义与使用分开,也就是将算法的行为和环境分开策略模式优点策略模式提供了对“开闭原则”的完美支持,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为。策略模式提供了管理相关的算法族的办法。策略

2017-04-01 15:58:19 349

原创 【设计模式】创建型模式——原型模式(Prototype Pattern)

原型模式的定义 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。注意:通过克隆方法所创建的对象是全新的对象,它们在内存中拥有新的地址,通常对克隆所产生的对象进行修改对原型对象不会造成任何影响,每一个克隆对象都是相互独立的。通过不同的方式修改可以得到一系列相似但不完全相同的对象模式优点当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过

2017-04-01 13:45:19 337

原创 【设计模式】结构型模式——适配器模式(Adaper Pattern)

适配器模式定义 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系适配器优点将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,而无须修改原有代码。

2017-03-31 17:44:36 248

原创 【设计模式】创建型模式——建造者模式(Builder Pattern)

建造者模式定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 例如: 王者荣耀内的英雄角色。他们有多个组成部分(技能、着装、五官等)构成一个复杂的角色对象。但每个角色的组成部分又有差异,但创建步骤都大同小异。最后将各组成部分装配成一个完整的人物。模式优点在建造者模式中, 客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创

2017-03-31 13:23:51 499

原创 【设计模式】结构性模式—— 代理模式(Proxy Pattern)

代理模式定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用。它是一种对象结构型模式代理模式的优点代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。远程代理使得客户端可以访问在远程机器上的对象,远程机器 可能具有更好的计算性能与处理速度,可以快速响应并处理客户端请求。虚拟代理通过使用一个小对象来代表一个大对象,可以减少系 统资源的消耗,对系统进行优化并提高运行速

2017-03-31 11:18:08 324

原创 【设计模式】创建型模式—— 工厂模式(Factory Pattern)

简单工厂工厂方法抽象工厂简单工厂 根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法(StaticFactoryMethod)模式,属于类创建型模式简单工厂模式优点工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品;

2017-03-30 17:49:28 667

原创 【Java工具】Eclipse安装热部署工具JRebel

官方文档Install1. Eclipse > Help > Install New Software > Add name : JRebel location:http://update.zeroturnaround.com/update-siteActive2.1、Help > JRebel > Activation 2.2、Fill out the form 2.3、Activ

2017-03-30 15:47:01 506

原创 【设计模式】行为型模式—— 观察者模式(Observer)

观察者模式定义 定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 举个例子:完农药开黑的时候。5人一队,推塔游戏。当其中防御塔或者水晶有一方遭

2017-03-30 11:48:01 1638

原创 【设计模式】结构性模式——装饰模式(Decorator Pattern)

装饰模式定义 动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper)通常有两种模式可以实现给一个类或对象增加行为静态方法:继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法动态方法 : 关联机制将一个类的对象嵌入另一个对象中,由

2017-03-29 17:54:34 371

原创 【设计模式】创建型模式——单例模式(Single Pattern)

单例模式定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式优点对于频繁使用的对象,可以省略创建对象所花费的时间。由于 new 操作的次数减少,因而降低系统内存使用频率,减轻 GC 压力,缩短 GC 停顿时间。允许可变数目的实例。使用与单例控制相似的方法来获得指定个数的对象实例,既节省系统资

2017-03-29 16:10:43 418

原创 【java8】语法对比

map foreach以前的方式for (Map.Entry<String, String> map : paramsMap.entrySet()) {params.add(new BasicNameValuePair(map.getKey(), map.getValue()));}java8paramsMap.forEach((key,value) -> params.add(new Basi

2017-03-28 17:28:08 1234 1

robotframework安装所需文件

压缩包包含 python2.7 pip-8.1.2 settools robotframework-2.8.5.win-amd64.exe robotframework-ride-1.4.win-amd64.exe robotframework-selenium2library-1.5.0.win-amd64.exe wxPython2.8-win64-unicode-2.8.12.1-py27.exe

2016-08-30

robotframework-selenium2library-1.5.0.win-amd64.exe

robotframework-selenium2library-1.5.0.win-amd64.exe下载

2016-08-30

空空如也

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

TA关注的人

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