![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 50
chunlaiqingke
此人不懒,写了一点
展开
-
事务的实现--持久性
事务的实现事务的持久性背景:事务的持久性的是在磁盘的慢性能的背景下的要求。磁盘的吞吐量在我们随机修改的情况下性能特别差持久性要解决2个问题:一是磁盘io的性能问题,二磁盘随机写的性能问题。innodb的实现方式使用redo log来实现,redo log分2部分,一个是内存的buffer,一个磁盘的file,磁盘的file是ringbuffer的结构(ringbuffer的结构是性能很高的数据结构,因为他的大小是固定的,插入删除的时候只需要移动游标,这样就不需要更改存储结构,只要知道哪一部分是原创 2021-03-26 23:35:13 · 975 阅读 · 2 评论 -
缓存怎么设计
面试的时候经常被问项目中的缓存是怎么设计的?这里给大家一个常用也简单的方案,以redis+mysql为例。以持久化DB数据为准,读的话,先读redis,如果没命中再读mysql,并写入redis,如果出现缓存击穿的情况,读数据的时候加锁;写的话,先写mysql,然后通过canal同步更新redis。canal的原理:alibaba利用mysql的主从同步的特性,master通过binlog同步数据到slave,然后伪装成一个slave去接受master的binlog解析并发...原创 2021-03-03 16:45:39 · 251 阅读 · 2 评论 -
项目开关自动生成工具config-switcher
简介项目中配开关遇到的问题1.开关经常忘记在生产环境配置2.开关很多是一次性的,很多僵尸配置3.开关的配置和其他配置在同一个文件,杂乱,影响阅读4.时间到的时候忘记开开关或者关开关5.开关起名字令人头疼,而且开关的名字只有开发自己知道,不好沟通和 交接,一段时间以后开发自己都不记得了6.开关会有代码侵入此组件就是解决上述问题项目地址:https://github.com/chunlaiqingke/config-switcher/tree/master使用说明把项目打包(mvn原创 2020-12-09 10:52:45 · 131 阅读 · 2 评论 -
MQ的消息重复和消息顺序
consumer消费到重复消息怎么办?消息消费模式消息消费一般存在三种模式:最多一次,最少一次和有且仅有一次。最多一次这种可靠性最低,不管消费是否成功,投递一次就算完了。这种类型一般用在可靠性不高的场景中,比如我们一个对日志分析展示的场景,如果这种日志分析出现一定的缺失对业务也影响不大,那我们可以使用这种方式,这种方式性能最高(QMQ的非可靠消息)。最少一次基本上所有追求可靠性的消息队列都会采用这种模式。因为网络是不可靠的,要在不可靠的网络基础上构建可靠的业务,就必须使用重试来实现,那么重试就有原创 2020-12-07 21:09:23 · 1749 阅读 · 0 评论 -
正则表达式-regex-intro&demo
我在写项目的时候经常会用到正则表达式,但是就是不太会写,网上的教程也看的好累,特别是某鸟教程真是看的累在这里简单写一个常用教程,以便应急使用github:https://github.com/chunlaiqingke/regex-intro/blob/master/src/com/handsom/regex/RegexIntro.java邮箱:chunlaiqingke@outlook.com. 有问题一起探讨,完善项目package com.handsom.regex;imp...原创 2020-05-17 14:56:23 · 246 阅读 · 0 评论 -
OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
今天使用git突然不能获取github的项目,报错:fatal: unable to access 'https://github.com/dmlc/xgboost.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443使用了各种方式都不行,在网上找了很多方法:https://blo...原创 2019-07-30 14:11:05 · 3173 阅读 · 0 评论 -
HashMap为什么不是线程安全的?
大家都知道,HashMap的结构是如下的样子:上面的是HashMap的存储数据结构,通过给Map的key计算hash值,然后决定value放到数组的对应索引位置上,这样就可以通过计算key的hash值,直接去数组中拿到value(所以HashMap是O(1)的复杂度)。当key冲突(不同的key生成的hash值是 相同的)的时候,就需要把多个value放到同一个位置,这时候,jdk1....原创 2019-05-04 22:04:11 · 3856 阅读 · 1 评论 -
git使用高级教程
摘自微信公众号:https://mp.weixin.qq.com/s?__biz=MzU1NTg0MzMwMg==&mid=2247483712&idx=1&sn=c89aeac2620dadc1829cd4d4f1038f2a&chksm=fbcf6ac9ccb8e3df929d5631e98923c5a0be6a94889f0b58f2e87e07f42791c...转载 2019-02-24 11:00:56 · 2052 阅读 · 0 评论 -
equals和hashCode的关系
摘自微信公众号:https://mp.weixin.qq.com/s?__biz=MzU1NTg0MzMwMg==&tempkey=OTk5X2lLRlRkeTM5dThPMmI0cm4xRnBlODRoem9KNnY3MjMzLUN3cDVkazR5TXlrSWhxdzBINHExYlVoT0ItTXQtUy1lejM0djNRcUVWNUpHUkVKcTkwaDhJRE9GWXJHQn...转载 2019-03-06 23:18:07 · 2776 阅读 · 0 评论 -
==和equals到底是怎么回事
摘自微信公众号:https://mp.weixin.qq.com/s?__biz=MzU1NTg0MzMwMg==&mid=2247483752&idx=1&sn=5018d012dc4423cccba18bb6785168a4&chksm=fbcf6ae1ccb8e3f7f6aa794f3d176fe3668c9ef404fff5d1c8d7555d50abcbf...转载 2019-03-06 23:14:47 · 168 阅读 · 0 评论