自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Synchornize的底层原理

1.代码synchronized(myObject) { -》类或者对象//逻辑代码}2.底层原理2.1 底层指令monitorenter// 逻辑代码对应的指令monitorexit每个对象都有一个关联的monitor,比如一个对象实例就有一个monitor,一个类的Class对象也有一个monitor,如果要对这个对象加锁,那么必须获取这个对象关联的monitor的lock...

2020-01-21 17:29:33 136

原创 hashMap算法的之如何解决hash碰撞

hash碰撞两个数据的key值计算出来的hash值一致尽管hash算法优化过后,尽最大可能去避免hash碰撞的情况,hash碰撞也是不可避免的。当hash碰撞的两个值放入到hashMap中,放入的是hashMap的同一个bucket里面。hash碰撞时数据的存放方式链表+红黑树当hash碰撞时,将新的数值以链表的方式存放在数组中,即数组的某个位置是链表的方式存储,由于链表的的取值速度慢,...

2020-01-21 17:05:10 114

原创 hashMap之hash算法优化以及寻址算法的优化

1.寻址算法优化(n是hashMap的数组大小)不优化的寻址算法:hash对n取模优化后的算法:hash & (n - 1)寻址算法的优化:用与运算替代取模,提升性能,由于n都是2的m次方,这边有个公式,当n为2的m次方时hash & (n - 1) = hash %n2.hash算法优化 static final int hash(Object key) {...

2020-01-21 15:16:19 402

原创 git重命名分支

1.重命名git branch -m 【旧分支名】 【新分支名】2.删除远程分支(:前面要空格,后面不要)git push origin :【旧分支名】3.push到远程git push origin feature/bq/v1.3.0_201909164.绑定远程分支git branch --set-upstream-to=origin/【新分支名】...

2019-09-19 14:03:01 43

转载 重新设置window的git账号

https://www.cnblogs.com/weibanggang/articles/11097723.html

2019-09-17 15:24:01 334

原创 git commit规范

Commit Message 格式<type>(<scope>): <subject><空行><body><空行><footer>上述提交分为三个部分,头部,主体,底部 首先是头部,<type>(<scope>): <subject> 包括了三个节点:...

2019-09-10 16:08:33 21

原创 redis的主从复制以及断点续传

2019-08-21 01:23:57 45

原创 redis的qps

1.单机的redis一般是支持上万甚至几万,具体的性能取决于数据操作的复杂性,如果仅仅是简单的kv操作的话,可以达到数万,如果是运行复杂的lua脚本的话,就可能只能到一万左右2.缓存一般是用来支撑读的高并发,一般比较少用来支撑读的操作,一般读的操作是比较频繁的,甚至达到几万几十万,但是写的操作每秒才几千,这就需要读写分离了;架构一般做成主从架构:master:负责写数据,master数据写入...

2019-07-16 18:36:14 1522

原创 redis的LRU相关的问题

redis的过期策略都有哪些定期删除定期删除:每隔一段时间,就抽取一部分设置了过期时间的key进行删除,但是一般缓存中会有非常多过期的key,如果一次性删除全都的话,就会容易导致卡死,所以会配合惰性删除。惰性删除:惰性删除是如果某一缓存数据被查到的时候是过期了的,那么直接删除这个数据,但是通过定期删除+惰性删除之后的数据还是会有很多的数据没有被删除,所以会有内存淘汰机制。...

2019-06-30 22:30:44 46

原创 hashMap

1.hashMap的数据结构hashMap底层采用数组+链表的形式存放数据(JDK1.8之后,引入了红黑树)。当存一个数据时,首先使用hashCode()方法计算这个数据的hash值,hash值确定这个数据存放在数组的哪一个位置,也就是我们所说的哪一个bucket中。确定存放的bucket之后,如果存入的值不等于当前bucket的值,则以链表的形式存放在链表的末尾,当链表的长度超出了一定长度之...

2019-06-16 16:46:44 40

原创 kafka消息如何保证顺序

kafka的特性1.kafka中,写入一个partion照片中的数据是一定有顺序的2.kafka中一个消费者消费一个partion的数据,消费者取出数据时,也是有顺序的需要顺序的场景1.数据库中的binlog2.一些业务需要,比如希望把某个订单的数据写入一个partion为何消息会错乱1.由于消费者消费消息之后,消费之后,有可能交给很多个线程去处理数据(如下图),这样就导致数据顺序错...

2019-05-19 23:03:37 8413 6

原创 kafka数据丢失

kafka数据丢失分为两个部分,分别是生产者和kafka应用交互时丢失,消费者丢失1.生产者和kafka应用交互kafka存储一个topic中的数据至kafka时,会存储至不同的partion,每个partion又会有多个副本,当某一个broker宕机时,kafka会去重新选举partion的leader,如果此时follower中的数据没有和leader中保持一致的话,就会导致数据丢失。解...

2019-05-12 16:14:52 539

原创 kafka如何保证其高可用性

kafka是分布式架构,一般kafka会部署成集群,即部署多台broker。kafka写入消息时,同一个topic的数据1、数据2、数据3写入不同的partion中。kafka的高可用机制是在0.8版本之后才引入的,kafka的每个partion都会在其它机器上存储一个副本,作为这个partion的follower,当某个broker宕机时,会从ISR(存放所有已同步数据的副本)中取出一个fol...

2019-05-12 15:39:02 865 1

原创 kafka消费消息时的幂等性

1.什么是kafka消费消息时的幂等性kafka消费消息时的幂等性,简而言之就是消费者对接口的多次调用所产生的结果和调用一次是是一致的,也就是说在kafka中有可能会消费到重复的数据,这个时候需要客户端去处理这种情况,使得消息消费一次和消费多次是一样的结果。2.产生原因数据流转:生产者:生产者会往kafka中发送消息,kafka会给每条消息一个offset,代表这个数据的序号;消费者...

2019-05-11 21:44:28 3506

转载 项目中应用apidoc

https://blog.csdn.net/suo082407128/article/details/81355093

2019-04-28 17:10:49 88

原创 kafka的分区(partion)和消费者(consumer)

分区(partion)kafka中的topic可以细分为不同的partion,一个topic可以将消息存放在不同的partion中。leader和follower每个partion可以设置一个leader和多个follower。kafka的消息没有设置读写分离,每个消息发送时,都是发送至对应的partion的leader-paertion,follower-partion主要是为了备份数据而...

2019-04-27 17:29:02 859

原创 Puppeteer 搭建

Puppeteer 是一个nodejs库,主要使用于以下:UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫Puppeteer 需要专用的浏览器,叫chormium,需要单独下载。配置环境步骤1.安装nodejs2.配置国内chormium源 export PUPPETEER_DOWNLOAD_HOST=https://storage.googleapis.com.c...

2018-11-04 22:27:50 334

原创 java用udp发送数据demo

java 使用udp发送数据包时,使用byte数组public class UdpClientUtil { private static final Logger logger = LoggerFactory.getLogger(UdpClientUtil.class); public static void sendMessage(Integer operation,Str...

2018-10-22 21:50:08 1637

转载 java 监控某个程序是否启动

https://blog.csdn.net/danieluk/article/details/18518175

2018-10-22 21:40:50 2225

原创 jar包启动不受命令行关闭的影响

1.使用java -jar  xxxxx这样的启动方式容易导致命令行需要一直开着服务才能正常;2.@echo off start javaw -jar  xxxx或者nohup java -jar xxxx或者javaw -jar xxx这种方式可以不需要开着命令行 ...

2018-08-21 23:27:36 4728 1

原创 spring boot项目从创建之后启动报错Unregistering JMX-exposed beans on shutdown

在pom文件中添加以下依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></dependency><dependency>&l

2018-08-21 23:24:36 113

原创 区块链技术学习资料

需要资料的加我微信(备注区块链资料)

2018-03-19 14:11:28 230

原创 区块链交流群

2018-03-02 16:53:03 2637

原创 linux操作数据库

需要在linux环境上操作数据库,需要有数据库用户 (1)登录 mysql -u 【username】 -p 【password】 (2)显示所有数据库 show databases; 切换或者选中数据库; use 【databasename】 新增数据库 create database 【databaseName】 删除数据库 drop database 【databaseNa

2017-12-12 17:10:08 167

转载 idea激活

http://blog.csdn.net/zhangwenwu2/article/details/54948959

2017-09-21 15:30:57 131

原创 cnpm的使用

使用npm下载依赖时,由于是从国外的网站上下载内容,所以可能经常会出现不稳定的情况,所以需要下载cnpm代替npm,cnpm是国内淘宝的做的,在国内使用稳定。 1.下载cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org2.下载依赖cnpm i 或者 cnpm install

2017-09-20 13:40:51 7564

原创 Intellij idea 不能识别 @Slf4j ,@Getter ,@Setter 注解

(1)开启注解 在file->Setting->Build,Excution,Deployment->Compiler->Annotation Processors勾选Enable Annotation Processors (2)安装lombok 在file->Setting->Plugins输入lombok,点击search in repositories,对上述插件进行安装,安装之后要重

2017-09-14 16:56:58 2229

原创 git使用时遇到 '/path/my_project/.git/index.lock: File exists'

直接将.git目录下的index.lock文件删除

2017-09-08 17:58:44 285

原创 git使用

1.克隆代码库git clone [url]2.提交代码 git add . git commit -m 'test' git pull git push

2017-09-08 17:47:27 147

原创 mybatis中使用SqlBuilder实现分页

在返回的sql语句中动态拼接 public String getProjectStaff(Query query){ BEGIN(); SELECT("DISTINCT(staffId)"); FROM("cost_note"); WHERE(getQueryWhere(query)); return SQL()+

2017-09-08 17:45:04 393

转载 java编程规范

http://www.jianshu.com/p/a4587c80f0ec

2017-08-31 15:26:23 117

原创 GIT常用命令

1.查看文件的提交历史记录 git log -p 文件名 2.查看当前的目录 git status/git branch git branche -a 查看所有的分支

2017-08-23 16:11:28 108

转载 MQTT服务器搭建-mosquitto1.4.4安装指南

http://www.cnblogs.com/littleatp/p/4835879.html

2017-08-09 14:42:53 143

原创 Centos(64位)安装与配置

1.安装时报错“此主机支持Intel VT-x,但IntelVT-x处于禁用状态”; 出现这个错误的原因是因为在bios中没有开启虚拟化设置; 解决办法: 开机按F2/delete进入BIOS设置,选择Advanced选项,配置CPU Configuration,将Disable改成enable;2.Centos7系统安装成功之后,可能会遇到无法上网的情况; (1)使用ping 114.

2017-08-04 15:15:10 207

原创 配置host文件

1.当访问某个网站时,需要解析出域名对应的ip地址,解析域名时,先遍历hosts文件中的内容,看是否有配置域名对应的主机,如果配置了,则直接访问对应的ip地址,而不需要经过DNS服务器的解析; 2.配置如下: ip 域名

2017-08-01 13:54:33 428

原创 上传文件返回413错误

1.上传文件之后,返回如下信息:<html> <head> <title>413 Request Entity Too Large</title> </head> <body bgcolor="white"> <center> <h1>413 Request Entity Too Large</h1> <

2017-07-31 18:57:20 5470

原创 mysql兼容emoj表情

1.UTF8类型的字节有可能是1位,2位,3位,4位,mysql的UTF8类型的是三个字节的,emoj表情是四个字节的,所以需要将编码格式修改成UTF8mb4。 2.修改编码格式有三个地方需要修改 (1)数据库的编码格式 (2)存储数据的表的编码格式(自行百度) (3)连接数据库的编码格式(characterEncoding=utf8这个不能要!!!!) 3.修改数据库的编码格式 (1)

2017-07-28 12:01:44 356

原创 crontab

1.它是什么 crontab是Linux系统自带的一个定时任务。 2.可以用来做什么 (1)执行脚本 (2)定时访问某一接口 3.有哪几种配置的方法 (1)crontab -e 这种方式配置的是当前用户的定时任务,配置的定时任务被写在了 /var/spool/cron 目录下,生成了一个和用户名一致的文件,文件的内容就是我们编辑的定时脚本。 (2)编辑 /etc/crontab

2017-06-26 21:34:49 150

转载 js重点

http://m.blog.csdn.net/article/details?id=51348422

2017-03-26 22:15:57 247

原创 SpringSecurity

1.配置文件 (1)配置web.xml:主要就是filter的配置 (2)spring-security文件的配置 <bean id="webAuthenticationFilter" class=" xxxx.xxxx.xxx.web.filter.CustomAuthenticationFilter"> <property name="authentic

2017-03-18 22:24:54 570

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