Mysql

mysql架构图 共享锁 共享锁也称为读锁,读锁允许多个连接可以同一时刻并发的读取同一资源,互不干扰; 排他锁 排他锁也称为写锁,一个写锁会阻塞其他的写锁或读锁,保证同一时刻只有一个连接可以写入数据,同时防止其他用户对这个数据的读写。 锁的开销是较为昂贵的,锁策略其实就是保证了线程安...

2019-03-03 15:07:15

阅读数 27

评论数 0

IO模型(Java)

io模型本是UNIX网络编程相关的内容。UNIX中IO模型有五种,包括阻塞 I/O、非阻塞 I/O、I/O 复用、信号驱动式 I/O 、异步 I/O 等。  阻塞 I/O 模型 阻塞式IO模型,一般表现为进程或线程等待某个条件,如果条件不满足,则一直等下去。条件满足,则进行下一步操作。如下图:...

2018-12-29 15:08:35

阅读数 52

评论数 0

Spring Boot AMQP+RabbitMq

主要解决两个问题: 1如何发送/发布消息(将java对象序列化为json),通过使用RabbitTemplate 2如何读取消费消息(json反序列化为java对象)使用@RabbitListener注解 amqp是一个规范,一种定义了两个系统间通过消息进行交互的协议,而RabbitMQ...

2018-09-04 17:20:18

阅读数 92

评论数 0

限流算法

简介 令牌桶算法 令牌桶算法最初来源于计算机网络。在网络传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送。令牌桶算法就实现了这个功能,可控制发送到网络上数据的数目,并允许突发数据的发送。 令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Ra...

2019-08-15 16:19:34

阅读数 4

评论数 0

java日志

历史背景 1996年早期,欧洲安全电子市场项目组决定编写它自己的程序跟踪API(Tracing API)。经过不断的完善,这个API终于成为一个十分受欢迎的Java日志软件包,即log4j。后来log4j成为Apache基金会项目中的一员。 期间log4j近乎成了Java社区的日志标准。据说Ap...

2019-08-02 14:46:48

阅读数 8

评论数 0

Python学习

python中的对象 在python中,一切都是对象。每个对象由:标识(identity),类型(type),value(值)组成 标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数id(obj)可返回对象obj的标识。 类型用于表示对象存储的数据类型。类型用于限制对象的取值...

2019-07-26 10:29:46

阅读数 20

评论数 0

Redis java应用端

基本介绍 redis中间件。REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数...

2019-07-24 09:13:38

阅读数 5

评论数 0

消息中间件

消息中间件卡夫卡 基础入门 其实主要是学习下markdown语法的使用。工作这么久。还不会这个。。。。。 Kafka 最早是由 LinkedIn 公司开发一种分布式的基于发布/订阅的消息系统,之后成为 Apache 的顶级项目。 特性 同时为发布和订阅提供高吞吐量 。Kafka 的设计目标是以时...

2019-06-25 13:12:22

阅读数 15

评论数 0

kafka学习入门

kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性...

2019-03-20 12:19:04

阅读数 35

评论数 0

分布式锁(Redis)

加锁 public class RedisTool { private static final String LOCK_SUCCESS = "OK"; private static final String SET_IF_NOT_EXIST = "NX&q...

2019-03-20 09:02:07

阅读数 23

评论数 0

数据库的脏读、不可重复读、幻读

丢失更新:两个事务同时更新一行数据,最后一个事务的更新会覆盖掉第一个事务的更新,从而导致第一个事务更新的数据丢失,这是由于没有加锁造成的; 1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 ...

2019-01-23 13:51:11

阅读数 26

评论数 0

关于集群ElasticSearch官方文档的一点记录

集群是活着的、呼吸着的生命 一旦你的集群投入生产,你会发现他就开始了他自己的一生。 Elasticsearch 努力工作来保证集群自给自足而且 真就在工作 。不过一个集群也还要有日常照料和投喂,比如日常备份和升级。 Elasticsearch 以非常快的速度发布新版本,进行错误修复和性能增强。...

2019-01-23 11:49:32

阅读数 38

评论数 0

XStream NullConvertor

public class NullConverter implements Converter { private Map<Class<?>, List<String>&...

2019-01-22 15:03:35

阅读数 110

评论数 0

方便创建容器对象的工具CollectionUtil

public final class CollectionUtil { /** * 创建一个<code>ArrayList</code>。 */ public stati...

2019-01-16 16:48:39

阅读数 137

评论数 0

常用Linux指令

熟练掌握常用linux十分有必要。 服务器运行状态相关命令 ps 查看系统进程线程,我一般都是用这个命令查看进程pid的,然后用pid做更深入的排查。 基本用法 ps -aux 查看所有进程 ps -T -p ${pid} 查看某个进程的线程 参考资料 10个重要的Linux ps命令实战 ...

2019-01-16 13:59:02

阅读数 85

评论数 0

定义排序接口并实现排序功能

public interface Ordered { /** * Useful constant for the highest precedence value. * * @see java.lang.Integer#MIN_VALUE */ ...

2019-01-14 11:59:04

阅读数 279

评论数 0

Sequences服务(分布式主键生成)

DefaultSequence public class DefaultSequence implements Sequence { private final Lock lock = new ReentrantLock(); private SequenceDao sequ...

2019-01-07 14:43:39

阅读数 126

评论数 0

pinyin4j的使用工具类

pinyin4j是一个免费的开源框架,可以把中文(多音字,繁体字)转成拼音,是不是6到不行,而且还可以自定义输出格式等。   maven依赖<!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j --&am...

2018-12-27 14:17:03

阅读数 126

评论数 0

HttpServletRequest获取客户端IP(java小记)

小记这个简单的方法。 /** * 获取客户端IP * * @param request * @return */ private String getIpAddr(HttpServletRequest request) { String remoteAddr = request...

2018-12-27 13:49:32

阅读数 242

评论数 0

Connection reset by peer 的IOException的异常

http客户端发起连接时经常会碰到Connection reset by peer 的IOException,这个异常是由jdk抛出来的。详细介绍下这个异常的发生说明了什么。 1. 对于连接而言,首先区分三种连接种类 一般连接主要分为长连接,短连接和http的keepalive连接。 1.1...

2018-12-27 10:20:44

阅读数 368

评论数 0

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