自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 spark 遇到NoClassDefFoundError解决方法: Apache Spark error on start: java.lang.NoClassDefFoundError: org/a...

Starting a simple Spark project in IntelliJ Idea and getting an exception:Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/spark/SparkConfat …Caused by: java.lang.ClassNotF...

2018-12-04 14:32:00 3426

转载 CSRF 攻击的应对之道 -- 转

CSRF 攻击的应对之道CSRF 背景与介绍CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 SQL 脚本注入,跨站域脚本攻击等在近年来已经逐渐为众人熟知,很多网站也都针对他们进行了防御。然而,对于大多数人来说,CSRF 却依然是一个陌生...

2018-11-14 11:17:00 189

转载 Ambari部署问题 no schema has been selected to create in … error 解决方案

What is the search path?Per documentation:[...] tables are often referred to by unqualified names, which consist of just the table name. The system determines which table is meant by...

2018-11-12 16:21:00 3507

转载 redis命令效率分析

append:时间复杂度为o(1),如果键已经存在并且是字符串,则此命令将在字符串末尾追加值。如果键不存在,则创建它并将其设置为空字符串,因此在这种特殊情况下,追加将类似于SET。返回修改后的字符串长度。字符串  Redis中最基本的数据结构就是字符串,使用redis最简单的额方法就是字符串作为键值存储。这里的字符串是经过序列化之后存储的。操作字符串最基础的GET和SET...

2018-11-07 23:29:00 820

转载 linux测试上下行最大网速和实时网速

1.安装speedtest-cli测试最大上下行网速  speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行。它基于 Speedtest.net的基础架构来测量网络的上/下行速率。安装speedtest-cli很简单——只需要下载其Python脚本文件。  yum install python-pip –ypip in...

2018-11-07 11:36:00 655

转载 springcloud之Zuul网关服务

Zuul是Netflix开源的微服务网关,它的核心是一系列的过滤器,这些过滤器可以完成以下功能:身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求。审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。动态路由:动态的请求路由到不同的后端集群。压力测试:为每一个负载类型分配对应容量,并启用超出限定值的请求。静态响应处理:在边缘位...

2018-11-05 22:25:00 296

转载 springcloud之Hystrix实现容错处理

如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,知道提供者响应或超时,在高负载场景下,如果不做任何处理,那么就会导致服务消费者的资源耗尽甚至整个系统崩溃。微服务架构的应用系统通常包含多个服务层,微服务之间通过网络进行通信,从而支撑起整个应用系统,服务之间难免存在依赖关系,事实上,微服务并非总是能够保持可用状态,而网络也往往非常脆弱,因此难免有些请求会失败。  我们...

2018-11-05 21:57:00 151

转载 springcloud之Feign实现声明式REST调用

Feign是Netflix开发的声明式、模板化的HTTP客户端,可帮助我们更加便捷、优雅的调用HTTP api。spring cloud对Feign进行了增强,使Feign支持了Spring MVC注解,并整合了Ribbon和Eureka,从而让Feign的使用更加方便:只需要创建一个接口,并在接口上添加一些注解,代码就完成了,Feign支持多种注解,子嗲的或者JAX-RS注解等。添...

2018-11-04 10:42:00 143

转载 springcloud之Ribbon负载均衡

Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP控制端的行为。为Ribbon配置服务提供地址列表后,Ribbon就可基于某种负载均衡算法,自动的帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,例如轮询、随机等,也可以实现自定义的负载均衡算法。和Eureka配合实现如下架构:新建一个服务消费者,融合ribbon,引入如下依赖:...

2018-11-03 21:21:00 128

转载 springcloud服务注册和发现

微服务架构中,服务发现组件是一个非常关键的组件,服务消费者、服务提供者、服务发现组件的关系大致如下:各个微服务启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息服务消费者可从服务发现组件查询服务提供者的网络地址,并使用改地址调用服务提供者的接口各个微服务与服务发现组件使用一定机制(心跳等)通信,服务发现组件长时间无法与某微服务实例通,就会注销该...

2018-11-03 19:28:00 93

转载 spingboot和springcloud简记

spring boot和ssm是相通的,ssm的用法在spring boot上是一样的,它有两个最大的特点:内置tomcat大量精简配置文件springboot打包之后是个jar,只用了一个main方法启动。对于前后端分离的项目,springboot是非常适合的。spring cloud是多个springboot工程的集合,适用于分布式的工程。spring...

2018-11-03 11:13:00 136

转载 postgres use

一、在默认配置条件下,本机访问PostgreSQL切换到Linux用户postgres,然后执行psql:$su - postgresLast login: Wed Mar 1 13:16:48 CST 2017 on pts/1-bash-4.2$psqlpsql (9.2.18)Type "help" for help.postgres=#此时就在数据库p...

2018-10-15 11:21:00 362

转载 访问者模式

访问者模式定义如下:封装一些作用于某种数据结构中各个元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。下面看一下几个抽象角色:Visitor抽象访问者:抽象类或接口,定义访问者可以访问哪些元素。ConcreateVisitor具体访问者:它影响访问者访问到一个类之后该怎么办,做哪些事情。Element抽象元素:接口或抽象类,声明接收哪一类访问者访...

2018-10-08 23:20:00 126

转载 uml类图详解

在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram): 类图是面向...

2018-10-08 20:48:00 128

转载 桥梁模式

桥梁模式也叫桥接模式,其定义如下:将抽象和实现解耦,使得两者可以独立变化。它的重点在“解耦”上面。它有一下四个角色:Abstraction抽象角色:它的职责是定义该角色的行为,同时保存对一个实现化角色的引用,该角色一般是一个抽象类。Implementor实现化角色:它是接口或抽象类,定义角色所必须的行为和属性。RefinedAbstraction修正抽象化角色:它引用...

2018-10-04 21:30:00 113

转载 门面模式

门面模式,也叫外观模式,是一种比较常用的封装模式,定义如下:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行,门面模式提供了一个高层次的接口,使得子系统更易于使用。门面对象是通往外界子系统内部的唯一通道,我们先明确下门面模式的角色:Facade门面角色:客户端可以调用这个角色的方法,此角色知晓子系统的所有功能和职责。一般情况下,本角色会将所有客户端发来的请求委派到响应...

2018-10-03 21:26:00 95

转载 观察者模式

观察者模式也叫发布/订阅模式,其定义如下:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。我们先看看观察者模式的几个角色:Subject被观察者:定义被观察者必须实现的职责,它必须能够动态的增加、取消观察者,它一般是抽象类或实现类,仅仅完成被观察者必须实现的职责,管理观察者和通知观察者。Observer观察者:观察者...

2018-10-03 16:54:00 87

转载 组合模式

  组合模式又叫合成模式,有时又叫整体-部分模式,主要用来描述整体和部分的关系,其定义为:将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。  先说说组合模式的几个角色:Component抽象构件角色:定义参加组合对象的共有方法和属性,也可以定义一些默认的行为或属性Leaf叶子构件:叶子对象,其下再没有分支,也就是遍历的最小...

2018-10-03 10:10:00 96

转载 适配器模式

  适配器模式的定义如下:将一个类的接口变换为客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式又叫变压器模式、包装器模式。  适配器通常包含三个角色:Target目标角色:该角色定义需要转换为哪个目标角色,也就是期望接口。Adaptee源角色:你想把谁转换为目标角色,那个被转换的就是源角色,它是一个已经存在的运行良好的类,...

2018-10-02 16:36:00 113

转载 装饰模式

这是一种比较常见的模式,定义如下:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。装饰模式有四个基本角色:Component抽象构件Component是一个接口或者是抽象类,就是定义最核心的对象,也就是最原始的对象。ConcreateComponent具体构件ConcreateComponent是最原始的、最核心的、最基...

2018-10-01 23:13:00 78

转载 Ambari和大数据集群部署(精华)

(个人经历,如有问题请于评论区提出宝贵意见)踩了无数的坑,终于将ambari和大数据集群部署成功了,请一定要按照步骤仔细操作,避免出现问题。英文官方文档链接:https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.1.0/bk_ambari-installation/bk_ambari-installation.pdf基础环境操作...

2018-09-30 17:38:00 270

转载 Ambari安装和汉化(转)

转自:https://github.com/wbwangk/wbwangk.github.io/wiki/Ambari%E6%B5%8B%E8%AF%95相关文档:大数据本地开发环境曾经尝试从源代码构建Ambari,使用maven,耗时几个小时,但没有成功。使用官方apt源在ubuntu14下安装Ambari server的方法:wget -O /etc/apt/so...

2018-09-29 17:30:00 384

转载 责任链模式

定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。使这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链的重点在于“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应结果。“链”由多个处理器ConcreateHandler组成,下面看一个通用示例://抽象处理者public abstract class Ha...

2018-09-28 23:10:00 74

转载 命令模式

命令模式是一种高内聚的模式,定义为:将一个请求封装为一个对象,从而使不同的请求把客户端参数化,将请求排队或记录请求日志,可以提供命令的撤销和恢复功能。命令模式通常有三个角色:Receiver接收者角色。接收到命令后执行具体任务Command命令角色。需要执行的所有命令都在这里定义Invoker调用者角色。接收到命令,并执行命令下面看一段通用代码://接...

2018-09-27 22:44:00 93

转载 代理模式

定义:为其他对象提供一种代理以控制对这个对象的访问。代理模式本质上也叫做委托模式,它是一种基本设计技巧,许多其他模式,比如状态模式,策略模式,访问者模式本质上是在特殊场合采用了委托模式。代理模式应用非常广泛,下面举出一个通用示例,假设现有三个角色,抽象主题、具体实现主题、代理主题://抽象主题类public interface Subject{ public voi...

2018-09-24 22:27:00 71

转载 建造者模式

也叫做生成器模式,其定义如下:讲一个复杂的对象构建与他的表示分离,使得同样的创建过程可以创建不同的表示。在建造者模式中,有四个角色:Product产品模型类通常是实现了模板方法,也就是有模板方法和基本方法。Builder抽象建造类产品的组建,一般由子类实现。ConcreateBuilder具体建造者实现抽象类的具体方法,并且返回一个组...

2018-09-21 23:24:00 54

转载 模板方法模式

定义:定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。模板方法模式比较简单,仅仅使用了java的继承机制,但仍然是一种应用广泛的设计模式。下面看一段通用示例代码://抽象模板类public abstract class AbstractClass{ //基本方法 protected ...

2018-09-20 21:43:00 90

转载 抽象工厂模式

定义:创建一组相关或相互依赖的对象提供一个接口,并且无须指定他们的具体类。抽象工厂模式是工厂模式的升级版本,当有多个业务品种和业务分类时,通过抽象工厂模式产生需要的对象是一个很好的解决方式。有N个产品族,在抽象工厂类中就应该有N个创建方法。首先假设有两个互相影响的产品族,比如汽车的左侧门和右侧门,它们数量相等--两个对象的约束,每个型号的车门都是不一样的,这是产品的等级约束,举一个通...

2018-09-20 00:36:00 63

转载 工厂模式

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。一个通用栗子如下: 1 //抽象产品类 2 public abstract class Product{ 3 public void method1(){} 4 public void method2(){} 5 } 6 //具体产品类 7...

2018-09-19 23:23:00 75

转载 C++11多线程std::thread的简单使用 转载

C++11多线程std::thread的简单使用在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::thread。cocos2dx 3.0的版本默认是在vs2012版本,支持c++11...

2018-09-19 15:36:00 114

转载 单例模式

单例类,通过使用private的构造函数确保一个应用中只产生一个实例,并且是自行实例化。通用代码如下:public class Singleton{ private static final Singleton singleton = new Singleton(); //限制产生多个对象 private Singleton(){} //通...

2018-09-18 22:14:00 61

转载 设计模式六大原则

单一职责模式单个类保持功能尽量单一,如果组合了多个功能,需要抽象出多个接口,对外提供单一视图。这样做的好处很多,包括:类的复杂度降低,实现什么职责都有了清晰的定义,因此也提高了可读性可维护性提高,更易于扩展变更风险小,如果接口的单一职责明确,修改接口只会对实现类产生影响,而不会影响其他接口里氏替换原则面向对象中,继承是必不可少且非常优秀...

2018-09-16 23:18:00 79

转载 泛型使用

不要在新代码中使用原生态类型原生态类型就是简单的“<>”,没有任何参数类型限定,和没有使用泛型一样,之所以存在无非是为了保持前向兼容性,因为没有起到泛型应有的作用,所有不建议使用。不要忽视非受检警告,并接受它每一条受检警告都可能抛出类型转换异常,只有在明确知道不会有转换异常的时候,才可以用@SuppressWarnings 注解来消除警告,而且应该...

2018-09-14 00:07:00 98

转载 类和接口

使类和成员的可访问性最小化一个模块设计良好与否,最重要的因素在于,这个模块对于外部的其他模块而言是否隐藏了内部数据和其他实现细节,模块之间仅仅通过API通信,这是软件设计的基础,因此,除了公有静态final域的特殊情形之外,公有类都不应该包含公有域,并且要确保公有静态final域不包含可变对象的引用。在公有类中使用访问方法而非公有域公有类永远不应该暴露可变的域...

2018-09-12 00:14:00 128

转载 创建和销毁对象

第一条: 使用静态工厂方法代替构造函数  这里说的静态工厂方法并不直接对应于设计模式中的工厂方法,它具有一下几个优势:与构造器相比,静态工厂方法具有名称,如下所示。class Child{ int age = 10; int weight = 30; public static Child newChild(int age, ...

2018-09-09 20:24:00 107

转载 maven 构建工程

一 项目工程目录二 创建父工程三 创建公共工具类三 创建开发项目四 创建开发项目子模块五 运行项目鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDEA基于Maven创建多模块项目的实际开发,可能有不合适的地方,但是项目是可以跑通的,也请有不足之处,都提出来,一起讨论下。一. 项...

2018-01-03 10:40:00 91

转载 购物车管理模块

加入购物车功能查找用户ID和产品ID号,如果还没加购物车,则设为选中状态,并新增一个,已经加入了就使购买数量加1,同时对库存和购买数量作联动校验,最后记得更新到数据库中。@Autowired private CartMapper cartMapper; @Autowired private ProductMapper productMapper;...

2017-12-11 23:00:00 1074

转载 深入了解MyBatis参数

深入了解MyBatis参数相信很多人可能都遇到过下面这些异常:"Parameter 'xxx' not found. Available parameters are [...]""Could not get property 'xxx' from xxxClass. Cause:"The expression 'xxx' evaluated to...

2017-12-11 21:36:00 85

转载 用户管理模块

登录功能Controller层实现如下,其中,Const是一个新建的状态类,存储各类常量值,包括当前登录用户的字符串名称,并将它会作为键值存储在Session域中。 @RequestMapping(value = "login.do",method = RequestMethod.POST) @ResponseBody public ServerResp...

2017-12-11 21:27:00 1799

转载 Nginx简单使用

nginx简介nginx是一款轻量级Web服务器,也是一款反向代理服务器。它能做什么呢?那就多了,简要列举一些如下: 1.直接支持Rails和PHP的程序 2.作为HTTP反向代理服务器 3.作为负载均衡服务器 4.作为邮件代理服务器 5.帮助实现前端动静分离nginx特点: ...

2017-12-05 10:50:00 117

空空如也

空空如也

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

TA关注的人

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