线程redis java p25
线程池
一、Executor 利用Executors创建不同的线程池满足不同场景的需求 1、newFixedThreadPool(int nThreads) 制定工作线程数量的线程池 2、newCachedThreadPool() 处理大量短时间工作任务的线程池 试图缓存线程并重用,当无缓存线程可用时,就会 ......
java语法
一、数据类型 1、基本数据类型 2、引用数据类型:String 二、类型转换 1、自动类型转换 存在不同类型的变量赋值给其他类型的变量 (1)类型范围小的变量,可以直接赋值给类型范围大的变量 2、表达式自动类型转换 3、强制转换 注意:强制类型转换可能会造成数据(丢失)溢出 浮点型转成整型,直接丢掉 ......
Redis持久化机制详解
Redis持久化机制详解 1. RDB 持久化 Redis 可以通过创建快照来获得存储在内存里面的数据在 某个时间点 上的副本。Redis 创建快照之后,可以对快照进行备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本(Redis 主从结构,主要用来提高 Redis 性能),还可以将快 ......
Java流程控制-Scanner对象
Scanner对象 我们可以通过 Scanner 类来获取用户的输入 基本语法 Scanner s = new Scanner(System.in); 通过 Scanner 类的 next() 与 nextLine() 方式来获取输入的字符串,在读取之前我们一般需要使用 hasNext() 与 ha ......
Java Lambda 表达式
目录简介语法区别 简介 Lambda 表达式是 JDK 8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。但 Lambda 表达式并不能取代所有的匿名内部类,只能用来取代函数接口(Functional Interface ......
JAVA类和对象
[JAVA的类和对象] 类是一个抽象的概念。 对象则是能用来实现具体功能。 例如:Scanner sc=new Scanner(System.in) Scanner 是类,sc是对象。 我们一般通过sc.xxx来实现输入。 类 类定义了成员变量和成员方法 类是一种引用数据类型 使用 1.导包 -如果 ......
检测IPV6地址是否合法的Java工具类
import java.math.BigInteger; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class ipv6 { private static final Charact ......
【从零开始重学Java】第3天
前情提示 从零开始重学Java 第0天 从零开始重学Java 第1天 从零开始重学Java 第2天 表达式和流程控制语句 表达式 操作数 常量 (只有简单数据类型和String) 变量 运算符 位运算只对字符char和整型生效 Java里 <<(算术)左移 >>(算术)右移 >>>无符号(逻辑)右移 ......
JAVA方法重载(函数)
[JAVA方法] 方法重载 重载指的是多个方法名称相同,但参数列表不同 参数列表不同分为: 参数个数不同 参数类型不同 参数的多类型顺序不同 注意事项 一个表达式中的最后结果以数据类型范围大的为结果的数据类型。 无法因为返回值类型不同进行重载。 参数传递 对于引用类型,形式参数的操作会影响实际参数。 ......
java 包和访问修饰符
免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动 java 包和访问修饰符 1.1 包 包的三大作用 区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围 基本语法:pagckage co ......
java面向对象:类(二)
1.Java面向对象:类 1.1 作用域 1.1.1 基本使用 面向对象中,变量作用域是非常重要的知识点 在java编程中,主要的变量就是属性(成员变量)和局部变量 我们所获得局部变量一般是指在成员方法中定义得变量 java中作用域得分类: 全局变量:也就是属性,作用域为整个类,可以不赋值,直接使用 ......
swoole运行Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系
Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系 Master 进程 Master 进程是一个多线程进程 Reactor 线程 Reactor 线程是在 Master 进程中创建的线程 负责维护客户端 TCP 连接、处理网络 IO、处理协 ......
java基础语法(上):变量与运算符
关键字与保留字 关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html 保留字 Java保留字 ......
Java编译原理
概述 java语言的"编译期"分为前端编译和后端编译两个阶段。前端编译是指把*.java文件转变成*.class文件的过程; 后端编译(JIT, Just In Time Compiler)是指把字节码转变成机器码的过程。在编译原理中, 将源代码编译成机器码, 主要经过下面几个步骤: Java中的前 ......
Java基础语法(下):程序流程控制
程序流程控制 顺序结构 分支结构 分支语句1: if-else结构 if-else使用说明 1、条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量 2、语句块只有一条执行语句时,一对{}可以省略,但建议保留 3、if-else语句结构,根据需要可以嵌套使用 4、当if-else结构是“多 ......
用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?
Spring Boot 3.2 于 2023 年 11 月大张旗鼓地发布,标志着 Java 开发领域的一个关键时刻。这一突破性的版本引入了一系列革命性的功能,包括: 虚拟线程:利用 Project Loom 的虚拟线程释放可扩展性,从而减少资源消耗并增强并发性。 Native Image支持:通过N ......
线程池
线程池 七个参数 BlockingQueue workQueue=new ArrayBlockingQueue(10);//最多存放10个任务 ThreadFactory threadFactory= Executors.defaultThreadFactory(); //回抛出异常的回绝策略 Re ......
java定时任务执行器
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); 这段代码使用 Java 的 ScheduledExecutorService 接口和 Executors 类来创建一个单线 ......
聊一聊 C# 的线程本地存储TLS到底是什么
聊一聊 C# 的线程本地存储TLS到底是什么 一:背景 1. 讲故事 有朋友在后台留言让我说一下C#的 ThreadStatic 线程本地存储是怎么玩的?这么说吧,C#的ThreadStatic是假的,因为C#完全是由CLR(C++)承载的,言外之意C#的线程本地存储,用的就是用C++运行时提供的 ......
java桌面小闹钟
写了个桌面的小闹钟,在运行环境可以编译,但是打包成jar文件,想用批处理命令直接调用报错"找不到或无法加载主类". 需求 为防止整天久坐,编写一个桌面闹钟.该闹钟功能很简单,一个小时的倒计时,倒计时结束弹框提示起身运动下.点击确认后重新计时.且有一个复位按钮,可以重新计时. 代码 定义一个1小时的时 ......
前端导出文件 java.io.IOException: Connection reset by peer
一、场景 后端生成zip压缩文件,前端直接导出。 问题:文件小的时候正常导出,大的时候,接口收不到返回的文件流;本地测试没问题,部署线上有问题; 二、原因分析 后台打印日志,发现如下报错日志 java.io.IOException: Connection reset by peer 查阅得知,断开连 ......
Redis 打怪升级进阶成神之路(2023 最新版)!
前面我们学习:MySQL 打怪升级进阶成神之路(2023 最新版)!,然后我们就开始了 NoSQL 卷王之路。从第一篇文章开始,我们逐步详细介绍了 Redis 基础理论与安装配置、9 种数据类型和应用场景、常用管理命令、发布与订阅、事件、事务机制、持久化、主从复制与数据恢复实践、哨兵模式原理与数据恢 ......
java distinct 无法为泛型去重
针对distinct无法为List<User>之类的去重。 所以这里简单说一下方案。 本质上是重写对象的equals方法。 但是这里有一个偷懒的方式。 就是直接使用@Data (来自Lombok的注解) 因为@Data 一样会重写equals 和 hashcode方法。 所以,直接使用@Data来代 ......
CloudCanal x Redis 数据同步指令集丰富与细节优化
简述 CloudCanal 前一段时间支持了 Redis 到 Redis 数据迁移同步能力,并支持其双向同步,但是支持的指令种类有限。 随着用户使用,指令支持不全面成为一个比较大的问题,所以最近的版本,我们对此能力,结合用户实际碰到的问题,进行了新一轮优化。 此轮优化的特点是: 增加数据初始化的类型 ......
Redis 7.0性能大揭秘:如何优化缓存命中率?
Redis 7.0,这货不仅仅是一个简单的缓存工具,它更是一款高性能的数据结构服务器。现在,大家都知道缓存命中率对性能影响特别大,但怎么优化它呢? 本文,已收录于,我的技术网站 ddkk.com,有大厂完整面经,工作技术,架构师成长之路,等经验分享 1、合理设计键值结构 Redis的数据结构和键的设 ......
java等比例压缩图片
1、如果上传图片过大,有好几兆,甚至几十兆,那么用java代码处理一下,等比例压缩成指定像素大小。 比如,一张1920*1880像素的图片,有9.7M。 处理后的效果:长宽与原来一样,只是像素变小,自定义指定为800*600像素,最后图片只有970KB,连一M都没有 压缩代码: public sta ......
java 不重复的list(集合)
在Java中,可以使用Set接口的实现类来创建一个不重复的列表。Set接口不允许重复元素,因此可以保证列表中的元素不重复。 import java.util.HashSet; import java.util.Set; public class Main { public static void m ......
Redis 分片集群
1.Redis分片集群 1.1.搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决: 海量数据存储问题 高并发写的问题 使用分片集群可以解决上述问题,如图: 分片集群特征: 集群中有多个master,每个master保存不同数据。 每个master都可以有多个slav ......
Dating Java8系列之通过行为参数化传递代码
翎野君/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向标 ......