自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灵豸

哪有说走就走的旅行,真正的旅行并没有那么美好

  • 博客(67)
  • 收藏
  • 关注

原创 java内存泄露,内存溢出

1.概念内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况(OOM)。从定义上可以看出内存泄露是内存溢出的一种诱因,不是唯一因素。内存泄露举例对象生命周期引发的内存泄露...

2019-09-24 09:50:26 141

原创 Nginx 配置websocket

1.Nginx 支持websocket的配置server {listen 80;server_name 域名;location / {proxy_pass http://127.0.0.1:8080/; // 代理转发地址    proxy_http_version 1.1;proxy_read_timeout 3600s; // 超时设置// 启用支持websocke...

2019-08-23 16:27:55 182

原创 OLAP在线实时 数据分析平台

随着业务的增长,精细化运营的提出,产品对数据部门提出了更高的要求,包括需要对实时数据进行查询分析,快速调整运营策略;对小部分人群做 AB 实验,验证新功能的有效性;减少数据查询时间,降低数据查询难度,让非专业人员可以自主分析、探查数据等。为满足业务需求,MateApp 实现了集事件分析、转化分析、自定义留存、用户分群、行这是一个典型的,分成两部分,

2024-04-09 11:23:41 671

原创 99% 准确的定位工具ip2region

【代码】99% 准确的定位工具ip2region。

2024-04-07 18:16:25 176

原创 redis 的 jedis 和 letture集成 springboot

综上所述,Jedis适用于简单的、低并发的场景,使用简单直观;而Lettuce适用于高并发、复杂的场景,具有更好的性能和扩展性。选择使用哪种客户端库取决于你的具体需求和项目特点。Jedis和Lettuce是两种常用的Java客户端库,用于与Redis服务器进行通信。用的时候直接注入 Bean 就 key 使用了。

2024-03-20 17:24:42 375

原创 Java使用Microsoft Entra微软 SSO 认证接入

sp(服务提供这者)在首页做一个 button 按钮只进行 SAML 的 SSO 验证登录=》点击按钮,获取 ldp(微软)的动态访问 url=》验证账密,通过后调用 sp 提供的回调接口将邮箱信息传过来=》 sp(服务提供者)拿到邮箱获取用户的信息,进行验证,成功后,重定向到sp首页将 cookie进行写入。Microsoft Entra ID 还可帮助他们访问你的企业 Intranet 上的应用等内部资源,以及任何为你自己的组织开发的云应用。是基于云的标识和访问管理服务,可帮助员工访问外部资源。

2023-12-14 11:58:47 1115

原创 PG 数据库的增删查改

更新旧数据并添加新数据。

2023-09-27 18:05:30 152

原创 阿里云KMS 的信封加密

何为信封加密,大概意思就是一批数据可以装在一个信封里进行安全传输,何为安全传输,就是加密密钥和加密的数据是分开存储的,获取任何一个都无法进行解密操作。

2023-09-20 17:09:57 190

原创 有关 openAPI 的一些总结

然后 hearder 需要加参数Timestamp,与签名的时间戳保持一致就行,服务端到时候需要验签,再根据时间戳判断几分钟内签名有效就行。这样的做法只能说是相对安全的,对于国外节点的服务器来说,时间戳必须做转换。目前主流的 APi 的验证是:Token+sign。token 主要是进行接口安全访问的。sign 主要是保证数据的真实性。

2023-07-26 17:06:19 251

原创 关于AES 和 BASE64 的理解

AES加密算法使用相同的密钥(称为对称密钥)进行加密和解密操作,因此必须确保密钥的安全性。它将明文分成大小相等的数据块,然后对每个数据块单独进行加密。但是,ECB模式存在一些问题,因为相同的明文块会被加密成相同的密文块,这导致了一些安全性问题,例如可能泄漏信息模式和无法抵抗攻击者的重新排序攻击。这是因为Java标准库中的AES实现对于密钥长度有一定的限制,不支持超过256位的密钥。请注意,如果原始数据的长度恰好是3的倍数,则不会添加填充字符 “=”,而编码后的数据长度将与原始数据长度成正比,约为4/3倍。

2023-07-19 16:45:49 2110

原创 mysql的聚簇索引和非聚簇索引的区别

MySQL InnoDB存储引擎时,索引类型可分为,有时候也通俗的称为主键索引和普通索引。,所以MYSIAM的引擎在查询的时候非主键索引的时候特别快。

2023-07-12 17:27:22 302

原创 springboot集成实体类转换神器mapstruct

mapstruct他与BeanUtils最大的不同之处在于,其并不是在程序运行过程中通过反射进行字段复制的,而是在编译期生成用于字段复制的代码(类似于Lombok生成get()和set()方法),这种特性使得该框架在运行时相比于BeanUtils有很大的性能提升,所以在pom的依赖顺序里面,是需要先加载Lombok的依赖再加载mapstruct依赖,这样才可以正常启动导入pom<dependency> <groupId>org.projectlombok

2023-06-29 14:56:38 546

原创 springboot自定义自己的线程池

【代码】springboot自定义自己的线程池。

2023-06-28 16:51:52 244

原创 macbookpro m1设置jdk的动态切换

【代码】macbookpro m1设置jdk的动态切换。

2023-05-17 11:39:41 134

原创 doker安装postgresql(mac M1)

【代码】doker安装postgresql(mac M1)

2023-04-07 15:18:10 483

原创 macbook忘记root用户密码,如何重置密码

(1)以普通用户名登录系统,并打开terminal终端,Password:*****(当前用户的密码)成功后进入bash-3.2#的命令模式。(2)在bash-3.2#命令模式下,成功后及root密码修改完成!

2023-03-29 09:46:23 1353

原创 linux命令查询文件的前后几行

例如:查看/home/user/test.txt的10~20行。

2023-03-22 18:28:26 1329

原创 在Spring Boot集成quartz-starter依赖

springboot集成quartz

2023-02-08 11:47:25 761

原创 Elasticsearch Java 客户端演进历史和选型指南

Elasticsearch Java 客户端演进历史和选型指南

2023-02-02 09:45:18 556

原创 mysql的连接数空闲时间设置

具体的wait_timeout的空闲时间设置,参考占用连接的sleep的time进行设置,不能太大也不能太小。

2022-11-15 13:37:41 966

原创 分布式系统RedisAtomicLong实现自增流水号

在项目中许多过这样的需求,记录留做备忘。需要创建一个递增序列,这个序列会提供给多个应用来使用,这样就需要保持序列的原子递增。

2022-08-25 10:44:31 1395

原创 关于springboot的优雅停机和健康检查配置(用于k8s服务重启)

优雅关闭正常都是会配置一定的处理时间,超过该时间没处理完,就会进行强杀。因此对于核心业务,我们还得考虑万一进行强杀时,还要考虑是否需要对业务进行补偿操作。

2022-08-16 18:06:13 3441

原创 kubernetes yaml中的apiVersion如何选择?

kubernetes yaml中的apiVersion如何选择?

2022-08-12 11:06:54 148

原创 docker login www.xxx.com 报错

docker 在远程ssh登陆时报错docker login www.xxx.com输入用户名:输入密码:出现如下错误:解决方案:

2022-08-11 13:53:50 3661 1

原创 mongodb的多数据源配置

mongodb

2022-07-19 17:38:11 495

原创 docker 拉取redis镜像 并运行

docker拉取redis镜像并运行。

2022-07-19 17:07:30 646

原创 OLTP与OLAP

参考:https://www.modb.pro/db/116013OLTP(On-line Transaction Processing)面向的是高并发低延时的增删改查(INSERT, DELETE, UPDATE, SELECT, etc…)。OLAP(On-line Analytical Processing)面向的是BI分析型数据请求,其对延时有较高的容忍度,处理数据量相较OLTP要大很多。传统意义上与OLTP对应的是MySQL等关系型数据库,与OLAP相对应的则是数据仓库。OLTP

2022-05-24 15:23:14 74

原创 Hadoop、Hive、HDFS、Hbase、KUDU、Spark之间关系

Hadoop是一个分布式计算的开源框架,包含三大核心组件:HDFS(Hadoop Distributed System分布式文件系统)、HIVE(数据仓库工具)、HBASEHDFSHDFS是Hadoop生态圈最基础的存储引擎,请注意HDFS的设计主要为大文件存储,为高吞吐量的读取和写入服务,HDFS不适合存储小文件,也不支持大量的随机读写。Hive专门处理存储在HDFS数据仓库工具,通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被

2022-05-24 15:19:12 3497

原创 kudu的原理及java调用

hdfs与hbase数据存储的缺点目前数据存储有了HDFS与hbase,为什么还要额外的弄一个kudu呢?HDFS:使用列式存储格式Apache Parquet,Apache ORC,适合离线分析,不支持单条纪录级别的update操作,随机读写性能差。HBASE:可以进行高效随机读写,却并不适用于基于SQL的数据分析方向,大批量数据获取时的性能较差。正因为HDFS与HBASE有上面这些缺点,KUDU较好的解决了HDFS与HBASE的这些缺点,它不及HDFS批处理快,也不及HBas

2022-05-24 14:23:27 493

原创 kudu 导入/导出 数据

参考:https://blog.csdn.net/zimiao552147572/article/details/90770469导出 kudu表数据 为csv文件 impala-shell中 导出kudu表数据为csv文件,或者说是通过impala的外部映射表把kudu表数据导出为csv文件 impala-shell -q "select * from rawdata.event_wos_p1 LIMIT 100" -B --output_delimiter="," -o /home/gzp/ev

2022-05-23 10:13:34 700

原创 mysql语句实现saveorupdate操作

insert into revenue_statement(company_id, billing_year,billing_month,recharge_amount,settlement_amount,create_id,create_time,update_id,update_time) values ('197', '2021','202103',null,'1','5','2022-05-09 14:50:37','5','2022-05-09 14:50:37')on duplic

2022-05-10 10:40:32 1062

原创 mysql去重的几种方式

1. distinctselect distinct 列名 from 表名2. row_numberselect *, row_number() over (partition by 想去重的列名 order by 列名) as row_numfrom 表名where row_num = 13.group byselect 列名 from 表名 group by 列名重复量多时,GROUP BY总的处理效率比DISTINCT高,重复量低时,DISTINCT就比GROUP BY快一

2022-05-06 16:57:24 5600

原创 list的多条件排序与list对象去重、对象属性去重

重写equals和hashcode方法。

2022-05-06 11:08:31 1817

原创 解决Idea GitLab Clone failed: Authentication failed for的问题

git clone项目一直报Clone failed: Authentication failed for ‘Xxxxxxx’,却又没有弹出消息框。这个是因为输入了一次错误的密码和用户名后 不再弹出修改账号信息的界面导致。查找之后在git上输入命令git config --system --unset credential.helper之后就可以弹出用户名密码输入框了(这个问题还是因为用户名密码不匹配造成的)...

2022-04-22 10:22:25 796

原创 @Scheduled中fixedDelay、initialDelay 和cron表达式的解析及区别

注解参数区别@Scheduled注解可以控制方法定时执行,其中有三个参数可选择:1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。3、cron表达式可以定制化执行任务,

2022-04-12 16:58:39 3108

原创 @Scheduled进行多线程配置执行

发现项目中有一个定时任务延迟6秒启动,然后死循环。(@Scheduled注解各参数详解)/** * 延迟60秒继续执行,异步执行; */ @Scheduled(fixedDelay = 6000) public void run() { log.info("init zk register"); while (true) { log.info("do something..."); T

2022-04-12 16:55:33 1665

原创 java文件上传解析

单个文件上传(直接获取MultipartFile的文件,这个fromdata的文件的key必须是excel)@PostMapping("implExcel") private BaseDto implExcel(MultipartFile excel){ User user=new User(); List<User> users = testService.implExcel(excel, user); Map map=new Ha.

2022-03-14 13:15:18 864

原创 mysql实现两列数据或者两行数据相减

注意:两行数据相减必须先转子查询,转为两列后,才能进行相减select (n.a-n.b) as cfrom (select (SELECT settlement_amount FROM `domestic_vendor_statements`where billing_month='202203') a,(SELECT settlement_amount FROM `domestic_vendor_statements`where billing_month='202204') b) as

2022-03-01 16:06:58 15999

原创 MySQL的行锁

行锁MySQL的行锁又分为共享锁(S锁)和排他锁(X锁)。一般普通的select语句,InnoDB不加任何锁,我们称之为快照读select * from test;通过加S锁和X锁的select语句或者插入/更新/删除操作,我们称之为当前读select * from test lock in share mode;select * from test for update;insert into test values(...);update test set ...;delete fr

2022-02-28 14:57:45 308

原创 mysql高级面试整理

MVCC(多版本控制)MVCC是一种多版本并发控制机制,是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。MVCC是通过保存数据在某个时间点的快照来实现该机制,其在每行记录后面保存两个隐藏的列,分别保存这个行的创建版本号和删除版本号,然后Innodb的MVCC使用到的快照存储在Undo日志中,该日志通过回滚指针把一个数据行所有快照连接起来。如何查询慢sql如果你想查看哪些查询语句的执行效率低,可以从慢查询日志中获得信息。和错误日志、查询日志一样,慢查

2022-02-24 18:17:06 361

空空如也

空空如也

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

TA关注的人

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