自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (6)
  • 收藏
  • 关注

原创

二叉搜索树定义二叉搜索树(Binary Search Tree),(又:二叉查找树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树删除操作1.删除的节点是叶子节点:直接删除。如3/6/11/18/20节...

2020-01-31 12:04:47 333

原创 redis集群

集群单机/客户端分片哨兵redis cluster1.可支撑n个redis master node,每个node可挂载多个slave node2.读写分离,master写,slave读3.高可用,master挂掉,会选举某个slave成为master多master+读写分离+高可用,不需要手动搭建replication复制+主从架构+哨兵+高可用 re...

2020-01-29 15:39:17 266

原创 redis持久化

redis.conf配置文件:bind 127.0.0.1#注释掉或者配置成bind 0.0.0.0 说明任意ip都可连接。区别:设置成bind 0.0.0.0后保护模式(protected-mode yes)将失效protected-mode#启用的条件:1.没有使用bind 2.没有设置访问密码demonize yes#以后台方式运行...

2020-01-29 10:00:09 293

原创 缓存穿透,缓存击穿,缓存雪崩

参考:https://blog.csdn.net/zeb_perfect/article/details/54135506一、解释类型 解释 缓存穿透 查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存...

2020-01-28 14:07:21 351

原创 redis分布式锁

redis分布式锁实现流程图:redis分布式锁springtemplate实现代码:redis分布式锁redission实现代码:

2020-01-28 14:07:03 123

原创 服务数据查询优化

一个系统(特别是面向互联网的云平台),随着时间的推移,数据量会逐渐增大,当达到一定的量级时,就会成为系统的查询瓶颈。以下对于一些常见的数据处理方法,做了简要的归纳,希望对大家平有所帮助。一、数据库查询 优化sql,一定程度上能够提升查询的性能,特别是较为复杂的查询sql(多表联合查询,带子查询,带过滤条件等)。查看sql的执行计划能分析出那段语句相对比较耗时,...

2019-11-24 22:24:34 223

原创 Postgresq数据库核心架构及执行计划

一、概述 工作中使用springcloud微服务框架,使用JPA作为数据库持久层,JPA支持开发者使用函数命名的方式进行sql操作,但仅限一些简单的增删改查操作,对于较为复杂的或涉及到联合查询的一些sql操作,仍旧需要写原生sql或hql。而对于一些复杂的查询语句,有时需要进行sql语句优化,就需要用到sql执行计划对其进行分析,postgresql的执行计划语法和mysql有所...

2019-08-27 11:41:44 732

原创 微服务网关

一、前言 随着微服务的兴起,基于其业务耦合性低、负载能力强、服务边界清晰等优点,大家纷纷使用微服务架构来实现新系统或进行老系统的改造。微服务在带来诸多好处的同时,也有一些问题需要解决,比如:如何做到有效拆分、减少服务间调用,如何统一管理所有服务的接口,如何进行自动化部署等。本文阐述微服务的API网关的一些主要功能,并例举了几种常用的网关,最后结合spring cloud微服务框架...

2019-05-31 15:31:17 15051 2

转载 curl 模拟 GET\POST 请求,以及 curl post 上传文件

转载地址:https://blog.csdn.net/fungleo/article/details/80703365curl 模拟 GET\POST 请求,以及 curl post 上传文件一般情况下,我们调试数据接口,都会使用一个postman的工具,但是这个工具还是有点大了。事实上,我们在调试一些小功能的时候,完全没有必要使用它。在命令行中,我们使用curl这个工具,完...

2019-05-24 09:53:31 722

原创 域名访问问题处理

早上物理机重启后,发现服务无法正常连接外网,用命令: ping: www.baidu.com: Name or service not known1.ping百度的ip:ping 115.239.210.27 发现能正常访问,说明外网权限没问题2.用命令vi /etc/resolv.conf查看DNS配置: 发现和本地申请的DNS服务器地址不一致3.修改DNS...

2019-05-16 15:35:16 956

原创 设计模式(七)组合模式

 参考:https://www.cnblogs.com/liaoweipeng/p/5791049.html        将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 "组合对象" 的含义。组合模式可以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完...

2019-02-11 12:51:07 138

原创 设计模式(六)桥接模式

参考:https://www.cnblogs.com/V1haoge/p/6497919.htmlhttp://blog.csdn.net/xiefangjin/article/details/510564111.桥接模式    桥接是一个接口,它与一方应该是绑定的,也就是解耦的双方中的一方必然是继承这个接口的,这一方就是实现方,而另一方正是要与这一方解耦的抽象方,如果不采用桥接模式,...

2019-02-02 14:26:06 191

原创 设计模式(五) 适配器模式

参考:http://www.cnblogs.com/java-my-life/archive/2012/04/13/2442795.html适配器模式有类的适配器模式和对象的适配器模式两种不同的形式 1.类适配器模式(通过继承类的方式实现)public interface Target { /** * 这是源类Adaptee也有的方法 */ pub...

2019-02-02 13:19:50 139

原创 设计模式(四) 原型模式

参考:http://www.cnblogs.com/java-my-life/archive/2012/04/11/2439387.html          原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无...

2019-02-01 21:03:43 141

原创 设计模式(三) 建造者模式

参考: http://www.cnblogs.com/java-my-life/archive/2012/04/07/2433939.html 建造者模式  和工厂模式的主要区别:         工厂模式一般都是创建一个产品,注重的是把这个产品创建出来就行,只要创建出来,不关心这个产品的组成部分。从代   码上看,工厂模式就是一个方法,用这个方法就能生产出产品。        建...

2019-02-01 20:37:39 136

原创 设计模式(二) 工厂模式

参考:http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html1.简单工厂模式   产品级抽象 //抽象产品类public interface Cpu { public void calculate();}//产品实现类:因特尔cpupublic class IntelCpu imple...

2019-02-01 20:15:01 164

原创 设计模式(一) 单例模式

  1.饿汉式    简单、线程安全;但静态对象一直存在,占内存public class SingletonTest { private static final SingletonTest instance = new SingletonTest(); private SingletonTest() { } public static ...

2019-02-01 19:40:52 152

原创 RabbitMQ消息队列(一) 入门

一、RabbitMQ相关概念1.架构简介 RabbitMQ主要分为服务端和客户端两大块。 服务端主要由服务节点(Broker)构成,服务节点主要包含交换器(Exchange)、队列(Queue) 客户端向服务端发送和接收数据,分为生产者(Producer)、消费者(Consumer)                                              ...

2019-01-28 21:38:53 384 1

原创 SpringBoot快速开发(七)【数据库整合(pgsql jpa)】

一、引入依赖首先引入pssql和jpa的依赖包: <!-- pgsql --> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId&g...

2019-01-06 10:59:20 6316

原创 SpringBoot快速开发(六)【雪花算法(snowflake)自增ID】

参考:https://blog.csdn.net/linghuanxu/article/details/78896317一、为什么用snowflake    数据库自增有自增ID,但是使用起来有以下几个问题:会依赖于数据库的具体实现,比如,mysql有自增,oracle没有,得用序列,mongo似乎也没有。 自增ID是连续的,它就依赖于数据库自身的锁,所以数据库就有瓶颈。    雪...

2019-01-05 14:35:42 25014 1

原创 SpringBoot快速开发(五)【异常管理】

一、引入依赖在SpringBoot中引入AOP是一件很方便的事,和其他引入依赖一样,我们只需要在POM中引入starter就可以了:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</...

2019-01-04 20:02:16 330

原创 SpringBoot快速开发(四)【Controller层】

一、代码示例/** * 控制层 * * @author renjie * @version 1.0.0 */@RestController@RequestMapping("/demo")public class Controller { @Autowired Rj rj; @RequestMapping(value="/test", method = ...

2019-01-03 20:02:09 1025

原创 SpringBoot快速开发(三)【配置文件】

一、配置文件分类分为yml和properties两类,properties文件中的内容冗余数据比较多,yml内容体现了面向对象的思想,推荐使用yml配置二、修改配置文件第一章节最后一张图(项目启动时控制台打印)中能看到,服务默认使用8080作为端口,可以通过修改配置文件来修改服务端口,从下图中看到,端口被改写为6666tip:application.yml中可配置active项,根...

2018-12-29 11:42:22 913 1

原创 SpringBoot快速开发(二)【Banner配置】

在项目的src/main/resource下新建banner文件,可自定义修改spring服务启动时命令创建的SPRING字样一、banner定制如下图所示,将图片(支持 gif 、png、jpeg等格式)或文本文件放到src/main/resource目录下,服务启动时会将内容打印到控制台,打印顺序:先图片后文本二、定制网站http://patorjk.com/softwar...

2018-12-28 17:01:46 187

原创 SpringBoot快速开发(一)【创建项目】

一、工具mavenintelliiJ IDEApostgresqredis二、开发环境Java 1.8Spring Boot 2.0三、创建工程1.选择新建project2.选择spring initializr,点击next3.填写项目的group和artifact,点击next4.这里选择依赖,选择web,其他先不选,等后期开发时有功能加入时...

2018-12-28 16:22:23 183

转载 SpringBoot开发详解(三)--SpringBoot配置文件YML注意事项

转载自:https://blog.csdn.net/qq_31001665/article/details/70197543#commentBox一、多重层级读取在YML中我们再添加一个ZZP2的配置信息,其中包含了girl节点以及girl下的name,age属性。zzp2: name: 西科啦啦 age: 30 height: 175cm weight: 760kg...

2018-11-19 11:50:07 880

转载 SpringBoot开发详解(二)--SpringBoot的配置文件以及注解

转载自:https://blog.csdn.net/qq_31001665/article/details/69938750一、Spring Boot注解通过上一篇文章,我们已经快速构建了一个spring boot的项目,那spring boot项目和我们之前使用的springMVC项目有什么区别呢,这一篇我们就来聊一下spring boot为我们开发所带来的便捷性以及配置文件的使用。...

2018-11-19 11:32:29 988

转载 SpringBoot开发详解(一)--初识SpringBoot

转载自:https://blog.csdn.net/qq_31001665/article/details/54803354一、写在前面的话:越来越多的公司开始使用sprinbgboot作为后台服务器开发的框架,作为目前微服务框架的佼佼者,现在学习springboot框架是一个很好的机会,我自己也在学习中,这个博文将记录我学习中遇到的点点滴滴以及遇到的问题,目前的目标是通过web接口,数据...

2018-11-19 11:11:21 1020

原创 淘宝系统架构演进

参考:https://baijiahao.baidu.com/s?id=1582105537948510772&wfr=spider&for=pc           https://baijiahao.baidu.com/s?id=1582194900446787837&wfr=spider&for=pc淘宝1.0架构第一个阶段:LAMP+数据库读写分...

2018-11-14 17:30:32 13379

原创 秒杀系统

参考:https://blog.csdn.net/github_37048196/article/details/83573935          http://blog.51cto.com/13515764/2309588?source=dra一、概念秒杀,通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动。二、秒杀的特点1.瞬时并发量大秒杀时会有大量用户在同一时间...

2018-11-13 20:59:50 143

原创 redis过期策略实现机制

参考:https://www.cnblogs.com/xuliangxing/p/7151812.html一、redis设置过期时间 将某个key设置过期时间:expire key time(以秒为单位) 原子方式,同时设置值和过期时间:setex(String key, int seconds, String value) 注:如果没有设置时间,那缓存就是永不过...

2018-11-13 15:57:09 3371

原创 JAVA类加载器及双亲委派模型

一、类加载器java中类加载器可以大致划分为以下三类:启动类加载器:Bootstrap ClassLoader,负责加载存放在JDK\jre\lib(JDK代表JDK的安装目录,下同)下,或被-Xbootclasspath参数指定的路径中的,并且能被虚拟机识别的类库(如rt.jar,所有的java.*开头的类均被Bootstrap ClassLoader加载)。启动类加载器是无法被Java...

2018-11-10 14:42:39 159

原创 JDK7与JDK8中ConcurrentHashMap的实现

参考:http://www.jianshu.com/p/e694f1e868ecConcurrentHashMap在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为了对ConcurrentHashMap有更深入的了解,本文将对ConcurrentHashMap1.7和1.8的不...

2018-11-09 21:10:46 428

原创 JDK7与JDK8中HashMap的实现

参考:http://www.importnew.com/23164.htmlhttp://blog.csdn.net/q291611265/article/details/46797557一、JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entrytransient Entry<K,V>[] table;  为什么这里的tab...

2018-11-08 22:22:27 116

原创 CAP理论

参考:http://www.hollischuang.com/archives/666CAP理论概述CAP理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。一致性(Consistency) 一致性指“all nodes see the same data a...

2018-11-03 16:21:43 1779

原创 Linux启动过程

参考:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.htmlhttp://blog.51cto.com/mrxiong2017/2084767http://www.cnblogs.com/changxr/p/8023341.html 一、概述第一步:开机自检,加载BIOS第二步:读取MBR第三步:...

2018-10-31 19:31:20 229

原创 【linux命令】nohup命令及其输出文件

先上一段jar包启动命令:       nohup java -jar xxx.jar &  nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:nohup command & ...

2018-10-30 19:32:02 1926

原创 VirtualBox 网卡说明及开发环境设置(NAT+桥接)

参考:https://blog.csdn.net/dkfajsldfsdfsd/article/details/79444582https://blog.csdn.net/hacker_Dye/article/details/78398524?utm_source=blogxgwz1https://blog.csdn.net/ning521513/article/details/784...

2018-10-30 16:57:43 6715

原创 SpringApplication解读(一):注解

main方法入口:@SpringBootApplicationpublic class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); }}点击@SpringBootApplication注解,进去后发现...

2018-10-24 19:28:28 1823

原创 用IDEA进行远程Debug调试

一、目的用debug模式进行远程调试,方便开发人员对非本地(公共开发环境/测试环境/联调环境等)代码的问题进行定位,提高定位、修复问题的效率二、调试步骤1、相关命令讲解: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8012   参数说明:    【JAVA支持调试功能,并...

2018-10-23 19:37:13 1094

持续集成论文

持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误

2015-10-20

MyBatis3用户指南中文版

对,这不是一个法律上的警告,但是它可以帮助你保持清醒的认识。从美学上来讲,现代的文字处理工具在制作可读性强和格式良好的文本上做了大量的工作。然而,它们也往往会由于插入特殊字符而完全破坏代码示例,有时看起来和你想要的是一模一样的。“引号"和连字符就是一个很好的例子-在IDE环境或文本编辑器中,左边的那个符号就不会正常起作用,至少不会是你想要的那个效果。   阅读本文档,就要享受它,希望它能对你有帮助。当遇到代码段示例的时候,可以寻找示例和下载(包括单元测试等),或是来自网站和邮件列表的示例。

2015-09-18

oracle第二版1

《精通Oracle SQL(第2版)》由Oracle 数据库领域顶尖技术组织OakTable成员倾力打造,第1版热卖,读者好评如潮。书中主要介绍了如何掌握在Oracle数据库中实现的强大SQL特性,所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供了大量实用的建议,总结出方方面面的“技巧”,帮助读者快速消化重要知识点。新版将数据库版本升级到12c,对旧版进行了大幅修订,并阐述了很多新特性。

2015-09-08

xp远程登陆配置

相信很多人都有和笔者一样的经历,由WIN XP构成的网络所有设置和由WIN 2000构成的完全一样,但还是出现了根本不能访问的情况,笔者认为这主要是因为XP的安全设置和2000不一样所导致。针对这个问题笔者在网上查了一些资料,并将各种网上提供的常见解决方法做了相应测试,现在整理介绍给大家,希望能对遇到此问题的网友有所帮助,并请高手继续指点。部分内容摘自网络,请原谅不一一注明出处。

2015-08-27

空空如也

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

TA关注的人

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