获取迭代器中的长度 导入import com.google.common.collect.Iterators;public static void main(String[] args) { ArrayList<Integer> integers = new ArrayList<>(); for (int i = 0; i < 1000; i++) { integers.add(i); } Iterator
判断当前时间是否在指定范围时间内,支持跨天判断时间 /** * 判断当前时间是否在指定范围时间内 * * @param businessTime 时间段 12:00--13:00 * @return true-在 false-不在 */ public static Boolean judgeTheTimeRange(String businessTime) { try { String[] times = businessTime.split("--");
springboot如何连接hbase并实现简单查询 application.yml添加配置 hbase: zookeeper: quorum: zkip parent: /hbase(默认) client: username:用户名 password:密码创建config@org.springframework.context.annotation.Configurationpublic class HbaseConfig { private static final Logger log =.
javassist插入集合以及遍历集合 package io.ct.java.agent;import javassist.ClassPool;import javassist.CtClass;import javassist.CtMethod;import java.io.ByteArrayInputStream;import java.lang.instrument.ClassFileTransformer;import java.lang.instrument.IllegalClassFormatException;imp
javaagent和javassist对controller的代码进行修改 Instrumentation的所有方法void addTransformer(ClassFileTransformer transformer, boolean canRetransform)//注册ClassFileTransformer实例,注册多个会按照注册顺序进行调用。所有的类被加载完毕之后会调用ClassFileTransformer实例,相当于它们通过了redefineClasses方法进行重定义。布尔值参数canRetransform决定这里被重定义的类是否能够通过retransformC
Windows安装mysql-5.7.28详细教程 一、软件下载链接:https://pan.baidu.com/s/1HPqi9-sZlBOgEJM9OM_Jkg提取码:dasx二、解压与配置解压将压缩包解压到D盘:如D:\public\mysql-5.7.28-winx64\mysql-5.7.28-winx64my.ini文件 和 data文件夹解压在刚解压好后是没有的,需要手动添加(1)创建my.ini文件,配置内容如下:[mysql]default-character-set=utf8[mysqld]port = 330
redis的数据同步 redis数据同步这一块主要是跟mysql数据同步吧,mysql数据可能会发生变动,那么redis就要跟数据库的数据保持一致我们实际去使用的时候,是在数据发生变动的地方,比如增删改的时候,新奇一个线程,然后将变动的数据更新到redis中,根据不同的场景需求,也可以在数据变动时,把redis里的数据删掉,下一次用户查询的时候,发现redis中没有数据,就会重新去数据库加载一遍,这样也可以实现同步的效果...
redis缓存雪崩和缓存穿透、缓存预热、缓存降级 redis缓存雪崩和缓存穿透、缓存预热、缓存降级缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存还没有存入到redis的期间比方说:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期,所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。解决办法:加最多的解决方案就是锁,或者队列的方式来保证不会有大量的线程对数据库一次性进行读写,从而避免失效时大量的并发请求落到底层存储系统上。还有
redis知识简介 redis简介Redis是一个非关系数据库,我们项目中主要用它来存储热点数据的,减轻数据库的压力,单线程纯内存操作,采用了非阻塞IO多路复用机制,就是单线程监听,我们项目中使用springdata-redis来操作redis我们项目中使用redis的地方很多,比方说首页的热点数据,数据字典里的数据等都用热地说存储来提高访问速度redis呢有5种数据类型,string、list、hash、set、zset,我们常用的有string、list和hash,一些简单的key-value类型的都存储在strin
nginx知识点简介 介绍一下nginxNginx 是一个高性能的 HTTP 和反向代理服务器,具有反向代理和负载均衡以及动静分离等功能我先来说说反向代理功能吧反向代理是指以代理服务器来接受用户的请求,然后将请求,分发给内部网络上的服务器,并将从服务器上得到的结果返回给用户,此时代理服务器对外就表现为一个反向代理服务器。 反向代理总结就一句话就是:代理端代理的是服务端。反向代理的话,只需要配置对应的server模块就行了,里面配置上server_name和对应监听的端口,然后在配置location路径转发规则就行,当然也
RabbitMQ 宕机了怎么处理 RabbitMQ 宕机了怎么处理RabbitMQ 提供了持久化的机制,将内存中的消息持久化到硬盘上,即使重启 RabbitMQ,消息也不会丢失。持久化队列和非持久化队列的区别是,持久化队列会被保存在磁盘中,固定并持久的存储,当 Rabbit 服务重启后,该队列会保持原来的状态在RabbitMQ 中被管理,而非持久化队列不会被保存在磁盘中,Rabbit 服务重启后队列就会消失。非持久化比持久化的优势就是,由于非持久化不需要保存在磁盘中,所以使用速度就比持久化队列快。即是非持久化的性能要高于持久化。而持久化的
rabbitmq如何保证消息不被重复消费 如何保证消息不被重复消费我们可以在生产者端,发送消息时,数据的变动部分,进行md5加密处理,同时配置上一个唯一id,每次发送的数据的唯一id是递增的,相当于版本号的功能,在消费者端,收到消息之后,首先去数据库匹配一下md5值如果数据库中记录的当前记录已经被消费,那么就不进行消费,如果发现数据库没有记录当前消息,或者记录的状态没有被消费,那么才会重新消费该消息...
rabbitmq如何保证消息确定消息发送成功,并且被消费成功,有什么保障措施 如何保证消息确定消息发送成功,并且被消费成功,有什么保障措施解析:这里不用背,这里的问法会有很多中,这道题中问了两部分第一部分是确保发送成功,还可以被问成:消息发送失败了怎么办,或者如何保证消息可靠传输第二部分是确保消费成功,还可以被问成:消息消费时,发生异常了,消息已经被消费了,怎么办等首先,需要确保消息被发送成功,rabbitmq中提供了事物和confirm的机制,事物的话,就类似于数据库的事物,开启,执行,提交,如果过程中发生任何异常,就会触发回滚机制,我们可以在回滚中加入一些逻辑处理,重
介绍一下rabbitmq 介绍一下rabbitmqRabbitMQ是Erlang语言开发的基于AMQP的一款消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发送给客户端时先发送给交换机,然后由交换机转发给对应的队列。对路由(Routing),负载均衡(Load balance)、数据持久化都有很好的支持。它里边有5种数据传递方式第一种是简单模型,一个生产者,一个队列,一个消费者,队列只能被一个消费者监听,所以生产者将消息发给队列之后,只能有一个消费者收到消息第二种是工作模型,一个生产者,一个队列,多个消费者,队列
es内部存储的存储结构 es内部存储的存储结构es内部默认就是分布式的存储结构,每当创建一个索引库的时候,我们需要指定当前索引库的分片数和副本数,分片数就是把数据分布式的存放在分片上,所有分片的数据加起来就是整个索引库的数据量,分片数越多,数据存放的越分散,搜索的时候,es会检索每个分片的伤的数据一起返回。副本数是指在数据进入索引库的时候,同时需要备份的数量,如果副本数量越多,那么需要消耗的存储空间就会越多,过多的话会造成空间浪费,一般生产中使用的时候都用的默认的配置,就是5个分片,2个副本。...
ElasticSearch中什么是桶(bucket)?什么是度量(metrics)? 什么是桶(bucket)?什么是度量(metrics)? 桶,是按照某种方式对数据进行分组,每一组数据在ES中称为一个桶,例如我们根据国籍对人划分,可以得到中国桶、英国桶,日本桶……或者我们按照年龄段对人进行划分:010,1020,2030,3040等。分桶的方式有很多,比如按日期阶梯分组、按数值阶梯分组、按词条内容分组、按数值和日期范围分组等。 度量,分组完成以后,我们一般会对组中的数据进行聚合运算,例如求平均值、最大、最小、求和等,这些在ES中称为度量。度量有求平均值、求最大最小值、求百分比、