微信精选
-
一句 SQL生成海量超真实模拟数据
UDF generate_person 在Apache Superset里的动图效果 探索DuckDB:使用标量 Python UDF 快速扩展 DuckDB 的功能 提…
-
Flask+SQLite3 密码备忘录项目
Flask+SQLite3 密码备忘录项目 本项目是一个基于 Flask 框架和 SQLite3 数据库的密码备忘录应用。通过使用 Python 编程语言,我们实现了一个简单易用的…
-
docker部署Prometheus+Grafana+node-exporter
Prometheus Prometheus介绍 Prometheus(普罗米修斯)是一个开源的系统监控和报警系统。Google SRE的书内也曾提到跟他们BorgMon监控系统相似…
-
springboot配置文件加密
背景 对于springboot项目,项目中依赖的配置如:数据库密码、中间件密码等都是明文保存在配置文件中的。这种方式存在很大的风险,在企业的安全扫描中也通过不了。为了安全的需要,所…
-
解决线程池本地变量问题,TransmittableThreadLocal详解
ThreadLocal ThreadLocal又叫本地线程变量,仅供当前线程使用。但是只能用于当前线程,无法传递变量到子线程中。 package com.fandf.de…
-
RSA + AES对前后端数据进行加密
前言 在前后端交互时,常常采取http方式进行传输,而明文传输通常会被网络抓包、反编译等手段得到htpp通讯接地址和参数等。 为了确保信息的安全,在生产中使用了很多种加密手段。&n…
-
spring @Value 字符串类型转换为对象
背景 工作中经常会碰到各种奇奇怪怪的需求,比如从配置文件读取出来的值转换为对象。 万能的字符串 任何时候都可以使用字符串作为属性的值,从配置文件中读取出来,如下:配置文件内容为 t…
-
MySQL索引底层数据结构与算法
什么是索引 索引是帮助MySQL高效获取数据的排好序的数据结构。 索引数据结构 推荐大家一个数据结构的网站:https://www.cs.usfca.edu/~galles/vis…
-
Spring之Bean的生命周期
Spring版本 spring5.3.10 只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 Bean介绍 spring最重要的功能就是帮助我们创建…
-
Spring之依赖注入原理
Spring版本 spring5.3.10 只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 Spring两种依赖注入的方式 1. 手动注入 2. …
-
java常见排序算法实现
只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 列举java中比较常见的几种排序:冒泡排序、快速排序、插入排序、希尔排序、选择排序、归并排序以及基…
-
jvm内存模型及垃圾回收机制
一、内存模型 image.png 程序计数器 指向当前线程所执行的字节码指令的(地址)行号。程序计数器是唯一不会出现 OutOfMemoryError 的内存区域,它的生命周期随着…
-
jvm调优工具详解及调优实战
只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 不了解jvm内存结构和垃圾回收机制的可以查看我上篇文章jvm内存模型及垃圾回收机制 前置工作 首先…
-
redis九大数据类型及场景案例实现
只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 1.redis定义 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数…
-
java实现布隆过滤器
只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 什么是布隆过滤器 布隆过滤器(Bloom Filter)是1970年由布隆提出来的。 它实际上是由…
-
redis集群数据存储方式
只有不断努力,你才能走向成功。不要因为一时的挫折而放弃,相信自己的潜力是无限的。 为什么需要集群 随着业务的发展,用户的增多,越来越多的数据需要去查询数据库。为了提高性能,往往会在…