- 博客(9)
- 收藏
- 关注
原创 select * from user 这条 SQL 语句,背后藏着哪些不可告人的秘密?
作为一名 Java开发人员,写 SQL 语句是常有的事,但是你知道 SQL 语句背后的处理逻辑吗?比如下面这条 SQL 语句:select * from user where id=1执行完这条语句后,我们就会得到 id 为 1 的用户信息。那么对于这一条 SQL 语句,MySQL服务器做了哪些处理呢?这篇文章我们就一起打卡 MySQL 数据库中对 SQL 语句的处理逻辑。了解 MySQL...
2019-12-31 09:28:33 5587
原创 熟悉这几道 Redis 高频面试题,面试不用愁
1、说说 Redis 都有哪些应用场景?缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力。共享Session:对于一些依赖 session 功能的服务来说,如果需要从单机变成集群的话,可以选择 redis 来统一管理 session。消息队列系统:消息队列系统可以说是一个大型网站的必备基础组件,...
2019-12-26 10:39:12 8417 9
原创 一题算法|求随机数索引
题目描述给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。注意:数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。题目示例int[] nums = new int[] {1,2,3,3,3};Solution solution = new Solution(nums);// pick(3) 应该返回索引 2...
2019-12-25 15:37:13 2181 4
原创 一题算法|求最长和谐子序列
和谐子序列的定义和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1,也就是说我们需要找出比该元素大于或者相等的元素LeetCode 题目:给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度题目示例:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].解法一:暴力枚举法暴力枚举的思想很简单,也...
2019-12-24 14:33:17 1906
原创 职场中你忽略的细节,都是别人晋升的秘密
作为职场新人,在职场这门学问中,我们都还没有入门,这是我听完曹政老师的知识星球年终福利课《职场的真相》之后的感悟,曹政老师这门课针对的就是我们这样的职场新人,在课中曹政老师讲述了他自己当年在职场中所犯的错误并且指导年轻人该如何在职场中前行,虽然里面的不少观点在曹政老师的很多公众号文章中有提到过,但是经过曹政老师整理和解读之后,收获很多,这两天我也是反复的听,希望自己可以多吸收一点,在职场中走的顺利...
2019-12-23 10:09:55 5648 1
原创 借 redis cluster 集群,聊一聊集群中数据分布算法
Redis Cluster 集群中涉及到了数据分布问题,因为 redis cluster 是多 master 的结构,每个 master 都是可以提供存储服务的,这就会涉及到数据分布的问题,在新的 redis 版本中采用的是虚拟槽分区技术来解决数据分布的问题,关于什么是虚拟槽分区技术我们后面会详细的介绍。在集群中除了虚拟槽分区技术之外,还有几种数据分布的算法,比如哈希算法,一致性哈希算法,这篇文章...
2019-12-13 09:41:20 2010
原创 深入解析 ConcurrentHashMap 实现内幕,吊打面试官?没问题
在开发中,我们经常使用 HashMap 容器来存储 K-V 键值对,但是在并发多线程的情况下,HashMap 容器又是不安全的,因为在 put 元素的时候,如果触发扩容操作,也就是 rehash ,就会将原数组的内容重新 hash 到新的扩容数组中,但是在扩容这个过程中,其他线程也在进行 put 操作,如果这两个元素 hash 值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会...
2019-12-09 16:29:33 2396 6
原创 三分钟带你入门 redis 高可用架构之哨兵
什么是哨兵?哨兵(Sentinel)是 redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,需要人工介入才能完成故障转移,哨兵可以解决这个问题,在主从复制情况下,当主节点发生故障时,哨兵可以自动的发现故障并且完成故障转移,实现真正的 redis 高可用。在哨兵集群中,哨兵会监视所有的 redis 服务器和其他 sentinel 节点状态,来保证 redis 的高可用。哨兵的搭...
2019-12-05 09:18:36 2405
原创 Java 浅拷贝、深拷贝,你知多少?
这是今天我们在技术群里面讨论的一个知识点,讨论的相当激烈,由于对这一块使用的比较少,所以对这一块多少有些盲区。这篇文章总结了所讨论的内容,希望这篇文章对你有所帮助。在 Java 开发中,对象拷贝或者说对象克隆是常有的事,对象克隆最终都离不开直接赋值、浅拷贝、深拷贝 这三种方式,其中直接赋值应该是我们最常用的一种方式吧,对于浅拷贝和深拷贝可能用的少,所以或多或少存在一些误区,这篇文章会详细的介...
2019-12-04 11:10:42 6483 17
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人