人生 = 思维方式 x 热情 x 能力
-
序列化和反序列化详解
序列化将内存中的java对象转为字节数组用于网络传输或写到磁盘,目的端收到字节数组按指定的数据结构规则恢复为java对象,就是反序列化
-
生成订单30分钟内未支付,则自动取消,该怎么实现
各种方案的优缺点,数据轮询、JDK的延迟队列、时间轮算法、redis缓存zset有序集合和key失效回调、消息队列的延时消息
-
部门数据权限与请求方法访问权限
看renren和ruoyi开源框架是如何实现部门数据权限访问和请求方法的权限控制
-
什么是时间管理
自我控制,四象限法则时间管理方法
-
除了swagger,你还用过哪几个在线文档生成器
能够实时生成在线文档,支持全文搜索,支持在线调试,gitbook、yapi、apidoc、showdoc、smartdoc,knife4j皮肤使你的swagger更实用,跟yapi相似的Torna,让你的swagger高大上
-
重学Java第45讲:LinkedList的扩容机制
核心私有内部类Node,常用操作add方法添加元素、remove方法删除元素、set方法更新元素、indexOf和get方法查找元素
-
Redis为什么这么快
Redis不同数据类型底层的数据结构实现、完全基于内存、IO多路复用网络模型、读写单线程模型、全局hash字典、渐进式rehash去分析Redis的快,Redis的混合持久化,主从复制的实现,哨兵集群如何监控slave,Cluster集群16384个槽点通过CRC16算法映射Redis实例,本地缓存的哈希槽实例映射信息定位到数据所在实例。
-
重学Java第44讲:ArrayList的扩容机制
添加元素时调用grow方法扩容原来1.5倍以上,移位运算与位权,添加元素到指定位置,set方法更新元素,remove方法删除元素,indexof方法查找元素,时间复杂度的概念,ArrayList 执行效率的时间复杂度
-
CountDownLatch、Semaphore的实现原理AQS
AQS(AbstractQueuedSynchronizer) 抽象队列同步器,CountDownLatch,ReentrantLock、Semaphore 等功能实现都使用了它
-
Mysql表数据量很大,SQL变慢,有什么优化方案
分页查询使用子查询优化、使用id限定优化、使用临时表优化,limit分页使用上一页的最大creat_time作为查询条件,字段类型匹配避免隐式转换,使用关联更新、删除,使用union all解决混合排序降低sql执行时间,inner join代替exists语句即用连接查询代替子查询,提前缩小范围,with语句缩小中间结果集,SQL判断否存在使用limit 1,