![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
kylin5221
这个作者很懒,什么都没留下…
展开
-
Spring Aop源码走读(一)
上代码!!!import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.AfterThrowing;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.anno原创 2021-06-04 10:14:21 · 153 阅读 · 0 评论 -
bean生命周期
public class Car { public Car(){ System.out.println("car ------constructor---------"); } public void init(){ System.out.println("car ---------init -----------"); } public void destory(){ System.out.println("ca原创 2021-05-29 11:40:20 · 121 阅读 · 0 评论 -
Spring注解 BeanFactory
BeanFactory实例化创建一个bean工厂,并创建一个对象public class ColorFactoryBean implements FactoryBean<Color> { @Override public Color getObject() throws Exception { return new Color(); } @Override public Class<?> getObjectType() {原创 2021-05-29 11:24:13 · 220 阅读 · 0 评论 -
Redis 提供 6 种数据淘汰策略
Redis 提供 6 种数据淘汰策略:volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰’volatile-ttl:原创 2020-12-27 10:09:58 · 108 阅读 · 0 评论 -
redis集群三主三从
一主二从节点升级为集群配置redis.conf创建集群什么是slot?slot实际上就是数据的存储单元,数据经过通过16384 hash后得到的数据进行分配到三台主机的slot节点槽中。查看集群信息这个name 放到了202节点,但是设置age时,自动切换到201 这是因为hash后的关系,但是此节点是没有name数据的,但是如果去get key 又会自动切换到202spring配置 nodes配置6台服务器节点...原创 2020-12-13 13:20:03 · 769 阅读 · 0 评论 -
redis 哨兵机制
问题: 当主节点master挂了怎么办?答:需要设置一个哨兵,如果检测到master挂了,那么将其中一台的从节点设置为主节点如何配置:安装目录中有一个sentinel.conf 文件,可以将此文件进行拷贝进行修改拷贝文件去其他目录下cp sentinel.conf /usr/local/redissentinel.conf 文件daemonize yes 类似于后台守护进程哨兵机制工作空间设置哨兵个数:mymater: 可以修改为自定义名字,但是这个名字仅支持A-z 0-9原创 2020-12-13 13:14:21 · 128 阅读 · 0 评论 -
Redis持久化机制及主从复制
**RDB**:按照指定的时间间隔进行执行数据集的快照 也可以根据某时间段内keys变更个数进行更新快照 每隔一段时间进行备份一次数据 缺点就是可能会损失最近一段时间的数据**AOF**:只会记录写操作,默认进行每秒同步fsync一次,数据丢失也是丢失上一秒数据,三种同步方式可以选择,官方推荐使用每秒同步一次 开启文件追加 *appendonly yes* 每秒同步一次: *appendfsync everysec*原创 2020-12-12 23:03:16 · 182 阅读 · 0 评论 -
Synchronized关键字解读
一句话解释:JVM会自动通过monitor来加锁和解锁,保证了同时只有一个线程能够执行指定的代码,从而保证了线程安全,同时具有可重入和不可中断的性质。用法:synchronize两种用法:对象锁和类锁对象锁分为代码块形式和方法锁形式#方法锁public synchronize void method(){ ...}#代码块锁public void method(){ synchronize(this){ ... } }原创 2020-12-07 23:37:36 · 98 阅读 · 0 评论 -
RabbitMQ 之延时任务
场景:比如未付款的订单,超过一定时间后,系统会自动取消订单并释放占有物品。常用解决方案:Spring的schedule定时任务轮询数据库缺点:消耗系统内存 增加了数据库的压力 存在较大的时间误差MQ解决方案:rabbitmq的消息TTL和死信Exchange结合消息的TTL消息的TTL就是消息的存活时间 RabbitMQ可以对队列和消息分别设置TTL对队列设置就是队列没有消费者连接的保留时间,也可以对每一个单独的消息做单独的设置。超过了这个时间,我们就认为这个.原创 2020-12-05 21:49:24 · 285 阅读 · 0 评论 -
MQ安装与使用
安装docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 125672:125672 -p 125671:125671 rabbitmq:management端口解释:4369, 25672 (Erlang发现&集群端口)5672,5671 (AMQP端口)15672 (web管理后台端口)61613 61614 (STOMP协议端口)1883 888原创 2020-12-04 20:51:02 · 496 阅读 · 0 评论 -
RabbitMQ 概念
Rabbit是AMQP(adviced message queue protocol)高级消息队列 的开源实现核心概念:message消息,消息是不具名的,它由消息头和消息体组成,消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括routing-key(路由键),priority(相对于其他消息的优先权),delivery-mode(指出该消息可能需要持久性存储)等。publisher消息生产者,也是一个向交换器发布消息的客户端应用层序。Exchange交换器,用来原创 2020-12-03 21:39:21 · 117 阅读 · 0 评论 -
消息中间件之概述
1. 大多情况下,可以通过消息中间件进行提高系统异步通信能力,扩展解耦能力。2. 消息服务中两个重要的概念是 消息代理(message broker)和目的地(destination)。当消息发送者发送消息后,将有消息代理进行接管管理,消息代理保证消息传递到指定的目的地。3. 消息队列主要有两种形式的目的地:队列(queue): 点对点消息通信(point-to-point) 主题(topic): 发布(publish)/订阅模式(subscribe)消息通信4. 点对点(队列模式)..原创 2020-12-03 20:59:03 · 118 阅读 · 0 评论 -
JSR 303验证更新信息
@ApiModelProperty(value="用户名", name="username", example="json", required = false) private String username; @ApiModelProperty(value="密码", name="password", example="123456", required = false) private String password; @ApiModelProperty(value="原创 2020-09-19 14:10:52 · 193 阅读 · 0 评论 -
购物车数据的存储形式
cookie优点: 无需登录,无需入库,保存在浏览器,速度快性能好。缺点: 隐私问题 更换电脑等session优点: 用户量少的情况下性能好,访问快缺点: 1. 基于内存,用户量大时影响性能,考虑硬件成本2. 只存在当前会话,不适用于集群和分布式数据库优点: 用户登录后,存入数据库,进行数据持久化缺点: 频繁读写, 对数据库造成一定压力redis优点: 用户登录后写入redis, 数据持久化频繁读写基于缓存,速度快,不会对数据库造成压力适用于分布式系统和集群环境,可扩展性强网.原创 2020-09-13 13:10:32 · 402 阅读 · 0 评论 -
AOP使用
@Aspect@Componentpublic class ServiceLogAspect { public static final Logger log = LoggerFactory.getLogger(ServiceLogAspect.class); /** * AOP 通知: * 1. 前置通知: 在方法调用之前进行执行 * 2. 后置通知: 在方法正常调用之后执行 * 3. 环绕通知: 在方法调用前后进行通原创 2020-09-09 22:54:17 · 201 阅读 · 0 评论 -
Spring事务
spring事务源码:路径包:org.springframework.transaction.annotation.Propagation /** * Support a current transaction, create a new one if none exists. * Analogous to EJB transaction attribute of the same name. * <p>This is the default setting of a tra原创 2020-09-06 23:11:11 · 80 阅读 · 0 评论