- 博客(117)
- 资源 (14)
- 收藏
- 关注
原创 Redis | 持久化机制
一、简介在指定的时间间隔内,将内存中的数据集快照写入磁盘,恢复时是将快照文件写入内存。持久化的类型有 3 中,分别是 RDB 持久化(默认),AOF 持久化,还有就是两种混合持久化。二、原理1、RDB在默认的 RDB 模式中,Redis 会单独 fork 一个与当前进程一模一样的子进程来进行持久化,这个子进程的所有数据(变量,环境变量,程序程序计数器等)都和原进程一模一样,会先将数据写入到...
2020-03-05 20:55:11 231
原创 SpringBoot 2.0 | SpringBoot 集成 Apollo
一、创建项目首先我们在安装好的 Apollo 配置中心门户网站创建一个项目,然后添加配置,最后进行发布配置,效果如下。二、 SpringBoot 对接 Apollo1、添加 maven 依赖 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId&...
2020-03-03 23:30:22 339
原创 延迟满足 —— 达到目标需要忍住重重诱惑
20世纪60年代,美国斯坦福大学心理学教授沃尔特·米歇尔做了一个著名的“延迟满足”实验,这个实验所在美国斯坦福大学附近的一间幼儿园粒粒面进行的。实验过程大致如下:研究人员找来数十名儿童,把他们都单独安排在一间只有一张桌子和一把椅子的小房间里面,然后再桌子上放着他们喜欢吃的棉花糖,曲奇和各种小零食。然后告诉他们,如果等 20 分钟后再吃,还能得到更多的奖励,如果现在就吃了,将没有任何奖励。当研究...
2020-03-02 21:11:50 626
原创 Redis | Redis 单机版安装与使用(Linux)
一、简介是完全开源免费的,用c语言编写的,是一个单线程,高性能的(key/value)内存数据库,基于内存运行并支持持久化的 nosql 数据库。主要是用来做缓存,但不仅仅只能做缓存,比如:redis的计数器生成分布式唯一主键,redis 实现分布式锁,队列,会话缓存,点赞,统计网站访问量。二、安装1、下载https://redis.io/download2、解压下载完成后,传到 Li...
2020-03-02 13:40:00 222
原创 分布式的冰与火 | 分布式配置中心 Apollo (CentOS安装)
一、Docker 快速安装1、安装 DockerDocker 安装与入门2、安装 Docker-ComposeDocker-Compose 安装与入门3、下载配置文件https://github.com/ctripcorp/apollo/tree/master/scripts/docker-quick-start4、启动 Docker-Compose在 docker-quick-s...
2020-03-01 22:38:33 477
原创 写作的好处
一、我们为什么需要写作写作是一个重要的技能,无论何总职业,无论身在何处,好的文笔,不仅能给我们带来更多的机会,还能让我们更易于得到他人的信服,从而让我们能够接近自己的目标。所以,这是一个人人都有必要掌握的技能。在互联网的时代,我们如果想提高自己的影响力,通过的途径除了是演讲,还有就是写作,写作是一项低门槛的,绝大多数人都能够学习的技能。二、写作的好处1、锻炼思考和表达能力写作能够锻炼我们的...
2020-03-01 02:55:43 1372
原创 自媒体的未来
一、自媒体的未来因为自媒体,个人的能力被无限的放大,过去,我们的能力只能影响身边的人,但现在,因为互联网,我们的能力可以影响到整个世界,在这个时代,每一个普通的人都可以连接更多的人,哪怕你只是一个偏远山区的人,也能够为世界各地的人带来价值,这是以前无法想象的事,自媒体改变了一个时代。在未来,每一个人都有机会成为一个个超级个体,就好比一个节点,每一个节点都会产生价值。我们可以举一个例子,比如说我...
2020-02-25 21:46:25 438
原创 Kong 网关 | Route
一、简介路由用来匹配客户端向上游服务器请求的规则,也就是客户端调用的 API,每个路由(Route)和一个服务(Service) 相关联,一个服务可有有多个路由,我们可以对每一条路由进行细粒度的配置,可以使用正则表达式进行通用的配置。二、重要属性创建一个路由需要配置的属性,其中路径 paths 为必须设置,其余为可选。AttributesDescriptionname...
2020-01-18 19:25:35 1942
原创 Kong 网关 | Service
一、简介服务 Service 是 Kong 对上游服务的抽象,也就是我们的一个个微服务,一个个项目,它用来管理上游服务的 API在创建一个上游的 API 之前,需要创建一个服务。二、相关属性kong 配置一个服务需要设置的相关属性,其中 protocol,host,port 是必须设置的属性,其余属性是可选属性,所对应的参数和描述如下表:AttributesDescription...
2020-01-17 20:46:32 482
原创 Kong网关 | 「Kong & Prometheus & Grafana」 实时监控
一、安装 Go1、下载wget https://dl.google.com/go/go1.12.14.linux-amd64.tar.gz2、解压tar -zxvf go1.12.14.linux-amd64.tar.gz3、配置环境变量vim /etc/profileexport PATH=$PATH:/usr/local/go/binsource /etc/profile...
2020-01-13 18:02:27 3824
原创 Kong 网关 | Rate Limiting 限流
一、简介限流允许开发人员规定在几秒、几分钟、几小时、几天、几个月或几年的时间内可以发出多少HTTP请求。二、实例1、配置服务2、配置路由3、为路由配置限流访问:http://www.javahly.com:8000/三、配置属性属性说明是否必须默认示例consumer设置消费之,当时用身份认证时能够识别出消费者否所有消费者secon...
2019-12-10 00:12:29 1754
原创 Kong 网关 | 快速安装与入门
一、简介二、docker 安装 Kong1、创建网桥# docker network create kong-net2、创建数据库,Kong 支持 Cassandra 或者 PostgreSQL,任选其一,以下以 PostgreSQL 为例2.1 启动 PostgreSQL 容器# docker run -d --name kong-database \ ...
2019-12-07 13:15:00 1057
原创 PostgreSQL 安装与入门
一、简介PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同...
2019-12-06 18:52:58 569
原创 Spring-Cloud-Finchley | 配置中心 Config
简介在一个分布式微服务集群中,可能会有成百上千的服务,每个服务都有大量的配置,这些配置散落在各个服务,造成难以维护,所以,我们需要一个配置中心来统一管理这些配置,Spring Cloud Config 可以实现所有服务的配置管理。实例1、创建 maven 工程 <properties> <project.build.sourceEncoding>UTF-8...
2019-11-05 23:38:32 233
原创 Spring-Cloud-Finchley | 路由网关 Zuul
简介Zuul 是Netflix 旗下实现路由网关的一个组件,客户端在进行请求时,首先请求会到达网关,然后网关将请求分发到不同的服务,网关可以根据 URI 区别用户请求的具体服务,然后进行转发,返回响应的资源给用户。实例实例1、创建 maven 工程创建 maven 工程,添加核心的父 maven 依赖,所有子 pom 文件继承这个父 pom 文件。 <properties>...
2019-11-04 00:52:15 222
原创 Spring-Cloud-Finchley | 熔断 Hystrix
简介熔断机制产生的背景是“雪崩效应”,在分布式系统中,一个服务提供者的不可用会导致服务消费者的不可用,一个服务的异常,最终会影响其他服务,造成线程阻塞,资源耗尽,如果有大量的请求,会导致服务瘫痪,引蝴蝶效应造成系统宕机。如果一个服务的错误过多,短时间内得不到修复,就可以开启熔断机制,防止多次没有意义的调用。服务调用方会定时重试,如果可用,就继续使用。熔断有以下几种状态:闭合状态添加一...
2019-10-31 01:08:14 200
原创 Spring-Cloud-Finchley | 声明式服务调用 Feign
简介本篇的 Feign 和 上一篇的 Ribbon 都是用于调用其他服务,但是调用的方式不同,Ribbon 需要搭配 RestTemplate 进行 Http 请求,步骤较为繁琐;Feign 是 Ribbon 的改进,整合了 Ribbon 和 Hystrix,不需要构建 Http 请求,并且采用接口的方式声明即可调用。实例1、创建 maven 工程创建 maven 工程,添加核心的父 ma...
2019-10-30 01:02:48 218
原创 Spring-Cloud-Finchley | 负载均衡 RestTemplate+Ribbon
简介负载均衡提供了一种廉价的方式扩展网络设备和服务器带宽,增加吞吐量,加强网络数据的处理能力,也就是把多个请求分摊到不同的服务器上,降低单台服务器的压力。Ribbon 和 Nginx 都可以用来做负载均衡,他们的区别与场景如下:Nginx 是服务器负载均衡,Ribbon 是客户端负载均衡,Nginx 是客户端把所有请求交给 Nginx,由 Nginx 进行转发,Ribbon 是从注册中心获取...
2019-10-29 00:28:00 252
原创 Spring-Cloud-Finchley | 服务注册与发现 Eureka
简介注册中心是微服务的核心,提供服务注册与发现,当一个服务启动时,会把自己的信息注册到注册中心,当一个服务需要调用另一个服务时,会通过别名从注册中心获取到相关服务的信息,比如该服务的地址等。Zookeeper 也可以作为注册中心,Eureka 和 Zookeeper 的区别在于 Eureka 保证 AP,Zookeeper 保证 CP,AP 也就是 CPA 理论中的高可用和分区容错,每一个服...
2019-10-28 00:25:47 209
原创 Java 大数据【Hadoop 安装入门】
一、开始1.创建用户及权限添加用户名$ adduser hadoop 添加密码$ passwd hadoop 赋予管理员权限$ usermod -aG wheel hadoop 切换用户$ su - hadoop 确认成功$ sudo ls –la /root2.添加权限有时会提示没有权限,切换到 root$ visudo找到 root ALL = (AL...
2019-08-20 22:38:38 266
原创 精通Spring 源码 (三) | Bean 的诞生及生命周期
一、前言上一篇我们结束了 Bean 的注册与扫描,本篇我们将走进 Bean 的实例化和初始化。二、源码分析我们首先开一张思维导图,Bean 的实例化和初始化主要在 finishBeanFactoryInitialization(beanFactory); 这个方法里面完成。我们可以随着思维导图一步一步跟进,调用 getBean,doGetBean,在 doGetBean 里面会两次调用 ...
2019-08-20 21:39:34 256
原创 精通 Spring 源码 (二) | 揭秘 Bean 的前世今生
一、前言接下来,我们对 Bean 的扫描与注册进行探究,一个 Java 类是如何变成一个 Bean 的呢,它中间走过了怎样的历程,这就是我们本章所要讨论的问题。二、源码分析在进行分析前,各位胖友可以先看一下思维导图,该思维导图详细记录了源码的每一步流程,并且每一步都有详细的注释,在在线地址可以看到注释,如下:点击浏览 Spring 源码思维导图本次我们将对 refresh 方法进行分析,...
2019-08-20 21:39:25 379
原创 精通 Spring 源码 (一) | 剑指 Spring 源码
一、前言当下,各大框架层出不穷,当我们还没有学完一个框架时,又会有新的框架出现,作为一名合格程序员,我们不应该满足于看着文档搬运API,而应该深入其源码,探究他的底层原理。在这个过程,虽然会很艰难,但你能收获到的不仅是知识,还有更为重要的开发思想,甚至会打破你的三观。学习源码并不能让你的能力得到立竿见影般的提高,但学习要踏实,学习是需要长期积累的,我们学习应该本着一颗学习某一件事务的思想及其本...
2019-08-20 21:39:07 980
原创 synchronized 和 volatile
一、synchronized 关键字1、synchronized 用法synchronized 关键字可以保证线程的原子性和可见性,它锁的是一个对象,他有如下几种用法1)对象锁这里锁的是 object 对象的实例。public class Demo1 { private int count = 10; private Object object = new Object(...
2019-07-30 17:00:16 215
原创 Java 数据结构 | 二叉树
1、定义节点类定义静态内部类 TreeNode 作为一个节点类,使用了泛型,data 为节点数据,lChild,rChild 为节点的左右子树,数据类型为 TreeNode//静态内部节点类 public static class TreeNode<AnyType> { //节点数据 public AnyType data; ...
2019-07-27 19:38:44 293
原创 八大排序算法解析及Java实现
八大排序算法解析及Java实现 1、冒泡排序时间复杂度:平均时间 最好情况 最坏情况O(n^2) O(n) O(n^2)空间复杂度:O(1)两层循环:第一层循环从第一个元素到倒数第二个元素,因为每次比较是前一个元素和后一个元素进行比较,所以在第一层循环,最后一个元素会和前一个元素进行比较,所以...
2019-07-26 15:02:05 390
原创 ASP.NET快速入门
# ASP.NET 简单实现CRUD本文将带你快速入门ASP.NET,并实现一个简单的CRUD,环境基于VS 2017。废话不多说,直接上干货!配置数据源首先创建一个 web 窗体网站,如下:创建好后,右键点击箭头所指,创建SqlServer数据源,步骤如下:创建好后,可查看数据库的属性,在右边可看到一个链接字符串,这个是重点,这个将会决定我们是否可以成功连接数据库。配置数...
2019-06-16 18:56:57 1982 1
原创 Java 基础知识 | 字符串 String&intern
简介java字符串在java编程中使用较为频繁,其中也涉及到不少知识点,String是典型的Immutable类,被声明为final,所有属性不可变,保证了基础的线程安全,由于不可变性,拼接,裁剪等动作,都会产生新的String对象。String创建一个字符串时,首先检查字符串常量池池中是否有相同的字符串对象有则直接取出,没有则创建对象把对象放入池中,new方法创建的对象不检查字符串池,直接在堆...
2019-05-19 01:03:51 405
原创 Spring Cloud Finchley | Spring Cloud OAuth2
一.简介OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。在APP或者网页接入一些第三方应用时,时长会需要用户登录另一个合作平台,比如QQ,微博,微信的授权登录。OAuth 提...
2019-05-05 23:25:08 1403 2
原创 SpringBoot 2.0 | SpringBoot 集成 RabbitMQ
一、RabbitMQ 使用场景RabbitMQ 是一个消息中间件,最主要的作用:信息的缓冲区,应用场景如下:1、系统集成与分布式系统的设计各种子系统通过消息来对接,这种解决方案也逐步发展成一种架构风格,即“通过消息传递的架构”。例:现在医院有两个科“看病科”和“住院科”在之前他们之间是没有任何关系的,如果你在“看病课”看完病后注册的信息和资料,到住院科后还得重新注册一遍?那现在要改革,你看...
2019-05-01 13:39:30 683
原创 面试必问的设计模式 | 单例模式
一、简介单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私...
2019-04-12 22:06:20 343
原创 SpringBoot 2.0 | SpringBoot + MyBatis 配置多数据源
在传统的单体架构中,一个系统对应一个数据库,但在一个分布式系统中,比如微服务,每一个服务对应一个数据库,由于业务的需求,有时需要在一个服务中访问多个数据库的数据,我们需要配置多数据源,以下是SpringBoot 2.0.5 + MyBatis + .yml 格式配置多数据源的方法。数据源配置application.yml 文件的配置spring: datasource: arti...
2019-04-09 11:24:20 825
原创 Java 数据结构 | 线性表「顺序存储 + 链式存储」
一、顺序存储####1) 特点(1) 使用一组地址连续的存储单元依次存放线性表中各个数据元素。(2) 逻辑上相邻的数据元素,物理上也是相邻的,删除数据会引起大量数据移动。(3) 便于随机存取。(4) 不便于插入和删除操作。(5) 若要扩充存储空间,需要重新创建一个地址连续的更大的存储空间,并把所有数据复制到新的存储空间。####2) 实现package com.hly.dataSt...
2019-03-11 20:01:10 802
原创 计算机网络自顶向下方法(第六版) 课后题答案 | 第五章
复习题R1.公共汽车、火车、汽车R2.虽然每个链路都保证通过链路发送的IP数据报将在链路的另一端接收到,没有错误,但不能保证IP数据报将以正确的顺序到达最终目的地。有了IP,同一TCP连接中的数据报可以在网络中采取不同的路由,因此无法正常到达。TCP仍然需要以正确的顺序向应用程序的接收端提供字节流。此外,IP可能会由于路由循环或设备故障而丢失数据包。R3.帧:IP和TCP也有帧;链接访...
2018-12-30 17:53:29 9331 1
原创 计算机网络自顶向下方法(第六版) 课后题答案 | 第四章
复习题R1.网络层的分组名称是数据报。路由器是根据包的 IP 地址转发包;而链路层是根据包的 MAC 地址来转发包。R2.数据报网络中网络层两个最重要的功能是:转发,路由选择。虚电路网络层最重要的三个功能是:转发,路由选择,和呼叫建立R3.转发是当一个分组到达路由器的一条输入链路时,该路由器将该分组移动到适当的输出链路。路由选择是当分组从发送方流向接收方时,网络层必须决定这些分组所...
2018-12-30 17:20:28 10452
原创 计算机网络自顶向下方法(第六版) 课后题答案 | 第三章
复习题R1.a.将此协议称为简单传输协议(STP)。在发送方端,STP 从发送过程中接收不超过 1196 字节的数据块、目标主机地址和目标端口号。STP 向每个块添加一个 4 字节的报头,并将目标进程的端口号放在这个报头中。然后 STP 将目标主机地址和报文段提供给网络层。网络层将报文段传送到目标主机上的 STP。STP 然后检查段中的端口号,从段中提取数据,并将数据传递给端口号标识的进程。...
2018-12-30 16:43:13 15361
原创 计算机网络自顶向下方法(第六版) 课后题答案 | 第二章
复习题R1.非专用的因特网所在的应用层协议WebHTTP文件传输FTP远程登录Telente-mailSMTPP2PBitTorrentR2.网络体系结构是指如五层Internet架构。应用程序体系结构是由应用程序开发人员设计的,它规定了应用程序的广泛结构(例如客户机-服务器或P2P)。R3.发起请求的是客户端,接收请求的是服务...
2018-12-25 19:53:17 27938 2
原创 计算机网络自顶向下方法(第六版) 课后题答案 | 第一章
复习题R1.没什么不同,主机就是端系统,可互换使用;端系统包括PC 机,工作站,Web 服务器,邮件服务器,联网游戏机等。R2.外交礼仪通常被描述为一套国际礼仪规则。这些建立已久、历史悠久的规则使国家和人民更容易在一起生活和工作。R3.标准对于协议很重要,这样人们就可以创造相互连接的网络系统和产品。R4.1.电话拨号调制解调器:住宅2.电话线路DSL:住宅,小型公司3.电缆HF...
2018-12-24 16:09:39 34491 3
原创 SpringBoot 2.0 | SpringBoot 文件上传下载
环境与配置添加 maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> &...
2018-12-04 21:05:09 1190
原创 JavaWeb 实现基础增删改查 CRUD
1.数据库表如下CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(40) NOT NULL, `note` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEF...
2018-11-29 22:19:35 8553 3
项目开发文档规范.zip
2019-07-13
prop-types.js(15.6.1)
2018-09-06
PowerDesigner16.6破解
2018-07-20
SSM框架精致注册登录
2018-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人