全菜工程师小辉
全菜工程师小辉
全部文章
分类
Java语言特性(6)
剑指offer最优解Java版(40)
数据库与中间件(3)
框架相关(1)
算法相关(3)
归档
标签
去牛客网
登录
/
注册
全菜工程师小辉的博客
有关后端开发和机器学习相关的干货分享,微信公众号同名
全部文章
(共53篇)
Redis的过期键删除策略和数据逐出策略
Redis作为一个高性能的内存NoSQL数据库,其容量受到最大内存限制的限制。 在实际生产环境中使用Redis时,偶然会觉得Redis的内存占用要比自己预想的大。事实上,Redis占用的内存除了保存键值对所需的开销外,还有一些运行时产生的额外内存,包括: 过期Key所占空间 渐进式Re...
2019-07-24
0
532
快速了解缓存穿透与缓存雪崩
缓存穿透 缓存系统,一般流程都是按照key去查询缓存,如果不存在对应的value,就去后端系统(例如:持久层数据库)查找。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力,这就叫做缓存穿透。 正常请求: ...
2019-07-23
0
569
高并发系统的限流算法与实现
开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。 缓存:缓存的目的是提升系统访问速度和增大系统处理容量。 降级:降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。 限流:限流的目的是通过对并发请求...
2019-07-22
0
519
彻底搞懂JDBC的运行过程
前几天笔者发布了博客手写mybatis彻底搞懂框架原理。为了帮助初学者更好理解mybatis框架,这次讲解一下Java的JDBC的运行过程。 JDBC的作用 JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及...
2019-07-21
0
687
剑指offer最优解Java版-机器人的运动范围
题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3...
2019-07-20
0
560
剑指offer最优解Java版-矩阵中的路径
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e ...
2019-07-19
0
521
剑指offer最优解Java版-滑动窗口的最大值
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4...
2019-07-18
0
825
剑指offer最优解Java版-数据流中的中位数
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 解...
2019-07-17
0
719
剑指offer最优解Java版-序列化二叉树
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树。 解决方法:递归 先序遍历序列化二叉树。 class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...
2019-07-17
0
516
手写mybatis彻底搞懂框架原理
mybatis的前身是iBatis,其源于“Internet”和“abatis”的组合,是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,它可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJ...
2019-07-16
0
755
首页
上一页
1
2
3
4
5
6
下一页
末页