- 博客(155)
- 收藏
- 关注
原创 如何保证Bitmap数据在多个服务器间的一致性
Bitmap(位图)是一种常用的数据结构,用于高效地表示和处理大量数据的状态或集合。在多个服务器间保证Bitmap数据的一致性是一个具有挑战性的问题,特别是在分布式系统中,需要考虑网络延迟、节点故障等因素。
2025-01-18 15:20:19
513
转载 MySQL 中 JSON 字段增删改查相关函数使用
JSON数据是我们在开发过程中几位常用的一种数据存储方式,主要以KV键值对的形式存储数据,在MySQL5.7之后,提供了JSON字段,在MySQL8之后得到了很好的优化,下面就是JSON格式数据与的例子,以KV键值对的形式存储数据,每个键值对之间使用“,”隔开即可。我们先准备好一张product商品表,字段类型如下图所示,方便一会操作展示然后在表中存放一些数据,如下图,数据均为编造,仅为演示建表SQL和数据SQL如下,想动手尝试小伙伴们可自行CV。
2025-01-18 15:15:51
27
转载 一篇掌握docker
一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“
2024-12-15 22:11:15
108
转载 一文细说Mybatis八大核心源码
MyBatis 是一个优秀的持久层框架,它内部封装了 JDBC,使得开发者只需要关注 SQL 本身,而不需要花费过多精力去处理如注册驱动、创建连接、创建 statement、手动设置参数、结果集检索等 JDBC 繁杂的过程代码。MyBatis 的核心源码涉及多个关键组件,其中最关键的有8大组件,搞明白,对 MyBatis 的实现原理绝对是通透,以下是 V 哥在上课的时候整理的笔记,分享给大家。上面的代码示例是一个简化的版本,用于解释 SqlSessionFactory 和其实现类的基本概念和工作原理。
2024-12-15 19:23:03
53
转载 超详细【入门精讲】数据仓库原理&实战 一步一步搭建数据仓库 内附相应实验代码和镜像数据和脚本
虚拟机软件: Virtual Box下载链接:远程连接软件: Xshell (也可以使用其他远程连接软件, 推荐使用FinalShell,本博客使用的是FinalShell)Virtual Box, 下载链接XShell,下载链接FinalShell,下载链接Xshell和FinalShell均为远程连接工具,使用其中一个即可资源镜像及脚本包的地址在第0章节。
2024-06-12 22:56:17
161
1
转载 8种方案,保证缓存和数据库的最终一致性
我们通常使用缓存机制来提升系统的性能,缓存系统下的读写操作,一般都需要操作数据库与缓存。对于读操作,一般是先查询缓存,查询不到再查询数据库,最后回写进缓存。而对于写操作,究竟是先删除(更新)缓存,再更新数据库,还是先更新数据库,再删除(更新)缓存呢?由于对数据库以及缓存的整体操作,并不是原子性的,再加上读写并发,究竟什么样的方案可以保证数据库与缓存的一致性呢?下面介绍8种方案,配合读写时序图,希望你能从其中了解到保证一致性的设计要点。简单直接,适用于对数据一致性要求较低或者写请求很少的业务。
2024-03-18 20:46:54
4273
转载 k8s部署springboot项目
创建SpringBoot 项目 开放一个 /k8s/hello 接口 用于测试通过编写 dockerfile 把springboot项目添加进去 构建一个镜像把镜像 push 到对应的 阿里云仓库(或者harbor 等等..)编写 k8s yaml 进行部署2个副本 + ingress 实现基本的负载均衡kubectl 进行部署访问请求路径 进行测试本篇主要 讲解了 k8s 如何部署springboot项目,过程很简单 ,目前只是半手动部署,后面引入 CICD 实现真正的 自动化部署。
2024-02-20 15:31:13
878
转载 MySQL与Oracle SQL语言差异比较
2. oracle 存储过程可以定义在package中,也可以定义在Procedures中. 如果定义在包中,一个包中可以包含多个存储过程和方法.如果定义在Procedures中,存储过程中不可以定义多个存储过程.执行这个语句将删除除user表之外的其它所有权限表中的相关记录,并且收回在user表中该用户拥有的全局权限。例如,管理员撤销用户admin@localhost对数据库xsxk所拥有的创建、创建数据库及表的权限,并撤销该用户可以把自己所拥有的权限授予其他用户的权限,可使用以下命令。
2024-01-23 14:59:37
155
转载 Mysql8存储GIS数据,QGIS中显示
在创建表时,若不指定坐标系,默认使用SRID 0(表示无限的直角笛卡尔平面,其xy轴未分配任何单位);未指定坐标系时,无法在。以上示例建表时未创建空间索引。
2024-01-22 13:30:00
383
转载 MySQL5.7和MySQL8的区别
为什么用utf8mb4MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了,既然utf8能兼容绝大部分的字符,为什么要扩展utf8mb4?
2024-01-22 10:54:13
2358
转载 CMS回收器、G1回收器、ZGC回收器
截止 JDK 1.8,一共有7款不同的垃圾收集器。每一款的垃圾收集器都有不同的特点,在具体使用的时候,需要根据具体的情况选用不同的垃圾收集器。没有最好的收集器,更没有万能的收集调优永远是针对特定场景、特定需求,不存在一劳永逸的收集器。
2024-01-21 16:35:43
137
转载 kubernetes面试题
1、简述etcd及其特点etcd是CoreOS团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于Go语言实现。特点:简单:支持REST风格的HTTP+JSON API 安全:支持HTTPS方式的访问 快速:支持并发1k/s的写操作 可靠:支持分布式结构,基于Raft的一致性算法,Raft是一套通过选举主节点来实现分布式系统一致性的算法。2、简述etcd适应的场景etc
2024-01-19 15:49:27
78
转载 如何删除macOS系统默认的Python2.7并替换成最新版python3.11
打开官网 https://python.org , 鼠标移动到 Downloads, 直接点击 Python3.11.3 下载 安装。注意该路径其实是一个软链接(类似于Windows系统的快捷方式),通过ls命令查看真实路径是在哪。如果只想输入python命令就可以进入python解释器,你可以设置一个软链接。按照提示安装成功后在终端命令行输入python3.11确认是否安装成功。在终端输入python,显示版本是Python 2.7.15。不只是python这一个命令有设置了软连接,其实还有好多命令。
2024-01-15 15:53:37
883
转载 Docker常用命令
当我们以守护进程方式运行了一个容器,或以交互模式运行了一个容器,但容器内部执行的日志命令占用了交互命令行(就像以交互模式运行tomcat一样),而此时我们又想进入到容器中对容器内部进行一些操作,此时就需要用到exec/attach命令(推荐使用exec)。说明:docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的,通过端口映射,我们就可以从外部访问宿主机的指定端口来访问到容器的应用。通过该命令的–help可以查看到docker run命令的语法。
2024-01-12 15:35:36
69
原创 curl:(7) Failed to connect to raw.githubusercontent.com port 443: 拒绝连接
安装zsh拒绝连接有没有科学上网怎么办。
2024-01-11 10:36:52
772
转载 Linux系统升级及内核版本升级
etc/yum.repos.d目录下新建主机的yum源,.repos文件中,repositoryid:指定一个仓库,name指定仓库名称, baseurl:指定仓库的URL,mirrorlist指定仓库的镜像站点,enable是否启用本仓库,gpgcheck是否检查软件包的GPG签名,gpgkey:指定GPG签名文件的URL。执行后,系统会检测是否有可升级的程序,如果有,则会列出详细的升级项,并询问你是否升级,确认后,退出当前命令,执行yum -y update自动升级。与此同时,参与Linux。
2023-12-29 14:06:53
1359
转载 mysql宽表和窄表性能比较
执行show table status:1.1、当avg_row_length的值超过100个字节时(定义为宽表),需要看看怎么优化;1.2、当Data_free的值大于0,表明有碎片;最常见的就是where没有索引优先使用主键索引在查询时避免隐式类型转换in太多字段 导致索引失效能不用就不用!=或<>或IS NULL或NOT或or 会导致索引失效不要在查询中使用数学计算,获取时间等函数合理使用force index 强制使用某个索引 有时候可以更高效。
2023-12-20 15:51:35
659
转载 高并发、秒杀场景下的优化思路
CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。功能性、效能性,兼容性、易用性、可靠性(容错)、安全性、可维护性、可移植性。:样式文件、脚本文件、图片、视频、文本等等。
2023-09-14 14:33:28
350
转载 echarts属性的设置大全
// 全图默认背景 // backgroundColor: ‘rgba(0,0,0,0)’,// 默认色板color: [ '#ff7f50' , '#87cefa' , '#da70d6' , '#32cd32' , '#6495ed' , '#ff69b4' , '#ba55d3' , '#cd5c5c' , '#ffa500' , '#40e0d0' , '#1e90ff' , '#ff6347' , '#7b68ee' , '#00fa9a' , '#ffd700' ,.
2022-04-29 19:45:20
1747
转载 一文深入理解 Kubernetes
这篇文章,你要翻很久,建议收藏。Kubernetes,简称 K8s,是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用。k8s 作为学习云原生的入门技术,熟练运用 k8s 就相当于打开了云原生的大门。本文通过笔者阅读书籍整理完成,希望能帮助想学习云原生、以及正在学习云原生的童鞋快速掌握核心要点。学习 k8s 和大家学习 linux 差不多,看似复杂,但掌握了日常熟悉的指令和运行机理就能愉快的使用了,本文的重点和难点是服务、kubernet.
2021-06-26 18:42:43
1448
原创 mybatis是否支持延迟加载?延迟加载的原理是什么
什么是延迟加载? 延迟加载的条件:resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 延迟加载的好处: 先从单表查询、需要时再从关联表去关联查询,大大提高 数据库性能,因为查询单表要比关联查询多张表速度要快。 延迟加载的实例: 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延
2021-06-16 13:16:47
1484
原创 RowBounds是一次性查询全部结果吗
RowBounds 表面是在“所有”数据中检索数据,其实并非是一次性查询出所有数据,因为 MyBatis 是对 jdbc 的封装,在 jdbc 驱动中有一个 Fetch Size 的配置,它规定了每次最多从数据库查询多少条数据,假如你要查询更多数据,它会在你执行 next()的时候,去查询更多的数据。就好比你去自动取款机取 10000 元,但取款机每次最多能取 2500 元,所以你要取 4 次才能把钱取完。只是对于 jdbc 来说,当你调用 next()的时候会自动帮你完成查询工作。这样做的好处可以有效的防
2021-06-16 13:10:21
1669
1
原创 mybatis逻辑分页和物理分页的区别是什么
1.物理分页物理分页就是数据库本身提供了分页方式,如MySQL的limit,oracle的rownum ,好处是效率高,不好的地方就是不同数据库有不同的搞法。自己手写 SQL 分页或使用分页插件 PageHelper,去数据库查询指定条数的分页数据的形式。2.逻辑分页逻辑分页利用游标分页,好处是所有数据库都统一,坏处就是效率低。使用 MyBatis 自带的 RowBounds 进行分页,它是一次性查询很多数据,然后在数据中再进行检索。3.常用ORM框架采用的分页技术①:hiber
2021-06-16 13:07:00
4434
转载 JVM性能调优
1、JVM调优目标:使用较小的内存占用来获得较高的吞吐量或者较低的延迟。 程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpu load过高、请求延迟、tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高,每次垃圾收集清理掉的垃圾数据越来越少)、内存溢出导致系统崩溃,因此需要对JVM进行调优,使得程序在正常运行的前提下,获得更高的用户体验和运行效率。 这里有几...
2021-06-07 09:33:30
167
转载 Hystrix使用说明,配置参数说明
一、什么情况下会触发fallback方法? 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT 执行开始,但没有在允许的时间内完成 YES BAD_REQUEST 执行抛出HystrixBadRequestException NO SHORT_CIRCUITED 断路器...
2021-06-06 16:35:41
1246
转载 深入理解java虚拟机
文章目录 走近JavaJDK、JRE与JVM之间的关系:内存溢出的问题及解决jvm可视化监控工具Java的发展java技术体系Java虚拟机Sun Classic VMExact VMHotSpot VMKVMJRockitJ9DavikMicrosoft JVMAzul VM Liquid VMTaobao VM Java虚拟机的内存管理程序计数器虚拟机栈本地方法栈Java堆方法区运行时常量池对象的创建如何在堆中给对象分配内存线程安全性问题 对象的结构对象的访问定位 垃圾回...
2021-05-29 23:43:48
2078
1
转载 spring aop拦截指定方法和自定义注解
1、使用aop需要加入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop...
2021-04-11 15:43:08
5363
转载 Dubbo 如何实现分布式事务
2019独角兽企业重金招聘Python工程师标准>>> 分布式事务模型 TCC 模型:TCC-Transaction、HmilyXA 模型:Sharding Sphere、MyCAT2PC 模型:raincat、lcnMQ 模型:RocketMQBED 模型:Sharding SphereSaga 模型:ServiceComb Saga TCC TCC事务解决...
2021-03-31 08:16:08
1168
转载 java 类加载执行的过程
JVM的定义 VM(虚拟机)是用软件实现的物理机,Java的一个重要的设计理念就是编写一次,到处运行,而运行的载体,就是VM。编译器会将Java文件编译成 .class 文件,JVM会加载并执行 .class 文件。下面的图展示了JVM的整体架构。 JVM 架构图 JVM在是如何工作的 如上图所示,JVM由三个子系统构成。 类加载系统 (Class Loader Subsystem)执行时数据区域(R...
2021-03-14 20:44:48
324
原创 epoll和select的区别
select原理概述调用select时,会发生以下事情:1.从用户空间拷贝fd_set到内核空间;2.注册回调函数__pollwait;3.遍历所有fd,对全部指定设备做一次poll(这里的poll是一个文件操作,它有两个参数,一个是文件fd本身,一个是当设备尚未就绪时调用的回调函数__pollwait,这个函数把设备自己特有的等待队列传给内核,让内核把当前的进程挂载到其中);4.当设备就绪时,设备就会唤醒在自己特有等待队列中的【所有】节点,于是当前进程就获取到了完成的信号。poll文件操作返回.
2021-03-10 22:23:54
370
转载 ReentrantLock的lock-unlock流程详解
最近一段时间在研究jdk里的concurrent包,分为了线程管理,锁操作以及原子操作三个部分。线程管理平时用得还算多,但是锁操作和原子操作基本就没用过,只是以前在大学的时候跑了几个例子玩玩。当看到ReentrantLock的时候,发现用法倒是和synchronized有点类似也很简单,但是内部原理比较复杂。网上查了关于ReentrantLock的相关内容,没发现有谁把它分析得很透彻,只是有几篇讲了...
2021-03-10 22:00:10
399
转载 分布式锁简单入门以及三种实现方式介绍
很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车! 学过Java多线程的应...
2021-02-28 15:34:15
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人