首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试
订阅
李长安同学
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
选择合适Redis数据结构,减少80%的内存占用
redis作为目前最流行的nosql缓存数据库,凭借其优异的性能、丰富的数据结构已成为大部分场景下首选的缓存工具。 由于redis是一个纯内存的数据库,在存放大量数据时,内存的占用将会非常可观。那么在一些场景下,通过选用合适数据结构来存储,可以大幅减少内存的占用,甚至于可以减少…
再有人问你分布式锁,这篇文章扔给他
对于锁大家肯定不会陌生,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去…
mmall_v2.0 Redis + Cookie 实现单点登录
电商项目中,在单服务器时,用户登录时将用户信息设置到 session 中,获取用户信息从 session 中获取,退出时从 session 中删除即可。 但在搭建 Tomcat 集群后,就需要考虑 Session 共享问题,可通过单点登录解决方案实现,这里主要有两种方法,一种是…
如何理解BIO、NIO、AIO的区别?
首先Java中的IO都是依赖操作系统内核进行的,我们程序中的IO读写其实调用的是操作系统内核中的read&write两大系统调用。 网卡收到经过网线传来的网络数据,并将网络数据写到内存中。 当网卡把数据写入到内存后,网卡向cpu发出一个中断信号,操作系统便能得知有新数据到来,再…
什么是单点登录(SSO)
在前阵子有个读者来我这投稿,是使用JWT实现单点登录的(但是文章中并没有介绍什么是单点登录),所以我觉得是时候来整理一下了。 单点登录的英文名叫做:Single Sign On(简称SSO)。 在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。 后来,我们为了合…
Redis zset实现原理
skiplist本质上是并行的有序链表,但它克服了有序链表插入和查找性能不高的问题。它的插入和查询的时间复杂度都是O(logN) 普通有序链表的插入需要一个一个向前查找是否可以插入,所以时间复杂度为O(N),比如下面这个链表插入23,就需要一直查找到22和26之间。 以此类推.…
面试:彻底理解Cookie以及Cookie安全
Cookie是服务端发送到用户浏览器并且保存到本地的一小块数据,它会在浏览器下次向同一服务器发起请求时,被携带到服务器上。 经常用来做一些用户会话状态管理、个性化设置等等。 前端可以通过document.cookie来访问cookie。 cookie是跨域的,也就是在不同的域名…
拜托,面试别再问我堆(排序)了!
(2)堆中某个节点的值总是不大于(或不小于)其父节点的值。 其中,我们把根节点最大的堆叫做大顶堆,根节点最小的堆叫做小顶堆。 满二叉树是指所有层都达到最大节点数的二叉树。比如,下面这颗树: 完全二叉树是指除了最后一层其它层都达到最大节点数,且最后一层节点都靠左排列。比如,下面这…
官方文档解释MySQL最左匹配(最左前缀)原则
直接找了官网的文档, 一下子就清晰了. 下面贴下官网的解释, 然后我自己翻译了一下. MySQL可以创建联合索引(即, 多列的索引). 一个索引可以包含最多16列. 对于 以及索引中前两列, 索引中的前三列, 以此类推. 如果你在索引定义中以正确的顺序指定列, 那么联合索引就可…
面试官:来!聊聊线程池的实现原理以及使用时的问题
无论是在工作中,还是在书本中,我们都可以听到或者看到关于线程在使用时的一些建议:不要在代码中自己直接创建线程,而是通过线程池的方式来使用线程。使用线程池的理由大致可以总结为以下几点。 1. 降低资源消耗。线程是操作系统十分宝贵的资源,当多个人同时开发一个项目时,在互不知情的情况…