![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 85
wzc_dazhi
这个作者很懒,什么都没留下…
展开
-
消息中间件(一)MQ详解及四大MQ比较
一、消息中间件相关知识 1、概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等 2、消息中间件的组成 2.1 Broker 消息服务器,作为server提供消息核心服务 2.2 Producer 消息生产者,业务的发起方,负责生产消...转载 2021-05-24 11:55:17 · 143 阅读 · 0 评论 -
Java注解之 @Target、@Retention、@Documented简介
先来看一个Spring中的一个常用注解 package org.springframework.stereotype; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation..转载 2021-05-21 16:40:25 · 92 阅读 · 0 评论 -
DK8新特性
DK8新特性(三)Map的深入使用putIfAbsent、computeIfAbsent、computeIfPresent的深入使用 得益于 Java 8 的 default 方法特性,Java 8 对 Map 增加了不少实用的默认方法。 putIfAbsent 方法 其实简单的说: 传统的put方法,只要key存在,value值就会被覆盖,注意put方法返回的是put之前的值,如果无put之前的值返回null putIfAbsent方法,只有在key不存在或者key为nul...转载 2021-05-21 15:22:06 · 349 阅读 · 0 评论 -
synchronized关键字
synchronized关键字 synchronized是进行同步处理而保证线程安全。在一个方法中,如果是方法内的私有变量,那个这个变量是线程安全的,但是类中的实例变量是可能会出现线程安全问题的,当多个线程对这个实例变量进行修改,就可能会出现结果并不是我们期望的结果。 线程安全问题 下面一段代码就出现了线程安全问题。 本来当username为a的时候,num应该为100,但是由于设置让t1休眠了2秒,导致num被刷新成了200,导致最后输出时a和b的num都是200。 public class S转载 2021-05-21 11:57:03 · 44 阅读 · 0 评论