自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嗨,包

JAVA

  • 博客(27)
  • 收藏
  • 关注

原创 Java高并发系统的常用限流策略

Java高并发系统的常用限流策略在高并发访问时,常会出现服务或接口面对暴涨的请求而不可用的情况,更甚至导致整个系统崩溃.而使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待,排队,降级,拒绝服务等.在开发高并发系统时有三把利器用来保护系统:缓存,降级和限流.限流常见算法计数器/时间窗口法最简单也最容易实现的一种,通过在单位时间内设置最大访问数就可以达到限流的目...

2020-04-27 12:18:28 427

转载 布隆过滤器(Bloom Filter)

布隆过滤器(Bloom Filter)一句话了解布隆过滤器布隆过滤器(Bloom Filter):本质上是一种概率型数据结构(probabilistic data structure),优点是高效地插入和查询,根据查询结果快速判断某样东西一定不存在或者可能存在,缺点是只能插入不能删除.布隆过滤器相比于传统的 List,Set,Map 等数据结构,它更高效,占用空间更少,但是缺点是其返回...

2020-04-22 16:49:21 378

原创 3.Hadoop运行环境搭建(开发重点)

虚拟机环境准备

2019-10-09 15:05:32 233

原创 2.从Hadoop框架讨论大数据生态

从Hadoop框架讨论大数据生态1.1 Hadoop是什么Hadoop是一个由Apache基金会所开发的分布式系统基础架构.主要解决,海量数据的存储和海量数据的分析计算问题.广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈.1.2 Hadoop发展史1)Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似...

2019-08-31 18:45:33 194

原创 1.大数据概述

大数据概论1.1 大数据概念大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量,高增长率和多样化的信息资产.主要解决:海量数据的存储和海量数据的分析计算问题.按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。...

2019-08-31 17:16:26 125

原创 Shell入门

Shell基础1. Shell概述1.1 shell是什么Shell是一个命令行解释器,它为用户提供了以向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动,挂起,停止甚至是编写一些程序.1.2 shell的分类Bourne家族,主要包括:sh,ksh,Bash,psh,zsh.C家族,主要包括:csh,tcsh2. 脚本的执行方式2.1 前提...

2019-08-31 16:36:36 126

原创 Docker镜像

Docker镜像1.简介Docker是一个开源的应用容器引擎,完全使用沙箱机制,相互之间不会有任何接口,性能开销极低.Docker支持将软件编译成一个镜像;然后在镜像中各种软件配置,发布镜像,让其他人直接使用.2.Docker核心概念docker镜像(images):docker镜像是用于创建Docker容器的模板.docker容器(container):容器是独立运行的一个或一组应用...

2019-01-10 14:26:02 206

原创 7.rabbitmq的消息确认机制

消息确认机制在rabbitmq中,我们可以通过持久化数据,解决rabbitmq服务器异常的数据丢失问题.问题:生产者将消息发送出去之后,消息到底有没有到底rabbitmq服务器,默认情况下是不知道的两种方式:AMQP实现事务机制.Confirm模式.事务机制txSelect:用于将当前channel设置成transation模式txCommit:用与提交事务txRollbac...

2019-01-10 14:21:09 130

原创 6.主题模式

Topic主题模式将路由键和某模式匹配#匹配一个或者多个*匹配一个Goods.#商品:发布,删除,修改,查询package com.mmr.rabbit.topic;import com.mmr.rabbit.util.ConnectionUtils;import com.rabbitmq.client.Channel;import com.rabbitmq.client...

2019-01-10 14:21:05 302

原创 5.Exchange(交换机 转发器)

对比一方面是接收生产者的消息,另一方面是向队列推送消息.//匿名转发:""//fanout(不处理路由键)//声明交换机channel.exchangeDeclare(EXCHANGE_NAME,"fanout");//分发//发送消息String msg="hello ps";channel.basicPublish(EXCHANGE_NAME,"&

2019-01-10 14:21:00 183

原创 4.订阅模式

publish_subcribe订阅模式解读:一个生产者,多个消费者.每一个消费者都有自己的队列.生产者没有直接把消息发送到队列,而是发送到了交换机,转发器exchange.每个队列都要绑定到交换机上.生产者发送的消息,经过交换机,到达队列,就能实现一个消息被多个消费者消费.注册—>邮件注册—>短信环境搭建package com.mmr.rabbit.ps;...

2019-01-10 14:20:54 131

原创 3.消息应答与消息分发

消息应答boolean autoAck=false;channel.basicConsume(QUEUE_NAME,autoAck,consumer);boolean autoAck=true;//自动确认模式,一旦rabbitmq将消息分发给消费者,就会从内存中删除,这种情况下,如果杀死了正在执行的消费者,就会丢失正在处理的消息.boolean autoAck=false;/...

2019-01-10 14:20:48 126

原创 2.工作队列

work queues为什么会出现工作队列?Simple队列是一一对应的,而且我们实际开发,生产者发送消息是毫无费力的,而消费者一般是要跟业务相结合的,消费者接收到消息之后就需要处理,可能需要花费时间,这时候队列就会挤压了很多消息.1.轮询分发 消费者1和消费者2处理的消息是一样多的.消费者1:偶数,消费者2:奇数这种方式叫做轮询分发(round-robin),任务总是均分....

2019-01-10 14:20:43 87

原创 0.RabbitMq消息队列

rabbitmq环境搭建下载Elang语言环境包以及rabbitmq环境包.安装语言环境包,rabbitmq环境包,并在rabbit命令窗口执行-rabbitmq-plugins enable rabbitmq_management打开http://localhost:15672 默认用户名/密码:guest相关概念解释rabbitmq概念Queue:队列是RabbitMQ的内部...

2019-01-10 14:20:35 119

原创 1. 简单队列

简单队列耦合性高,生产者一一对应消费者(不允许多个消费队列中的消息).项目搭建新建maven项目添加依赖 <dependencies> <dependency> <groupId>com.rabbitmq</groupId> <artifactId&a

2019-01-10 14:12:38 115

原创 Redis基础

Redis基础redis的五大数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sort set:有序集合).listk-v格式中的v的数据类型是list. LPUSH key value [value...] RPUSH key value [value...] LPOP key ...

2019-01-10 12:33:48 100

原创 PLSQL程序设计

PLSQL程序设计sqlplus scott/[email protected]:1521/orcldeclare --说明部分begin --程序 dbms_output.put_line('Hello World');end;什么是PL/SQL?PL/SQL(Procedure Language/SQL)是oracle对sql语言的过程化扩展.指在SQ...

2019-01-10 12:31:14 360

原创 Oracle的管理操作

oracle的用户权限操作--查询当前用户角色(角色不用,对应的权限不同)select * from role_sys_privs;--dba是oracle数据库中最高权限的角色.--切换到system用户下,创建表空间create tablespace 表空间名称datafile '文件地址/文件名.dbf'size 100m --默认大小autoextend on ne...

2019-01-10 12:29:59 105

原创 Oracle的数据处理

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...

2019-01-10 12:29:28 292

原创 Oracle基础知识

oracle基本概念一个oracle服务器:由一个oracle数据库和多个oracle实例组成.是一个数据管理系统(RDBMS),它提供开放的,全面的,近乎完整的信息管理.数据库:物理概念,/opt/oracle/oradata/ORCL中的数据文件 ORCL实例名oracle实例:数据库在内存文件中的镜像.oracle实例=内存(SGA系统全局区)+后台进程(主要5个:SMON/P...

2019-01-10 12:29:01 161

原创 MySQL事件调度器

mysql事件调度器事件调度器(event_scheduler):可以定时执行某些特定任务,可以看做基于时间的触发器.事件开关设置SHOW VARIABLES LIKE 'event_scheduler';SELECT @@event_scheduler;SET GLOBAL event_scheduler=1;SHOW CREATE EVENT insert_tdemo;SHO...

2019-01-10 12:27:44 333

原创 MySQL存储过程和函数

事务安全事务:transaction,一系列要发生的连续的操作.事务安全:一种保护连续操作同时满足(实现)的一种机制.事务安全的意义:保证数据操作的完整性.需求:有一张银行账户表,有A用户给B用户转账:A账户减少,B账户增加.但是A操作完成之后断电了.解决方案:A减少钱,但是不要立即修改数据表,B收到钱之后,同时修改数据表.事务操作事务操作分为两种:自动事务(默认),手...

2019-01-10 12:27:09 445

原创 MySQL数据备份以及视图

外键外键:foreign key,外面的键(键不在自己表中):如果一张表中有一个字段(非主键)指向另外一张表的主键,那么该字段称之为外键.增加外键外键可以在创建表的时候或者创建表之后增加(但是要考虑数据的问题).一张表可以有多个外键.创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段)-- 主表CREATE...

2019-01-10 12:26:02 2162

原创 MySQL连接查询

连接查询连接查询:将多张表(可以大于2张)进行记录的连接(按照某个指定的条件进行数据拼接);最终结果是:记录数有可能变化,字段数一定会增加(至少两张表的合并)连接查询的意义:在用户查看数据的时候,需要显式的数据来自多张表.连接查询join,使用方式:左边 join 右表左表:在join关键字左边的表右表:在join关键字右边的表连接查询的分类SQL中将连接查询分成四类:...

2019-01-10 12:25:11 965

原创 MySQL主外键以及基本查询

主键主键:primary key,主要的键.一张表中只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复:这种称之为主键.一张表中只能有最多一个主键.增加主键SQL操作中有多种方式可以给表增加主键:大体分为三种.1.在创建表的时候,直接在字段之后,跟primary key 关键字(主键本身不为空)优点:非常直接.缺点:只能使用一个字段作为主键.-- 增...

2019-01-10 12:09:01 3706

原创 MySQL数据类型

数据类型数据类型: 对数据进行统一的分类, 从系统的角度出发为了能够使用统一的方式进行管理: 更好的利用有限的空间.SQL中将数据类型分成了三大类: 数值类型, 字符串类型和时间日期类型.数值型数值型数据:都是数值数值型分类: 1.整数型. 2.小数型整数型存放整型数据:在SQL中因为更多要考虑如何节省磁盘空间,所以又细分为五大类.tinyint:迷你整型,使用一个字...

2019-01-10 12:07:50 80

原创 MySQL基础

数据库基础SQL: Structured Query Language, 结构化查询语言(数据以查询为主: 99%是在进行查询操作)SQL分为三个部分DDL: Data Definition Language, 数据定义语言, 用来维护存储数据的结构(数据库,表), 代表指令: create, drop, alter等.DML: Data Manipulation Language, 数...

2019-01-10 12:06:42 56

空空如也

空空如也

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

TA关注的人

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