随笔 基础redis java

确保Redis缓存一致性的N种方法

确保Redis缓存一致性的N种方法 1、及时失效法 当程序需要update该数据时,先更新数据库数据数据,若数据库update成功,则重新为Redis该key值设置一个极短的过期时间,当过期之后,下一个请求自然会去数据库获取最新版本的数据 2、互斥锁 当程序需要update数据时,更新完数据库,再去 ......
一致性 缓存 方法 Redis

Java中处理高精度数据计算

1、为什么要使用高精度计算 拿整数举例: 在 Java 中,int 和 long 是两种基本数据类型,而 BigInteger 是一个对象类型。它们的取值范围如下: - int:32 位有符号整数,取值范围为 -2^31 ~ 2^31-1 (即 -2147483648 ~ 2147483647)。 ......
高精 高精度 数据 Java

redis 哈希,集合,有序集合,持久化方案,主从复制,高可用,集群搭建扩容缩容

哈希类型操作方法 hget key field # 获取hash key对应的field的value值 hset key field # 设置 hdel key field # 删除 测试 hset user:1001 age 23 hget user:1001 age hset user:1001 ......
主从 集群 方案 redis

计算机系统基础实验:缓冲区溢出攻击

实验目的 加深对IA-32函数调用规则和栈帧结构的理解 了解关于内存溢出攻击的原理,并通过 5 个 level 关卡的实验对堆栈有进一步理解 通过模拟缓冲区溢出攻击,了解如何去进行栈保护 了解程序的运行时操作以及了解这种形式的安全性弱点的性质,以便编写系统代码时可以避免这种情况 实验内容 对目标程序 ......
缓冲区 计算机 基础 系统

Redis主从切换

1、停止主Redis(模仿主机挂掉) /usr/local/redis6/bin/redis-cli -a "dianshang" -h 192.168.x.x -p 7020 shutdown 2、将从Redis 设成主Redis /usr/local/redis6/bin/redis-cli - ......
主从 Redis

异常:Caused by: java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.CellStyl

1、EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目 a.POI非常耗内存(大的excel需要上G的内存) 系统容易出现OOM b.POI代码也相当复杂,后面在进行维护的时候也不大好操作 2、在往Excel写入数据时出现如下错误 com.alibaba.excel.exc ......

java-动态模块添加注解处理器

前言: 最近接了个任务要在app中接入QQ小游戏sdk。因为该小游戏只是在国内不在googleplay发行,则需要做成动态模块的方式。 步骤 一、在工程中创建动态模块 二、接入QQ小游戏sdk 1、该sdk暂时不支持外部maven,则需要把对应的sdk拷贝到自己的目录下。 2、将对应sdk的aar和 ......
注解 处理器 模块 动态 java

JAVA 按行处理大文件的方法 [多线程]

前一篇文章讲述了单线程处理大文件的方法,虽然解决了内存装不下的问题但是依然存在效率不高的问题。这篇文章介绍的是Java中多线程处理大文件的一种方法,如有疑问欢迎各位大神垂询,我们相互帮助、共同学习。 如果想看单线程处理大文件的那边文章请移步:Java 按行处理大文件的方法 [单线程] 一、问题的提出 ......
线程 文件 方法 JAVA

Java知识点

印度尼西亚爪哇岛盛产咖啡闻名 JavaSE(Java平台标准版)主要应用于桌面应用程序的开发,是Java技术的核心 EE(Java平台企业版)主要应用于网络程序和企业级应用的开发,是Java语言的核心 ME(Java平台微型版)主要应用于手机游戏等消费类设备和嵌入式设备中 Java虚拟机包括JVM解 ......
知识点 知识 Java

基础算法-快速排序

思路 快速排序是一种常见的排序算法,它的基本思路是通过分治的方法将一个大的问题分解成小的问题进行解决。具体而言,快速排序的核心思路是选取一个枢轴元素,将序列分为两个子序列,其中一个子序列的所有元素都比枢轴元素小,而另一个子序列的所有元素都比枢轴元素大,然后对这两个子序列分别进行递归排序,直到子序列的 ......
算法 基础

基础算法-堆排序

思路 堆是一种完全二叉树,其中每个节点的值都大于或等于其子节点的值,被称为“大根堆”;或者每个节点的值都小于或等于其子节点的值,被称为“小根堆”。在堆排序中,我们使用的是大根堆,即根节点的值是最大的元素。 堆排序的基本思路是: 建立一个大根堆。将待排序的序列构建成一个大根堆,即所有非叶子节点的值都大 ......
算法 基础

java 迭代器使用

https://www.cnblogs.com/SjhCode/p/Iterator.html java 迭代器使用 原文链接:https://blog.csdn.net/ACE_kk/article/details/126182500 一、前言在迭代器(Iterator)没有出现之前,如果要遍历数 ......
java

Java WebSocket客户端

https://www.cnblogs.com/SjhCode/p/WebSocketClient.html 注意事项: 1.@Scheduled(fixedDelay = 5000) 2.心跳检测 3.导入依赖与导包 <dependency> <groupId>org.java-websocket ......
WebSocket 客户端 客户 Java

Java-Day-13(抽象类 + 接口 + 内部类)

Java-Day-13 抽象类 ( abstract ) 当父类的某些方法需要声明,但是又不确定如何实现时 ( 主要在于子类的重写时 ),可以将其声明为抽象方法,那么这个类就是抽象类 所谓抽象方法就是没有实现的方法,而所谓没有实现就是指没有方法体 当一个类中存在抽象方法时,需要将该类声明为 abst ......
Java-Day 接口 Java Day 13

java中有关于时间格式以及定时器遇到的问题

https://www.cnblogs.com/SjhCode/p/time.html 时间格式这个是通过Calendar 做时间滚动 //开始时间yyyy-MM-dd HH:mm:ss @Value("${StartTime}") @JsonFormat(timezone = "GMT+8", p ......
定时器 格式 时间 问题 java

【逆向】x64程序逆向基础——调用约定和栈使用

【逆向】x64程序逆向基础 主要区别 1. 所有地址指针都是64位。 2. 增加和扩展新的寄存器,并兼容原32位版本的通用寄存器。 3. 原指令指针寄存器EIP扩展为RIP。 寄存器 1. 64位寄存器兼容原32位寄存器。 2. 新增加8个XMM寄存器(XMM8-XMM15)。 3. 扩展原32位寄 ......
基础 程序 x64 64

Centos7 离线安装指定版本 redis

1、本次安装redis7,官方网站 https://redis.io/download/ 2、安装gcc yum install -y gcc 3、解压 tar zxvf redis-7.0.11.tar.gz -C /usr/local/ 4、编译 cd /usr/local/redis-7.0. ......
Centos7 版本 Centos redis

Java学习笔记(三)

1. 请描述你理解的循环 按照一定次数重复地执行程序,直至达到次数上限,将重复的代码只编写一次,然后再重复执行即可,这样的程序结构就是循环结构。 2. 请描述嵌套for循环执行的过程 嵌套循环是先执行外层循环,然后再执行内层循环。外层循环执行一次,内层执行若干次,当内层执行完以后,则跳到外层循环,开 ......
笔记 Java

mac M2 设置JAVA_HOME不生效

1.打开终端 2. 如果不存在可以使用touch .bash_profile创建一个新文件 3. 复制一下内容,惟一要更改的是版本号 open -e .bash_profile JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/ ......
JAVA_HOME JAVA HOME mac M2

java 字符串切割

1、根据特定的字符,切割整个字符串放置到数组中。 1 String str = "这是,一个,数字,1234567"; 2 String []split = str.split(","); 3 for(int i = 0 ;i<split.length;i++){ 4 System.out.prin ......
字符串 字符 java

java陷阱之stram流toMap指针

当出现key重复 且value有空 则会报控制针异常 userAppOnlineMap = userOnlines.stream().collect(Collectors.toMap(UserOnline::getUserId, AbstractUserOnline::getAppOnline, ( ......
指针 陷阱 stram toMap java

Redis 为何使用Nearly LRU 算法淘汰数据

Redis 使用该 LRU 算法淘汰过期数据吗?不是的。 由于 LRU 算法需要用链表管理所有的数据,会造成大量额外的空间消耗。 大量的节点被访问就会带来频繁的链表节点移动操作,从而降低了 Redis 性能。 Redis的内存空间是很宝贵的,而维护LRU的双向链表需要使用比较多的额外空间,至少需要一 ......
算法 数据 Nearly Redis LRU

k3s 基础 —— 配置 traefik ingress 跨命名空间访问

新增配置文件 /var/lib/rancher/k3s/server/manifests/traefik-config.yaml 参考 apiVersion: helm.cattle.io/v1 kind: HelmChartConfig metadata: name: traefik namesp ......
ingress traefik 基础 空间 k3s

Java中Object转化为int类型

Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化成String类型,然后将String类型转化为int类型。 Object object=null; Integer.parseInt(String.valueOf(object)); 这就是将Object类型转 ......
类型 Object Java int

Java语言获取小红书商品详情 API接口(商品ID、商品标题、价格、原价、卖家昵称、库存、销量、宝贝链接、商品备注、宝贝图片列表、宝贝图片、商品属性名、商品属性图片列表、商品详情、商品规格信息)

小红书是一个生活方式平台和消费决策入口 ,创始人为毛文超和瞿芳。小红书通过机器学习对海量信息和人进行精准、高效匹配。小红书旗下设有电商业务,2017年12月,小红书电商被《​​​​​​​人民日报》评为代表中国消费科技产业的“中国品牌奖”。 Java代码请求示例如下: import java.io.B ......
商品 宝贝 图片 属性 详情

Redis-Cluster(redis集群)

Redis-Cluster(redis集群) Redis-Cluster的背景介绍 1.1存在的问题 1.并发量:单机Redis qps为10w/s,但是我们需要百万级别的并发量 2.数据量:机器内存16-256g,如果存储500g数据呢 1.2解决 # 解决方法:加机器,分布式 redis clu ......
集群 Redis-Cluster Cluster Redis redis

CSS 基础拾遗(核心知识、常见需求)

本篇文章围绕了 CSS 的核心知识点和项目中常见的需求来展开。虽然行文偏长,但较基础,适合初级中级前端阅读,阅读的时候请适当跳过已经掌握的部分。 这篇文章断断续续写了比较久,也参考了许多优秀的文章,但或许文章里还是存在不好或不对的地方,请多多指教,可以评论里直接提出来哈。 核心概念和知识点 语法 C ......
核心 常见 需求 基础 知识

Java8更新Java11, 修复使java11环境生效

原因:jenkins安装新版本时发现不支持java8了, 需要手动删除旧的8更新到11, 再配置环境变量.报错:jenkins: invalid Java version: openjdk version "1.8.0_312" 1.先卸载旧的java8 dnf remove java 2.安装装版 ......
Java 环境 Java8 11 java

常用的Java开发工具IDEA、eclipse比较

常用的Java开发工具比较 ​ 市场上Java 开发常用的编辑器可谓是琳琅满目,令人眼花缭乱,甚至让人难以抉择。所以今天挑选了几款主流的编辑器进行介绍,都是功能比较丰富的IDE,至于大神使用的普通文本编辑器就不再此次考虑范围内,主要介绍IntelliJ IDEA、Eclipse、NetBeans、V ......
开发工具 常用 eclipse 工具 Java

即时通讯系统为什么选择GaussDB(for Redis)?

摘要:如果你需要一款稳定可靠的高性能企业级KV数据库,不妨试试GaussDB(for Redis)。 每当网络上爆出热点新闻,混迹于各个社交媒体的小伙伴们全都开启了讨论模式。一条消息的产生是如何在群聊中传递的呢?让我们一起来探索即时通讯系统(IM)的原理。 IM系统架构的原理 当你在群聊“相亲相爱一 ......
通讯系统 GaussDB 通讯 系统 Redis