自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java中去除空白的方法

之前的replaceAll 只能去除空格,如果是\t\n的话就无法去除.protected String replaceBlank(String str){ String dest = null; if(str == null){ return dest; }else{ ...

2019-09-12 16:16:00 355

转载 hadoop wordcount

使用java写出wordcount1.创建项目加入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...

2019-09-05 16:41:00 155

转载 hadoop 运行 pi 卡死的问题解决方案

https://www.jianshu.com/p/5dbb9011d2ee我使用的Mac电脑.刚开始的时候一直不知道为什么会卡死.我格式化了几次 namenode 也没有解决我的问题,从上面那个链接中得到启发.修改yarn的健康检查<property> <name>yarn.nodemanager.disk-health-checker.m...

2019-07-26 14:01:00 919

转载 Spring Cloud之服务雪崩(一)

什么是服务雪崩?参考: <<重新定义spring cloud>>代码:https://gitee.com/08081/hello-springcloud/tree/springcloud-fallback/在微服务中,我们是服务于服务之间调用,当在微服务突然有大量的请求过来,一个服务瘫痪之后,后面的服务的请求积压,这就造成了服务雪崩!...

2019-07-19 16:48:00 309

转载 Spring Cloud之Feign

资料来源: <<重新定义Spring Cloud>>以及博客和官网源码地址:https://gitee.com/08081/hello-springcloud什么是feign ?fegin是一种声明式 模板化的HTTP客户端(仅在consumer中使用)1. 什么是声明式呢?声明式调用就像调用本地方法一样调用远程方法,无感知远程http请求...

2019-07-17 20:02:00 134

转载 Spring Cloud 之 ribbon

参考:<<重新定义springcloud>>  各个视频什么是ribbon?它解决了什么问题Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,他是基于Netflix Ribbon实现的。它不像spring cloud服务注册中心,配置中心,API网关那样独立部署,但是它几乎在每一个spring cloud微服务中,包括feign提供的...

2019-07-17 13:47:00 108

转载 webFlux 学习(一)

在学习webflux 之前我们先要了解一个概念什么是背压(back press)对我们以前使用的发布订阅模式来说.我们的以前的模式是 消费只能通过提供者提供的数据来持续消费 如果一直发送消息,那么就只能一直消费我们对背压做一个详细的比喻比如我们每家每户,都有一个水龙头.自来水公司相当于发布者者,我们家庭就是个订阅者,水就是数据,在之前的模式我们的订阅者是一个被动接受的概念...

2019-07-17 10:41:00 362

转载 webFlux 学习(二)

webFluxwebFlux 是spring5提出的,一个非阻塞,运行在netty或者Servlet3.1之上,MVC和webFlux 有什么关系呢?1.阻塞和非阻塞webflux 是一个非阻塞的模式 可以在一个线程里可以处理更多的请求传统的mvc是一个阻塞的开发模式 一个请求对应我们容器里的一个线程2.运行环境mvc 是基于servlet api 所以...

2019-07-17 10:40:00 387

转载 webFlux 学习(三)

入门crud这次我们来学习webflux入门CRUD首先我们需要安装一个mondodb 在这里我就不说怎么安装了.配置文件如下spring.data.mongodb.uri=mongodb://xxxxx:27017/webflux领域对象/** * @Created by xiaodao */@Document(collection = ...

2019-06-19 16:39:00 274

转载 Can't connect to local MySQL server through socket 'mysql.sock'(2)

解决方案11.我去/tmp 目录下并没有找到mysql.sock 文件2.在全局搜索时也没有找到这个文件.所以从网上找到ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 这个方法不可行3.网上还有一种解决方案是重启服务,我重启了好几次也没有解决4.通过查找日志 发现/usr/local/var/mysql/xiaodao.er...

2019-06-17 11:32:00 166

转载 mybatis连接MySQL乱码

首先我想说这个问题.对于我来说坑了一下午首先问题就是我用mybatispuls 连接mysql第一步jdbc:mysql://localhost:3306/11e?useUnicode=true&characterEncoding=UTF-8先把连接改了.设置utf-8 ,但是发现问题并没有解决第二步.然后我在是不是没有没有配置...

2019-06-14 19:37:00 95

转载 SpringBoot Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration

SpringBoot Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration今天在写junit测试的时候莫名其妙报这个错,经过排查是因为你在test包下,和你java代码的包路径不一致所造成的.转载于:https://www.cnblogs.com/bj-xiaodao/...

2019-06-14 14:21:00 71

转载 MySQL学习(三)

索引结构我们都知道MySQL innodb myisam 都得索引结构是用的b+tree 来实现的,但是我们为什么不适用hash表来实现呢?hash表在单独取出数据的时候非常快速,但是不支持范围查找 举个例子来说你存放进去一个数据 根据hash在某个位置,下一次取出的时候,可以直接取出来.但是不能对这个数据进行一个范围查找,因为hash是散列存放的为什么不用平衡二叉树?...

2019-06-08 13:48:00 69

转载 MySQL学习(一)

前言我们对于MySQL的使用已经不再陌生.毕竟已经用了好几年,但是可能也仅仅是停留在表面上,这次我本着在深入一点了解来写这个系列的博客以做备忘MySQL:开源的免费的数据库,已经被Oracle收购了,MySQL5.5版本后都是由Oracle发布版本Oracle:收费的大型的数据库,Oracle公司的产品,Oracle收购SUN公司,收购MySQLDB2: IBM公司...

2019-06-06 16:55:00 142

转载 mysql8.0 Authentication plugin 'caching_sha2_password' cannot be loaded

最近新下载的mysql8.0在我设置密码之后登陆的时候报错进入容器中docker exec -it mysql bash进入mysql 命令行ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';这flush privileges;就可以解决转载于:https...

2019-05-31 16:02:00 105

转载 再战设计模式(十六)之行为型-模板方法模式

模板方法模式 举例:  平时我们去吃饭.  1.去饭店  2.点餐  3.结账但是我们不知道要吃什么.中间是是不知道的.介绍:  模板方法模式是编程中经常用到的模式,它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现,这样新的子类就可以在不改变一个算法结构的前提下重新定义该算法的某些步骤核心:  处理某个流程的代码已经具备,但是某个节点的代码暂时...

2019-05-27 16:54:00 71

转载 再战设计模式(十七)之行为型-观察者模式

观察者模式主要内容是:用于1->N的通知,当一个对象subject(目标对象subject)的状态变化时,他需要及时的告知一系列的对象(观察者,observer),让他们做出响应1.推 每次都会把通知以广播的形式发送给所有观察者,所有的观察者只能被动的接受2.拉: 观察者只要知道有情况即可,至于什么时候获取内容.获取什么内容,都可以自主决定角色obser...

2019-05-19 11:53:00 102

转载 再战设计模式(十四)之行为型-中介模式

中介模式核心:现在我们使用代码来实现下中介模式.主要有3个部门研发部,市场部 财务部,他们要相互调用,我们通过总经理来实现他们调用的解耦.类图:Mediator类是中间类的接口president是总经理要进行处理各个部门调用的逻辑 他实现了 mediator接口Department 是部门接口 里面有俩个方法,一个是自己部门做的事情,一个是...

2019-05-18 21:21:00 61

转载 再战设计模式(十五)之行为型-命令模式

命令模式介绍:将一个请求封装为一个对象,从而是我们使我们可用不同的请求对客户进行参数化,对请求排队或者记录日志,以及支持可撤销的操作,也称为action模式角色:  Command:抽象命令类  concreteCommand:具体命令类  Invoke:调用者/请求者  请求的发送者,它通过命令对象来执行请求,一个调用者并不需要设计的时候确定其接受者,因此它只和...

2019-05-18 21:21:00 75

转载 再战设计模式(十三)之行为型-迭代模式

迭代模式这个模式在工作中经常用,但是我没有没有做过多的了解.在项目中一般我们不需要自己去实现,如果我们实现自己的数据结构的时候可以使用这个模式为我们的数据结构具有可迭代的功能角色:iterator(迭代器):接口他定义了迭代器可具有的功能aggregate(集合):类,可以是我们自己的集合类 里面具有集合类自己的迭代器.concreteIterator我们...

2019-05-14 16:28:00 84

转载 再战设计模式(十二)之行为型-责任链模式

责任链模式(chain of responsibility)定义:  将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传给链上的下一个对象.  使用责任链模式,可以将请求方和处理方的关系弱化,让各方都可以成为独立复用的组件.场景:打牌时,乱流出牌接力赛跑大学中,奖学金的审批...

2019-05-14 13:46:00 70

转载 再战设计模式(十一)之享元模式

享元模式场景:内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的 对象,我们可以通过享元模式,节省内存.核心:本质:享元模式以共享的方式高效地支持大量细粒度对象的重用享元对象能做到共享的关键是区分了内部状态和外部状态内部状态:可以共享,不会随环境变化而改变外部状态:不可以共享,会随环境变化而改变现在有个需求,需要为围...

2019-05-13 22:15:00 85

转载 再战设计模式(十)之装饰模式

装饰模式职责:动态的为一个对象添加新的功能装饰模式i是一种用于代替继承的技术,无须通过继承增加子类就能扩展对象的新功能,使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀  现在假设:有一辆汽车 ,我们需要他实现 会飞,会游泳,会自动驾驶的功能,我们没有用设计模式之前应该是 定义一个接口,定义3个子类去实现. 那么我现在有需要他既会飞又会游泳呢?是不是还...

2019-05-13 11:05:00 97

转载 再战设计模式(九)之组合模式

组合模式工作流程分析  组合模式为处理树形结构提供了完美的解决方案,描述了如何将容器和叶子进行递归组合,使得用户在使用时可以一致性的对待容器和叶子  当容器对象的指定方法被调用时,将遍历整个树形结构,寻找包含整个方法的成员,并调用执行,其中,使用了递归调用的机制对整个结构进行处理角色:抽象组件角色: 定义了叶子和容器组件的共同点.下面的代码用abstractFile ...

2019-05-12 11:36:00 71

转载 再战设计模式(八)之桥接模式

桥接模式场景分析:商城系统中常见的商品分类,以电脑为类,如何良好的处理商品分类销售的问题?这个场景中有两个变化的维度:电脑类型、电脑品牌。不是使用桥接模式类图:代码:package disign.brige;/** * @Created by xiaodao */public interface Computer...

2019-05-10 19:01:00 89

转载 再战设计模式(七)之代理模式

代理模式代理模式是工作中很重要的一个角色,相信大家对aop已经不再陌生,这里我举个例子 假设很多人都找周杰伦唱歌.他需要1.面谈2.合同起草3.签字,收预付款4.安排机票5.唱歌6.收尾款  那么如果有很多人都要去找周杰伦唱歌,那么周杰伦就忙不过来了.这个时候他找一个经济人来帮他把重复的工作做了.那么他就只需要唱歌就好了.这就是我们所谓的代理模式应...

2019-05-10 17:09:00 65

转载 再战设计模式(六)之外观模式

外观模式外面模式也叫门面模式,它符合迪米特法则(最少知道原则)为子系统提供一个统一的入口,降低子系统的复杂性,便于客户调用,有的同学之前有可能不知道,但是你在写代码的时候可能都在用,只不过你不知道而已.代码:下面类是买组件,如果一个一个买的话就需要买三次,如果是交给一个人去买,他就都给我买回来了.是不是就很简单.以后面试的时候如果面试官问你.用过什么设计模式,这个设计模式...

2019-05-09 16:02:00 62

转载 再战设计模式(五)之适配器模式

什么是适配器模式?  将一个类的接口转换成客户希望的另外一个接口,adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作.模式中的角色目标接口(target):客户期待的接口,目标可以是具体的或抽象 的类,也可以是接口。需要适配的类(adaptee): 需要适配的类或者适配类适配器(adapter): 通过包装一个需要适配的对象,把原接口转换...

2019-05-09 14:11:00 149

转载 再战设计模式(四)之原型模式

原型模式(prototype)这个模式一般在工作中很少用,但是在框架里可能经常有,它是在什么情况下用呢?比如我们创建一个对象,需要10ms,在创建一个对象也需要10ms,这样就很耗时..举一个很简单的例子.小A在考试,做一份卷子需要一个小时.这时候小A做完啦.小B把小A的卷子.copy过来用了几分钟.做了一些修改,可能比小A的分数还要高.这个就是原型模式所以我们在创建对象的时...

2019-05-08 22:53:00 58

转载 再战设计模式(三)之建造者模式

建造者模式他的本质主要是:分离了组件的构造(由builder来负责),和装配(由Director负责),从而构造出复杂的对象,这个模式使用于:某个对象构建过程复杂的情况下使用建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。由于实现了构建和装配的解耦。不...

2019-05-08 21:15:00 58

转载 再战设计模式(二)之工厂模式

面对对象设计的原则1.OCP (开闭原则 open-close principle) 一个软件类的实体 应该对扩展开放对修改关闭2.DIP(依赖反转原则 Dependence Inversion principle) :要针对接口编程 不要针对实现编程 通俗来讲 就是依赖于接口而不是类调用之间之间调用.3.LoD(迪米特法则,Law of Demeter):只与你直接的朋友通...

2019-05-08 11:36:00 67

转载 exchanger 和semaphore

exchanger1.它的使用必须是成对出现的.如果不是成对的话,可能交换错误2.exchanger 交换的信息是同一个内存地址,而不是copy 会涉及到线程安全的问题 /** * exchange 是成对出现的,如果在有一个线程是A1的话 有可能是交换错误了. *如果超时了.,另一个会不会结束 * @param args ...

2019-05-07 16:02:00 108

转载 CountDownLatch和cyclicBarrier 的使用

CountDownLatch这个类使用起来比较简单.使用场景就是 你需要很多线程执行结束之后才执行最后的代码,那用这个就对了. 这个类底层是用aqs来实现的.这类主要使用的方法count.await(); count.countDown();里面的API很少结束线程await() 1.countDown2.被阻塞的线程interrupt()...

2019-05-06 13:44:00 77

转载 Unsafe 在jdk8中与其他锁的效率对比

unsafe 锁与在jdk8中与其他的对比package com.xiaodao.jdk8.thread.atomic;import com.sun.webkit.dom.CounterImpl;import sun.misc.Unsafe;import java.lang.reflect.Field;import java.util.concurr...

2019-05-06 09:56:00 95

转载 atomicReference 的使用和AtomicStampedReference 解决ABA的问题

atomicReference 可以保证对象的原子操作. public static void main(String[] args) { AtomicReference<Simple> atomic = new AtomicReference<>(new Simple("xiaodao",23)); ...

2019-05-05 17:19:00 1004

转载 并发包 atomicBoolean 的使用

看了前面的atomicInteger 这个就比较简单了atomicBoolean 的使用 @Test public void testCreateWithOutArguments(){ AtomicBoolean bool = new AtomicBoolean(); assertFalse(bool.get());...

2019-05-05 15:53:00 70

转载 再战设计模式(一)之单例模式

关于设计模式,之前已经看过很多很多了.但是每次到过了很久之后,在此回忆总是感觉有模糊的感觉.这次我要重新学习一下设计模式.并在这里做一个博客记录,以作为以后的备忘吧.大家看过如果有问题或者更好的方式,可以在评论留言这篇文章也是我写设计模式的开章.主要方式是看视频和看书,设计模式被人称为GOF23 主要就是国外有4个编程牛人编写的这23中设计模式.大家主要理解人家的思想.而不是死记硬背...

2019-05-05 15:52:00 67

转载 利用atimicInteger cas的特性实现一个锁

利用atimicInteger cas的特性实现一个锁主要是使用的是 atomicIntegerAPI 的compareAndSet()方法,让线程不在阻塞,获取不到直接失败.我们先定义一个异常类public class GetLockException extends Exception { public GetLockException() { ...

2019-04-30 18:07:00 154

转载 多线程atomicInteger

并发编程的3个重要概念1.原子性:一个操作或者多个操作,要么全部成功,要么全部失败1.java中保证了基本数据类型的读取和赋值,保证了原子性,这些操作不可终端a=10 原子性b=a 不满足 1.read a; 2.assign b;c++ 不满足 1.read c; 2 add 3.assige to c c=c+1 不满足 1.rea...

2019-04-30 18:07:00 335

转载 completable 用法

CompletableFuture  前面我们使用过jdk5 提出future的用法,但是在获取结果上并不是那么友好  在Java8中,CompletableFuture提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,并且提供了函数式编程的能力,可以通过回调的方式处理计算结果,也提供了转换和组合 CompletableFuture 的方法。  ...

2019-04-28 01:05:00 637

空空如也

空空如也

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

TA关注的人

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