自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZJH

  • 博客(174)
  • 问答 (2)
  • 收藏
  • 关注

原创 SQL刷题:SQL必知必会

2.解释:返回目标字符串substr在字符串集str的截取范围为从第pos位到字符串末尾是否出现,以及在整个str中第一次出现的位置;其实是两个步骤,1.先判断在截取字符串中是否出现,若出现则返回在整个字符串第一次出现的位置,若未出现,则返回0。MySQL中的LOCATE()函数用于查找字符串中子字符串的位置。在字符串中搜索子字符串的位置时,MySQL LEFT() 函数从指定字符串的左侧返回指定数量的字符组成的字符串。类型的,下面两种写法都一样,在SQL中,数字类型都可以不加单引号。

2023-01-28 20:06:46 1288 1

原创 MySQL窗口函数

个人认为跟上面的3.1滑窗筛选单位ROWS和RANGE属于一个包含关系,单位可以选择ROWS行、RANGE范围,都可以筛选一定的范围内,但比较死板,不够灵活,3.2就是这个升级版,足够灵活CURRENT ROW :当前行UNBOUNDED PRECEDING :当前行上侧所有行UNBOUNDED FOLLOWING :当前行下侧所有行expr PRECEDING:当前行上侧expr行(expr可以是数字,也可以是表达式)

2022-11-27 21:43:00 3786

原创 查询:按A分组,满足B时对应的C

这种问题我自己归纳为“”问题,例如有下面一场表()最高分、最低分最后一次没有学习。

2022-11-27 19:38:45 876

原创 Hive:set指令后面不加 ; 分号的问题

set指令最后没有加;

2022-11-19 18:10:58 718

原创 Hive:BUG记录,错误使用动态分区导致的插入失败

在Hive中,插入数据时可以指定动态分区,如果,,就可以不需要指定hive变量。

2022-11-19 17:12:25 1874

原创 es环境搭建

不同于solar还需要zk来搭建集群。

2022-11-16 13:51:48 1923

原创 Hive DQL及优化

需要现开启正则反引号不在解释为其他含义,被解释为正则表达式。

2022-11-13 21:54:07 1194

原创 Hive DML及事务表

本来加载的时候没有指定分区,语句是报错的,但是文件的格式符合表的结构,前两个是col1,col2,例如:如果Android和IOS两个日志表都是按day分区,中间表也按day分区,那么需要。而通过insert + select ,每行的最后多余的字段就 按顺序 动态映射分区。上面的用load指令加载数据永远都是只能把partition写死(静态分区)我们把指令打到Hive的服务器上,Hive执行携带LOCAL的指令,)中的已经存在的数据会被删除,然后再将file写入。主要是对LOAD加载时,

2022-11-13 18:01:15 913

原创 Spring接入Metrics

graphite是一套基于python的开源监控系统,主要包括三部分:也是一套监控系统,使用效果比Graphite更好,因此可以通过Graphite做中间数据存储的桥梁(Metrics收集的日志不能直接到Grafana,Grafana能对接如es、graphite等数据源),最终展示在Grafana中对日志进行收集,一般分为响应时间记录和接口吞吐量:这里截取部分操作Metrics的代码,使用时调用封装好的log方法即可,其他配置细节忽略这里以Gradle项目为例,Maven项目同理starter这个主要是看

2022-11-11 10:02:56 1321

原创 Grafana-web使用说明

Histrogram可以计算最大/小值、平均值,方差,分位数(如中位数,或者95th分位数),如75%,90%,98%,99%的数据在哪个范围内。他提供了平均速率,以及指数平滑平均速率,以及采样后的1分钟,5分钟,15分钟速率。它是最简单和最基本的Metrics类型,只有一个简单的返回值,,第50分位置大的数据(即升序排列后排在50%位置的数据)。,第90分位置大的数据(即升序排列后排在90%位置的数据)。,第99分位置大的数据(即升序排列后排在99%位置的数据)。

2022-11-11 10:02:32 3947

原创 Hive DDL及拓展

删除表就跟SQL标准一样,DROP TABLE xxx,不过要注意是否是内部表导致数据文件也被删除。

2022-11-08 17:27:27 901

原创 NULL的条件运算 与 值运算

建表的时候尽可能用NOT NULL约束字段对于有null值的字段,条件运算时一定要考虑unknown的情况,分情况使用函数boolean字段如果有null值,用来避免unknown的情况gourp by时所有null分为一组order by时所有null挨在一起。

2022-11-04 19:37:42 998

原创 Servlet使用ioc中的bean

这个接口是给Bean使用的,用于获取指定的bean对象,言下之意实现这个接口,想要生效(获取到applicationContext)自己本身也必须是一个bean。这里也是因为大家都是在Spring启动过程中完成的,有三级缓存的机制下,也是可以通过这种方式让Servlet拿到其他包下的bean对象。见名知意,这是用来解析@Autowired的工具类,源码我看了下,用于解析@Autowired和@Value,通过这个工具类可以在任何一个类中使用Bean对象了(获取Bean的指针)

2022-10-30 22:12:44 437 1

原创 我对布隆过滤的理解

如果我们只允许特定的用户访问,或特定的数据请求,那可以做白名单(不能做黑名单,正常用户可能被误判)如果布隆过滤器中的集合一万年都不变,大可做成同步的,效率肯定比上面那个高。如果想删除布隆过滤器中的某一个值,不能直接删除,需要重构整个布隆过滤器。缓存穿透有一个传统解决方案就是:对这个虚假的数据加一个假的缓存。//在黑名单 但不在白名单中,跳转到验证真人的接口。,因此我们只能用布隆过滤做白名单,而不能做黑名单。以下几种场景的数据去重:离散的、无范围限制的。//到这里就是正常的业务逻辑了。

2022-09-26 01:52:45 189

原创 布隆过滤器黑名单+白名单实现ip黑名单问题

/在黑名单 但不在白名单中,跳转到验证真人的接口。){//2.但是又同时在白名单中。redirect—>验证真人的接口。因此我们在(伪)代码中体现如下。//donothing啥都不做。//到这里就是正常的业务逻辑了。){//1.在黑名单中。

2022-09-26 01:52:33 1333 2

原创 快排,代码思路详解

我们以。

2022-09-26 00:49:50 176

原创 HTTPS个人理解

注意区分key1和key2,key1密钥对是本身就有的,key2密钥对于不同的客户端请求是临时生成的、特异性的、每个客户端都生成一次。此时我们利用服务器原有的keys1,对每一个访问的客户端都生成了其对应的keys2;但是非对称加密速度比对称加密慢2~100倍。此时客户端知道该服务器可靠了,但是我们针对。此时客户端拿到了服务器的公钥(

2022-09-21 22:32:14 397

原创 BeanFactory和ApplicationContext

public MyEvent(Object source) {//source就是事件源(谁发的这个事件,我们可以传入一个context参数)}}

2022-09-15 21:12:31 326

原创 动归:用数组空间换时间、状态转移

维护一个dp[i][j]表示该位置上的路径 = Math.min( 上or左路径 ) + 自身路径grid[i][j]给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。因为我们只是求最大值,所以不用维护dp[][],直接维护一个maxProfit用Math.max()来更新最大值即可。dp[i][j]表示i到j是回文串,为true。当前arr[i]等于arr[j]

2022-09-09 23:19:17 377

原创 二叉树:dfs+回溯

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。这个题如果是用前序遍历(DFS)先存储结果到list中,空间复杂度为O(n),还有一种方法不用DFS空间复杂度为O(1)这三种遍历其实都是dfs,只是递归的位置不同,一般二叉树用到dfs的都是这种区别(递归在前还是再后)注意: 合并过程必须从两个树的根节点开始。返回合并后的二叉树。

2022-09-07 23:06:28 384

原创 岛屿问题,矩阵:DFS+标记剪枝+回溯

main方法中。

2022-09-04 19:52:12 572

原创 业务中delete_flag字段容易踩的坑

delete_flag字段属于是表设计的规范,无论做没做删除功能都要在SQL中加上,但是加错了地方会出问题对于驱动表,应该放在最后面的where之后,防止外联on条件筛选时失效每联一张表(非驱动表)都需要在紧跟着的on后面添加该表的.delete_flag=1,而不能放在最后的where后(能生效但不规范)...

2022-08-29 21:14:35 2371

原创 三种中间件的刷盘(持久化)策略

内存缓冲池。

2022-08-28 13:34:32 1963

原创 Redis基础

分布式锁:满足分布式系统or集群下的多进程可见且互斥的锁分布式锁可以用MySQL、Redis、ZooKeeper实现,前者最简单且低效,后者最安全且低效,Redis是一个业内常用的折中方案互斥、原子性、安全性 是Redis分布式锁的实现难点,Redisson是一个开源的高性能Redis分布式锁框架在功能上的特点包括:阻塞or非阻塞、是否可重入、是否是公平锁等。...

2022-08-28 12:21:40 308

原创 RabbitMQ可靠发布-SpringBoot

以下用SpringBoot演示,本demo中关于发布确认失败的消息仅用日志记录,如有需要可以用来存储的映射,在回调函数中用来获取对应的消息。

2022-08-27 16:02:54 472

原创 SpringBoot死信队列、延迟队列

basic.nack失败消息如何转发到(绑定到)死信队列。

2022-08-27 01:06:16 1306

原创 JUC下的常用类

juc常用类

2022-08-24 16:12:55 696

原创 ReentrantLock源码剖析

lock

2022-08-23 11:27:21 251

原创 反射获取AQS中同步队列与等待队列的长度

AQS

2022-08-23 11:26:25 204

原创 AOP实现分布式锁

分布式锁AOP

2022-08-19 11:19:49 918

原创 【康师傅】MySQL事务

数据库

2022-08-17 19:33:07 566

原创 RLE压缩算法

RLE算法

2022-08-14 20:27:28 636

原创 AOP+反射 批量参数校验

AOP

2022-08-13 21:43:25 413

原创 idea一些debug技巧

idea debug技巧

2022-08-05 17:49:33 213

原创 反射修改jsessionid实现Session共享

通过反射修改JSESSIONID实现Session会话域共享 共享会话域

2022-08-03 21:54:39 1651 2

原创 四种方法Servlet容器使用Spring的Bean对象

Servlet

2022-08-01 16:56:37 1157

原创 RestTemlate源码分析及工具类设计

RestTemplate

2022-07-30 22:18:50 1117

原创 RestTemplate源码debug:可变形参引发的问题

源码分析笔记

2022-07-29 13:39:16 410

原创 枚举类和魔术值

枚举类

2022-07-25 11:56:40 246

原创 二叉树的三种层序遍历BFS

层序遍历

2022-07-20 22:05:56 509

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除