- 博客(8)
- 收藏
- 关注
原创 2sum问题到nsum问题
引言分享一道朋友面试遇到的算法题,这道题是力扣上的原题,还是有一定难度的,但是这类题都有简单的版本,我们将由浅入深,从易到难分析这类题的套路。如下:分析: 题意就是给定一个整数数组和一个target,要求从数组中找到4个数,使得这4个数的和等于target,求出数组中所有不同的符合条件的四元组。要求的是所有符合条件的四元组,而不是求符合条件的四元组个数或者有没有符合条件的四元组,所以我自然可以想到去暴力搜索,我去搜索所有的组合,然后筛选出符合条件的组合,添加到结果集。这里求4元组,所以我们可以
2021-05-31 10:06:24
387
原创 下饭!深入理解Buffer Pool工作原理
引言在上一篇文章中,我们主要讲解了InnoDB存储引擎的架构,并提到了一个关键点:不管是查询还是更新操作,都是借助Buffer Pool来完成的。 所以,Buffer Pool的重要性不言而喻,我们今天就来更加进一步剖析Buffer Pool这个组件。Buffer Pool大小Buffer Pool本质上是一个内存组件,所以它是有大小限制的。默认情况下它的大小是128MB,在实际生产环境中,我们可以根据实际情况来调整Buffer Pool的大小,你可以通过show variables like 'in
2021-05-24 20:33:49
493
原创 五分钟带你了解InnoDB存储引擎架构
引言作为一个后端程序员,我们几乎每天都要和数据库打交道,市面上的数据库有很多,比如:Mysql,Oracle,SqlServer等等,那么我们的写的程序是怎么和数据库连接起来的呢?那就是数据库驱动,不同的数据库对应了不同的数据库驱动。在我们连接数据库的时候,首先将数据库驱动进行注册,然后基于数据库地址,用户名,密码等信息与数据库建立连接。如果用maven来管理项目的话,一般会看到如下配置:<dependency> <groupId>mysql</groupId>
2021-05-14 10:25:38
249
原创 五分钟,带你了解一个Mysql常见面试题
引言作为一个后端开发的程序员,Mysql数据库想必是大家都比较熟悉的,大家每天都在写不同的sql语句对数据库进行增删改查,那么如何能漂亮的sql语句呢?这就要求我们在写sql的时候知其然也要知其所以然,同时Mysql基本是面试时必问的一个知识点,所以接下来这个系列将会对Mysql原理进行解析,仍然以一次真实的面试经历来打开Mysql的大门,废话不多说,开搞。金三银四的季节又来了,小贱继续开始了他的面试之旅,这次面试的宇宙巨头下面某书的一个部门。面试官:看你简历上有做过分页查询,你能说说你是怎么做的吗
2021-03-04 22:28:42
244
2
原创 线程池原来是这么玩的
引言面试官:如果让你设计线程池,你会怎么设计?小贱:… 发生肾么事情了,面试官你不讲码德。面试官:出门右拐,坐三轮车走成华大道到二仙桥。对于线程池,有经验的程序员一定不会陌生,在Java中用Executor框架,啪的一下,很快啊就搞定了。实现一个线程有多种方式,我们为什么要使用线程池呢?我们为什么要用线程池在Hotspot虚拟机中,Java线程与操作系统的线程是一一对应,所以线程的创建与销毁都需要与操作系统线程同步。对于cpu密集型的线程任务,这样做无疑是灾难性的,因为频繁的创建与销毁线程会消耗
2021-02-05 17:48:24
135
原创 Synchronized,Java并发里的麻辣香锅
在英雄联盟这款游戏的众多打野选手中,对于厂长(clearlove,明凯)这个人我是一种敬重,因为在这浮华的世界中还能保持初心,为了自己追逐自己的梦想,奉献自己的青春与热血。但要说最喜欢的那个打野肯定还是MLXG,虽已不在江湖,但江湖一直流传着你的传说,“绝食型打野”就是他的标签,敢秀敢操作,一个字就是帅。曾经那句:“红buff、蓝buff、大龙我全都要”,不仅显示出了他的自信和实力。在Java并发编程里,同样有一个这么自信的关键字—synchronized,在上一篇文章中我们分析并证明了volatile.
2021-01-26 21:24:48
219
原创 淦,再也不用烦AQS了
引言本文是第一篇源码类分析的文章,先说说我为什么看源码?毕竟源码里面无秘密,你想要的原理源码它都有; 写源码的人都是功力深厚的大佬,你可以从中看到他们对代码设计的艺术。读万卷书,行万里路,同样的道理,源码看多了,总会从量变到质变,最终写出优秀的代码。再说说自己看源码的方法:一定要记住自己看源码的目的啊!!!同志们,这个真的太重要了,我以前刚开始看源码的时候,本来最开始只想看某一个方法(假设是A方法)的源码,然后发现A方法调用了B方法,又去看B方法,B方法又调用C方法,就像套娃一样没完
2021-01-22 11:01:54
193
原创 volatile,还可以有这么硬的理解
引言volatile 关键字作为Java虚拟机提供的轻量级同步机制,在Java并发编程中占据着重要的地位,但是深入理解volatile可不是一件简单的事,了解volatile的同学都知道,volatile变量保证了可见性,而可见性又与Java内存模型息息相关,所以本文先简单介绍内存模型相关概念,然后再从Java虚拟机层面剖析分析volatile变量,接着从硬件层面出发,带你层层深入了解volatile及其背后的故事。1、计算机内存模型与Java内存模型的关系由于现代计算机处理器与存储设备的运算速度存.
2021-01-19 19:52:43
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人