<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[嗨,包]]></title><description><![CDATA[JAVA]]></description><link>https://blog.youkuaiyun.com/hellow789</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hellow789]]></copyright><item><title><![CDATA[Java高并发系统的常用限流策略]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/105787908</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/105787908</guid><author>hellow789</author><pubDate>Mon, 27 Apr 2020 12:18:28 +0800</pubDate><description><![CDATA[Java高并发系统的常用限流策略

在高并发访问时,常会出现服务或接口面对暴涨的请求而不可用的情况,更甚至导致整个系统崩溃.而使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待,排队,降级,拒绝服务等.


在开发高并发系统时有三把利器用来保护系统:缓存,降级和限流.

限流常见算法
计数器/时间窗口法

最简单也最容易实现的一种,通过在单位时间内设置最大访问数就可以达到限流的目...]]></description><category></category></item><item><title><![CDATA[布隆过滤器(Bloom Filter)]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/105686847</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/105686847</guid><author>hellow789</author><pubDate>Wed, 22 Apr 2020 16:49:21 +0800</pubDate><description><![CDATA[布隆过滤器(Bloom Filter)
一句话了解布隆过滤器

布隆过滤器(Bloom Filter):本质上是一种概率型数据结构(probabilistic data structure),优点是高效地插入和查询,根据查询结果快速判断某样东西一定不存在或者可能存在,缺点是只能插入不能删除.


布隆过滤器相比于传统的 List,Set,Map 等数据结构,它更高效,占用空间更少,但是缺点是其返回...]]></description><category></category></item><item><title><![CDATA[3.Hadoop运行环境搭建(开发重点)]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/101394282</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/101394282</guid><author>hellow789</author><pubDate>Wed, 09 Oct 2019 15:05:32 +0800</pubDate><description><![CDATA[虚拟机环境准备

]]></description><category></category></item><item><title><![CDATA[2.从Hadoop框架讨论大数据生态]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/100175044</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/100175044</guid><author>hellow789</author><pubDate>Sat, 31 Aug 2019 18:45:33 +0800</pubDate><description><![CDATA[从Hadoop框架讨论大数据生态
1.1  Hadoop是什么


Hadoop是一个由Apache基金会所开发的分布式系统基础架构.
主要解决,海量数据的存储和海量数据的分析计算问题.
广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈.


1.2 Hadoop发展史

1）Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似...]]></description><category></category></item><item><title><![CDATA[1.大数据概述]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/100174615</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/100174615</guid><author>hellow789</author><pubDate>Sat, 31 Aug 2019 17:16:26 +0800</pubDate><description><![CDATA[大数据概论
1.1 大数据概念

大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量,高增长率和多样化的信息资产.


主要解决:海量数据的存储和海量数据的分析计算问题.


按顺序给出数据存储单位：bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
...]]></description><category></category></item><item><title><![CDATA[Shell入门]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/99690512</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/99690512</guid><author>hellow789</author><pubDate>Sat, 31 Aug 2019 16:36:36 +0800</pubDate><description><![CDATA[Shell基础
1. Shell概述
1.1 shell是什么

Shell是一个命令行解释器,它为用户提供了以向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动,挂起,停止甚至是编写一些程序.

1.2 shell的分类

Bourne家族,主要包括:sh,ksh,Bash,psh,zsh.
C家族,主要包括:csh,tcsh

2. 脚本的执行方式
2.1 前提
...]]></description><category></category></item><item><title><![CDATA[Docker镜像]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86231115</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86231115</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:26:02 +0800</pubDate><description><![CDATA[Docker镜像
1.简介
Docker是一个开源的应用容器引擎,完全使用沙箱机制,相互之间不会有任何接口,性能开销极低.
Docker支持将软件编译成一个镜像;然后在镜像中各种软件配置,发布镜像,让其他人直接使用.
2.Docker核心概念
docker镜像(images):docker镜像是用于创建Docker容器的模板.
docker容器(container):容器是独立运行的一个或一组应用...]]></description><category></category></item><item><title><![CDATA[7.rabbitmq的消息确认机制]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230641</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230641</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:21:09 +0800</pubDate><description><![CDATA[消息确认机制
在rabbitmq中,我们可以通过持久化数据,解决rabbitmq服务器异常的数据丢失问题.
问题:生产者将消息发送出去之后,消息到底有没有到底rabbitmq服务器,默认情况下是不知道的
两种方式:

AMQP实现事务机制.
Confirm模式.

事务机制
txSelect:用于将当前channel设置成transation模式
txCommit:用与提交事务
txRollbac...]]></description><category></category></item><item><title><![CDATA[6.主题模式]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230581</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230581</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:21:05 +0800</pubDate><description><![CDATA[Topic主题模式
将路由键和某模式匹配

#匹配一个或者多个
*匹配一个

Goods.#
商品:发布,删除,修改,查询

package com.mmr.rabbit.topic;

import com.mmr.rabbit.util.ConnectionUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client...]]></description><category></category></item><item><title><![CDATA[5.Exchange(交换机 转发器)]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230547</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230547</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:21:00 +0800</pubDate><description><![CDATA[对比
一方面是接收生产者的消息,另一方面是向队列推送消息.
//匿名转发:&amp;quot;&amp;quot;
//fanout(不处理路由键)
//声明交换机
channel.exchangeDeclare(EXCHANGE_NAME,&amp;quot;fanout&amp;quot;);//分发
//发送消息
String msg=&amp;quot;hello ps&amp;quot;;
channel.basicPublish(EXCHANGE_NAME,&amp;quot;&]]></description><category></category></item><item><title><![CDATA[4.订阅模式]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230502</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230502</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:20:54 +0800</pubDate><description><![CDATA[publish_subcribe订阅模式
解读:

一个生产者,多个消费者.
每一个消费者都有自己的队列.
生产者没有直接把消息发送到队列,而是发送到了交换机,转发器exchange.
每个队列都要绑定到交换机上.
生产者发送的消息,经过交换机,到达队列,就能实现一个消息被多个消费者消费.

注册—&amp;amp;gt;邮件
注册—&amp;amp;gt;短信
环境搭建
package com.mmr.rabbit.ps;

...]]></description><category></category></item><item><title><![CDATA[3.消息应答与消息分发]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230460</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230460</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:20:48 +0800</pubDate><description><![CDATA[消息应答
boolean autoAck=false;
channel.basicConsume(QUEUE_NAME,autoAck,consumer);


boolean autoAck=true;
//自动确认模式,一旦rabbitmq将消息分发给消费者,就会从内存中删除,这种情况下,如果杀死了正在执行的消费者,就会丢失正在处理的消息.


boolean autoAck=false;
/...]]></description><category></category></item><item><title><![CDATA[2.工作队列]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230420</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230420</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:20:43 +0800</pubDate><description><![CDATA[work queues
为什么会出现工作队列?
Simple队列是一一对应的,而且我们实际开发,生产者发送消息是毫无费力的,而消费者一般是要跟业务相结合的,消费者接收到消息之后就需要处理,可能需要花费时间,这时候队列就会挤压了很多消息.

1.轮询分发     
消费者1和消费者2处理的消息是一样多的.
消费者1:偶数,消费者2:奇数
这种方式叫做轮询分发(round-robin),任务总是均分....]]></description><category></category></item><item><title><![CDATA[0.RabbitMq消息队列]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86230355</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86230355</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:20:35 +0800</pubDate><description><![CDATA[rabbitmq环境搭建

下载Elang语言环境包以及rabbitmq环境包.
安装语言环境包,rabbitmq环境包,并在rabbit命令窗口执行-rabbitmq-plugins enable rabbitmq_management
打开http://localhost:15672 默认用户名/密码:guest

相关概念解释
rabbitmq概念

Queue:队列是RabbitMQ的内部...]]></description><category></category></item><item><title><![CDATA[1. 简单队列]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86225617</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86225617</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 14:12:38 +0800</pubDate><description><![CDATA[简单队列
耦合性高,生产者一一对应消费者(不允许多个消费队列中的消息).
项目搭建


新建maven项目


添加依赖
  &amp;amp;lt;dependencies&amp;amp;gt;
	&amp;amp;lt;dependency&amp;amp;gt;
		&amp;amp;lt;groupId&amp;amp;gt;com.rabbitmq&amp;amp;lt;/groupId&amp;amp;gt;
		&amp;amp;lt;artifactId&amp;a]]></description><category></category></item><item><title><![CDATA[Redis基础]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86224844</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86224844</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 12:33:48 +0800</pubDate><description><![CDATA[Redis基础
redis的五大数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sort set:有序集合).


list
k-v格式中的v的数据类型是list.
    LPUSH key value [value...]
    RPUSH key value [value...]
    LPOP key
    ...]]></description><category></category></item><item><title><![CDATA[PLSQL程序设计]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86224752</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86224752</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 12:31:14 +0800</pubDate><description><![CDATA[PLSQL程序设计
sqlplus scott/123456@127.0.0.1:1521/orcl

declare
    --说明部分
begin
    --程序
    dbms_output.put_line('Hello World');
end;


什么是PL/SQL?
PL/SQL(Procedure Language/SQL)是oracle对sql语言的过程化扩展.
指在SQ...]]></description><category></category></item><item><title><![CDATA[Oracle的管理操作]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86224729</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86224729</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 12:29:59 +0800</pubDate><description><![CDATA[oracle的用户权限操作
--查询当前用户角色(角色不用,对应的权限不同)
select * from role_sys_privs;
--dba是oracle数据库中最高权限的角色.

--切换到system用户下,创建表空间
create tablespace 表空间名称
datafile '文件地址/文件名.dbf'
size 100m   --默认大小
autoextend on 
ne...]]></description><category></category></item><item><title><![CDATA[Oracle的数据处理]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86224701</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86224701</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 12:29:28 +0800</pubDate><description><![CDATA[SQL的类型
SQL的类型:
1.DML(data manipulation language 数据操作语言):insert update delete select 
2.DDL(data definition language 数据定义语言):create table,alter table,drop table,truncate table,create/drop view,sequence...]]></description><category></category></item><item><title><![CDATA[Oracle基础知识]]></title><link>https://blog.youkuaiyun.com/hellow789/article/details/86224675</link><guid>https://blog.youkuaiyun.com/hellow789/article/details/86224675</guid><author>hellow789</author><pubDate>Thu, 10 Jan 2019 12:29:01 +0800</pubDate><description><![CDATA[oracle基本概念
一个oracle服务器:由一个oracle数据库和多个oracle实例组成.
是一个数据管理系统(RDBMS),它提供开放的,全面的,近乎完整的信息管理.

数据库:物理概念,/opt/oracle/oradata/ORCL中的数据文件  ORCL实例名
oracle实例:数据库在内存文件中的镜像.
oracle实例=内存(SGA系统全局区)+后台进程(主要5个:SMON/P...]]></description><category></category></item></channel></rss>