自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 JVM调优总结

详解

2021-03-14 09:54:13 64

原创 docker安装redis

详解

2021-03-13 14:54:47 51

原创 epoll简单介绍

epoll里面有三个重要的函数epoll_create、epoll_wait、epoll_ctl,其中epoll_create会给你创建一个eventpoll对象,里面有两个重要的区域,一块是用来存放需要监听的socket文件描述符列表(监听列表),另一块存放的就是就绪的socket的信息即就绪队列。epoll_ctl可以根据eventpoll-id去增删改eventpoll对象的检查列表,就是监听socket的列表,去增加删除需要检查的socket列表的文件描述符。当程序执行到epoll_wait时,如果

2021-03-09 12:26:31 746

原创 select和poll的区别

select和poll的本质原理其实差不多,他们最大的区别在于select使用的是bitmap来表示需要检查的socket集合,poll使用的是数组表示它需要去检查的socket集合,poll主要是为了解决bitmap是1024的问题,poll没有限制,可以监听的socket数量可以超过1024...

2021-03-09 11:01:57 555

原创 select函数的执行过程

当前进程调用select函数时,会把当前进程从工作队列中取出来,放入你需要监听的socket的等待队列,socket包含三个部分,读缓冲区,写缓冲区,等待队列。当你的网卡有数据过来的时候,DMA设备会把数据写进内存,然后向cpu发起一个硬中断,cpu会保存当前的环境,取执行中断程序,cpu要做两件事,一是根据数据报TCP的首部的目的端口号找到对应的socket,将数据写进socket的缓冲区,然后唤醒在socket等待队列的进程,放进工作队列,然后会在就绪的socket的文件描述符中做个标记,标记它就绪了,

2021-03-09 10:56:23 618

原创 epoll本质

详解

2021-03-08 22:00:40 74

原创 IO多路复用

2021-03-07 12:26:50 96

原创 算法-动态规划-乘积最大子数组

这个题有符号,所以不好搞class Solution { public int maxProduct(int[] nums) { if(nums == null || nums.length == 0) { return 0; } int len = nums.length; int[] maxF = new int[len]; int[] minF = new int[len]; ...

2021-03-06 16:45:58 104

原创 算法-动态规划-打家劫舍

分析既然是动态规划,就要写出状态转移方程,如果只有一间房子,直接偷,金额肯定最大,如果两间房子,偷里面金额最大的一间房,用一个数字dp[k]表示从0到k号房子中偷取金额的最大值,如果第k号房子偷,则dp[k]=nums[k]+dp[k-2],如果不偷dp[k]=dp[k - 1],所以dp[k]=max{dp[k-1], nums[k]+dp[k - 2]}边界条件可以根据状态转移方程得出要求dp[0]和dp[1],显然dp[0]=nums[0],dp[1] = max{nums[0], nums[.

2021-03-06 15:33:49 90

原创 算法-动态规划-单词拆分

分析一个单词从中间切多刀,其实就可以看成只切了两刀,不过前面一段可以继续切,后面一段不可以继续切,就和我之前总结切绳子是一个道理,如果前面一段可以找到(这里其实可以继续分,只要分割后的几段也能在集合中找到也算是找的到),后面这一段也可以找到,拼接在一起后,就一定可以满足要求,可以用一个数组dp[j]表示0到j-1这个字符串存不存在(即使是分割后),只要这个字符串存在dp[j],s.substring(j, i)也存在,就表示这个字符串可以class Solution { public bool.

2021-03-06 14:32:27 210

原创 MVCC

详解

2021-03-05 23:22:41 133

原创 腾讯面试:MySQL事务与MVCC如何实现的隔离级别?

详解

2021-03-05 22:13:00 98

原创 注解详解

注解解析

2021-03-05 21:22:20 64

原创 redis事务

详解

2021-03-05 15:59:43 69

原创 Mysql优化2

优化

2021-03-04 16:55:32 70 1

原创 URL缓存机制

class LRUCache { class Node { int key; int value; Node pre; Node post; public Node() {} public Node(int key, int value) { this.key = key; this.value = value; } } .

2021-03-04 15:18:21 422 2

原创 算法-动态规划-剪绳子

向这种求最值一般用到动态规划用一个数组dp[n]表示长度为n的绳子分成m段乘积的最大值分析:和那个青蛙跳台阶有点像,青蛙一次可以跳一阶、二阶,所以青蛙第一次跳一阶后,剩下有n-1个台阶有dp[n-1]种跳法,第一次跳2阶,剩下的n-2阶有dp[n-2]种跳法,结合这两者可得,青蛙跳n个台阶有dp[n] = dp[n - 1] + dp[n - 2]。对于剪绳子来说,我可以把它只剪一刀的长度k,那么剩下的长度就为n-k, 如果剩下的n-k不剪就是k*(n-k),如果剩下的绳子剪就是k*dp[n-k],.

2021-03-03 21:09:58 110 1

原创 DNS详解

详解

2021-03-03 17:19:08 140 1

原创 ARQ协议和滑动窗口协议

详解

2021-03-03 16:06:48 148 1

原创 美团面经总结基础篇

详解

2021-03-03 10:49:28 226 1

原创 Java常量池详解

详解

2021-03-02 10:19:47 84

原创 cpu多级缓存和缓存一致性协议

详解1详解2

2021-03-02 09:34:43 84

原创 Java并发编程-volatile详解

详解

2021-03-01 21:55:38 128

原创 ReentrantLock

对于64位的虚拟机对象的大小一定要是8的整数倍一个对象是由对象头、实例数据,数据对齐三个部分组成的

2021-03-01 15:35:15 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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