随笔 基础redis java

2023.4.4心情随笔

松弛感:就是你内心能容纳很多中状态和结果,很少有拧巴和焦虑的感觉。 简单的说,只做好想做和该做的事,对结果没什么执念,内心清澈平静。 不拧巴,不内耗,不做作,不争不抢,不卑不亢,也不用力过猛。 ......
心情随笔 随笔 心情 2023

Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了

如何阻止 Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了 使用 CountDownLatch CountDownLatch、CyclicBarrier 使用区别 多线程 ThreadPoolTaskExecutor 应用 Java BasePooledObjectF ......
线程 SpringBoot 单元 Java Test

【Java 并发】【八】【Atomic】【三】LongAdder的原理-分段锁提升并发性能

1 前言 上一节我们讲解了cas的缺陷,无法同时更新多个变量、以及ABA的问题。以及如果使用AtomicReference解决同时更新多个变量,如果使用AtomicStampedReference解决ABA的问题,这节我们就来讲解CAS带来的另外一个问题,在并发激烈的时候,产生大量的自旋,空耗CPU ......
LongAdder 原理 性能 Atomic Java

决战圣地玛丽乔亚Day48----Redis常见问题处理

热点数据倾斜是什么?如何解决和处理? 数据量倾斜和访问热点数据造成倾斜: 数据量倾斜:1.bigkey 2.hashtag不规范 3. 槽位分配不均 数据访问倾斜:1.拆key 2.扩容 3.本地缓存 如果是bigkey导致的倾斜: 在业务层生成数据时,要尽量避免把过多的数据保存在同一个键值对中。如 ......
常见问题 常见 问题 Redis Day

【Java 并发】【八】【Atomic】【三】AtomicReference、AtomicStampReference原理

1 前言 上节我们看了AtomicInteger、AtomicBoolean的原理,这一篇我们就来说说Atomic系列的另一个分类AtomicReference和AtomicStampReference。 2 多个变量修改的原子性 JUC虽然提供了AtomicInteger、AtomicBoolea ......

NetSuite : SDF 基础指南

VS Code 使用 SDF SuiteCloud : Create Project SuiteCloud : Set Up Account (连接沙盒环境) SuiteCloud : Import Objects Objects 目录下会新增脚本 xml 文件,整体文件结构如下 建议:把脚本 xm ......
NetSuite 基础 指南 SDF

Java新手的随笔

算术运算符:+,-,*,/,%(求余),++(自加),-- a=3,b=a++,c=++a 运行上三个之后a=5,b=3,c=5 赋值运算符 := 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,||,! 位运算符:&,|,^,~,>>(右移),<<(左移),>> ......
随笔 新手 Java

Redis哨兵和cluster集群

1、什么是哨兵模式哨兵模式:可以自动切换解决单点故障,但是不能负载均衡,存储能力受限制。 哨兵核心功能:在主从复制的基础上,实现了主节点的自动故障转移 2、哨兵的作用监控:监控主节点和从节点是否在正常运行 故障自动转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从 ......
哨兵 集群 cluster Redis

java笔记(this,super,override,instanceof,static)

super关键字的一些注意事项 子类在执行构造方法时,如果显式使用super()显式调用父类构造方法,则该调用必须放代码块在第一行 super必须出现在子类的方法或者构造方法中 使用this()显示调用构造方法,则该调用必须放在代码块第一行 由于第一条和第三条限制,super和this不能同时调用构 ......
instanceof override 笔记 static super

决战圣地玛丽乔亚Day47----Redis集群

4.Redis Cluster 集群模式 如果单机吞吐量过大,我们可以横向和纵向进行扩展,横向就是加节点(scale out),纵向就是加配置(scale up)。 如果加配置,治标不治本,单机局限性和持久化问题无法解决(如轮式RDB快照还是AOF指令) 横向扩展更容易扩展,可以解决很多问题,包括单 ......
集群 Redis Day 47

MYSQL基础知识之DCL语句

1、DCL概念 DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据的访问权限 2、查询用户 语法:SELECT * FROM user; MySQL用户信息默认存储在mysql数据库中的user表中,所以只需要查询mysql数据库中的user表即 ......
语句 基础知识 基础 知识 MYSQL

1、分库分表基础理论(一)

在高性能系统的要求下,复杂的系统当单表数据量增加到几千万甚至上亿条记录时,查询延迟无疑是影响高性能系统的瓶颈。业内提供的解决的方案是分库分表,冷热数据分离。 一、分库分表: 1、垂直分片: 按照业务维度将表拆分到不同的数据库,专库专用,分担数据库压力 2、水平分片: (1)、水平分库 以字段为依据, ......
分表 分库 基础理论 理论 基础

JAVA第三次作业

分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) 方法一: package xhy; public class Text { public static void main(String[] args) { // TODO Auto-gene ......
JAVA

【Java 并发】【八】【Atomic】【二】AtomicInteger、AtomicBoolean原理

1 前言 这节我们从AtomicInteger这个比较简单的原子类开始,来看看AtomicInteger的底层原理。 2 实测样例对比线程安全性 在说AtomicInteger的底层原理之前呢,我们先来看个例子感受下原子类: static修饰的共享变量,我们开启两个线程对共享变量进行10000次+1 ......

Quarkus系列——集成Redis(四)

前言 reids是我们在进行后端开发的时候常用到的一个中间件,常用于实现分布式缓存,分布式锁。我们在SpringBoot中可以很方便的通过stater来集成redis。在Quarkus中官方为我们提供了redis的client虽然比起Spring用起来略显简陋但是稍微改造下也能满足我们日常需要。 准 ......
Quarkus Redis

MYSQL基础知识之DQL语句

1、DQL概念 DQL英文全称是Data Query Language(数据查询语言),用来查询数据库中的表的记录 2、基本查询 语法: # 查询全部字段SELECT * FROM 表名; # 查询多个字段SELECT 字段1,字段2,字段3... FROM 表名; # 去重 语法:SELECT D ......
语句 基础知识 基础 知识 MYSQL

如何用java校验SQL语句的合法性?(提供五种解决方案)

方案一:使用JDBC API中提供的Statement接口的execute()方法 要在Java中校验SQL语句的合法性,可以使用JDBC API中提供的Statement接口的execute()方法。这个方法会尝试执行给定的SQL语句,如果SQL语句不合法,则会抛出一个SQLException异常 ......
语句 合法性 解决方案 方案 java

java学习日记20230404-String类

String类 String对象用于保存字符串,也就是一组字符序列; 字符串常量对象使用双引号包括起来的字符序列 字符串的字符使用unicode字符编码,一个字符(不区分字母还是汉字)占用两个字节 String常用的构造器: new String(); new String(String origi ......
20230404 日记 String java

Java第三次 上机练习+作业

上机练习: 1.分别使用for循环,while循环,do循环求1-100之间所有能被3整除的整数的和。(知识点:循环语句) public static void main(String[] args) { // TODO Auto-generated method stub int sum=0; f ......
Java

MYSQL基础知识之DML语句

1、DML概念 DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据进行增(INSERT)、删(DELETE)、改(UPDATE)操作 2、插入数据 语法: 2.1、 给指定字段添加数据INSERT INTO 表名 (字段1,字段2,...) ......
语句 基础知识 基础 知识 MYSQL

Vavr——一个颠覆JAVA的库

前言 Java8 在一定程度上支持了函数式编程,但标准库提供的函数式 API 不是很完备和友好。为了更好的进行函数式编程,我们就不得不借助于第三方库,而 VAVR 就是这方面的佼佼者,它可以有效减少代码量并提高代码质量。本文旨在快速的介绍一个VAVR提供的一些功能,以便我们能够快速入门VAVR。本文 ......
Vavr JAVA

剑指offer(Java)-数组中的逆序对(困难)

题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 解题思路: 这道题的核心在于 归并排序,在归并排序的基础上进行求解 逆 ......
逆序 数组 offer Java

【Java 并发】【八】【Atomic】【一】JUC下的Atomic原子类体系概览

1 前言 这节我们就开始看看Atomic原子类系列,JUC包下提供的原子类底层的实现原理基本都是差不多的,都是基于volatile和CAS操作来保证线程安全的,我们后续会着重分析几个类。 2 概览 我们看下JUC下边都有哪些原子类: 看上面的图形,我们使用红色圈中的那些,就是我们要着重讨论的,一共分 ......
Atomic 概览 原子 体系 Java

Java 正则表达式

java.util.regex 包主要包括以下三个类: Pattern 类: pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一 ......
正则 表达式 Java

java序列化 和 json序列化 速度对比

结论 数据包大小区别不大。 但是小对象 json 快,约快3倍。 大对象java的序列化速度慢慢追平json(单个对象json长度3000的左右追平),这个可能和java对象转json有关系,但是装换这步在序列化前必不可可少 另外序列化和不止和对象大小有关还和字段数量有关系,这个因素我没测试,我这里 ......
序列 速度 java json

Java基础

本文是作者通过学习B站韩顺平老师2021年的《30天学会Java》和尚硅谷宋红康老师的《Java》视频写的Java学习笔记,也是作者写的第一篇关于编程开发语言的笔记,内容可能有些冗余,但是它可以作为你的在线Java”词典“查阅。关于文末的JDK新特性还会持续补充。如果文中有什么错误欢迎评论区留言,作... ......
基础 Java

Java-Day-3(运算符 + 标识符 + 键盘输入)

Java-Day-3 运算符 算术运算符 关系运算符 [ 比较运算符 ] 逻辑运算符 赋值运算符 三元运算符 位运算符 [ 需要二进制基础 ] 算术运算符 +、-、*、/ System.out.println(10.0 / 4); //2.5 double d = 10 / 4; //2.0 //数 ......
标识符 运算符 标识 Java-Day 键盘

django前后端分离本地缓存,后续需要配置在redis

如何使用: from django.core.cache import cache cache.set('key', value可以是任意数据类型) cache.get('key') 应用场景: 第一次查询所有图书,通过多表联查序列化后的数据,直接缓存起来 后续,直接进入缓存查,如果有直接返回数据, ......
缓存 django redis

day02-搭建微服务基础环境01

搭建微服务基础环境01 1.创建父工程,用于聚合其他微服务模块 1.1创建父项目 说明:我们先创建一个父项目,该父项目会去管理多个微服务模块(module),如下: (1)File-New-Project-Maven,选择如下: (2)输入项目名称等信息,然后next (3)选择Maven,然后Fi ......
环境 基础 day 02

MYSQL基础知识之DDL语句

一、DDL概念 DDL(Data Definition Language)语言:数据定义语言,用来定义数据库对象,如数据库、数据表和数据字段,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。 二、数据库操作 2.1、linux环 ......
语句 基础知识 基础 知识 MYSQL