- 博客(8)
- 收藏
- 关注
原创 倒计时器:CountDownLatch
CountDownLatch是一个非常实用的多线程控制工具类。常用的就下面几个方法:CountDownLatch(int count) //实例化一个倒计数器,count指定计数个数countDown() // 计数减一await() //等待,当计数减到0时,所有线程并行执行CountDownLatch在我工作的多个场景被使用,算是用的很频繁的了,比如我们的API接口响应时间被要求在...
2020-04-09 20:55:00 158
转载 教你实现MySQL读写分离+故障转移
前言上一篇发了手动搭建Redis集群和MySQL主从同步(非Docker)之后,很多同学对文中主从结构提到的读写分离感兴趣,本打算在双十一期间直接把读写分离分享给大家,奈何工作一直没停下,所以这周抽空把这些分享出来。关于MySQL的读写分离的实现,有两种方式,第一种方式即我们手动在代码层实现逻辑,来解析读请求或者写请求,分别分发到不同的数据库中,实现读写分离;第二种方式就是基于MyCat中间...
2019-12-12 16:07:18 664 1
转载 教会你搭建Redis集群和MySQL主从同步(非Docker)
前言一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊聊理论的东西,以便于大家有一个集群和主从同步的概念什么是Redis集群简介Redis是一个快速高效的NoSQL型数据库,由于其基于内存存储、单线程、多路IO复用的特性,其QPS可以达到惊人的...
2019-12-12 15:23:23 275
原创 Jvm内存分配和String的存储过程探究
在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文。1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什么?如何设置各个区域的大小?2、S...
2019-10-15 16:52:33 183
原创 Java获取CPU使用率堆栈信息
使用top命令查找在大量占用CPU的进程的PID使用ps -mp pid -o THREAD,tid,time定位到大量占用CPU的线程TID;也可以用这个命令直接排序下,更方便找到大量占用CPU的线程:ps -mp pid -o THREAD,tid,time|uniq -c|sort -nr将上述找到的线程TID转换成十六进制:printf “%x\n” TID,比如原本...
2019-10-15 11:18:34 378
转载 算法的时间与空间复杂度(一看就懂)
比如 n 等于 2 的 32 次方,这个数很大了吧?大约是 42 亿。 也就是说,如果我们在 42 亿个数据中用二分查找一个数据,最多需要比较 32 次
2019-09-19 15:50:05 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人