缓存 算法java lru

java distinct 无法为泛型去重

针对distinct无法为List<User>之类的去重。 所以这里简单说一下方案。 本质上是重写对象的equals方法。 但是这里有一个偷懒的方式。 就是直接使用@Data (来自Lombok的注解) 因为@Data 一样会重写equals 和 hashcode方法。 所以,直接使用@Data来代 ......
distinct java

Redis 7.0性能大揭秘:如何优化缓存命中率?

Redis 7.0,这货不仅仅是一个简单的缓存工具,它更是一款高性能的数据结构服务器。现在,大家都知道缓存命中率对性能影响特别大,但怎么优化它呢? 本文,已收录于,我的技术网站 ddkk.com,有大厂完整面经,工作技术,架构师成长之路,等经验分享 1、合理设计键值结构 Redis的数据结构和键的设 ......
命中率 缓存 性能 Redis 7.0

java等比例压缩图片

1、如果上传图片过大,有好几兆,甚至几十兆,那么用java代码处理一下,等比例压缩成指定像素大小。 比如,一张1920*1880像素的图片,有9.7M。 处理后的效果:长宽与原来一样,只是像素变小,自定义指定为800*600像素,最后图片只有970KB,连一M都没有 压缩代码: public sta ......
图片 java

文心一言 VS 讯飞星火 VS chatgpt (172)-- 算法导论13.3 1题

一、用go语言,在 RB-INSERT 的第 16 行,将新插人的结点 z 着为红色。注意到,如果将 z 着为黑色,则红黑树的性质4就不会被破坏。那么为什么不选择将 z 着为黑色呢? 文心一言: 在红黑树中,节点被着色为红色或黑色,以满足红黑树的五个性质。性质4指出,每个节点要么是红色,要么是黑色, ......
文心 导论 算法 chatgpt VS

java 不重复的list(集合)

在Java中,可以使用Set接口的实现类来创建一个不重复的列表。Set接口不允许重复元素,因此可以保证列表中的元素不重复。 import java.util.HashSet; import java.util.Set; public class Main { public static void m ......
java list

vue2-diff算法手写一步步增加功能

前面 vue2 diff算法尽可能复用原来的老节点(比如老节点头尾跟新节点头尾看看是不是同一个节点,是的话打个补丁(更新class什么的,然后他的子节点继续调用这个diff算法), 没有找到可复用的就重新创建)。代码行数也不多,核心函数是 updateChildren vue patch工作流程简单 ......
算法 vue2-diff 功能 diff vue2

【算法】【线性表】【数组】分发糖果

1 题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 示例 1: 输入:ratin ......
数组 线性 算法 糖果

[转帖]MySQL数据库8.0.29-8.0.31版本使用 INSTANT 算法新增字段bug

https://www.cnblogs.com/harda/p/17528512.html xxx下发MySQL数据库共性隐患排查通知,要求统一排查MySQL数据库8.0.29及以后版本使用 INSTANT 算法新增字段后期变更回滚可能导致数据库宕机的隐患,排查方法及整改方法详见下表和附件。请各分支 ......
字段 算法 INSTANT 版本 数据库

[RFC6238] TOTP: 基于时间的一次性密码生成算法

原创 翎野君 翎野君 2019-03-28 22:42 在闲暇时间做了一个TOTP相关的开源项目,在项目初步完成之余,我尝试对[RFC6238]文档进行了翻译,供大家参考与查阅,若有不妥之处,还望各位前辈海涵斧正。 生活中我们会经常使用到TOTP的算法应用,如银行的动态口令器、网络游戏中的将军令、登 ......
算法 一次性 密码 时间 6238

Dating Java8系列之通过行为参数化传递代码

翎野君/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向标 ......
行为 参数 代码 Dating Java8

JAVA内存分配

[JAVA的内存分配] 栈(Stack):主要用来存放局部变量。 堆(Heap):凡是new 出来的东西都在堆种。堆中的数据有默认值规则。 a 如果是整数,默认是0. b 如果是浮点数,默认是0.0; c 如果是字符,默认是'\u0000'(Unicode写法); d 如果是布尔值,默认为false ......
内存 JAVA

AutomaticKeepAliveClientMixin 缓存PageView页面

一旦页面滑出屏幕它就会被销毁 ,实际项目开发中对页面进行缓存是很常见的一个需求,下面我们就看看如何使用AutomaticKeepAliveClientMixin 缓存页面。 注意:使用时一定要注意是否必要,因为对所有列表项都缓存的会导致更多的内存消耗。 class MyPage extends St ......

Dating Java8系列之Java8中的‘流’

翎野君/文 流的概念 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。 代码:按价格排序后得到手机名称列表 使用新的流式方法有几个显而易见的好处。 代码是以声明性方式写的 ......
Java8 Java Dating

Dating Java8系列之Java8中的流操作

翎野君/文 本次我们会使用到很多的流操作,如筛选、切片、映射、查找、匹配和归约,这些操作可以让我们能快速完成复杂的数据查询。 筛选和切片 用谓词筛选 Streams接口支持filter方法。该操作会接受一个谓词(一个返回 boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流。 Lis ......
Java8 Java Dating

Dating Java8系列之用流收集数据

翎野君/文 收集器简介 1.收集器介绍 Java 8中流支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。 中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作会 ......
数据 Dating Java8 Java

Dating Java8系列之并行数据处理

翎野君/文 分支合并框架 分支合并框架介绍 分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。 它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须 ......
数据处理 数据 Dating Java8 Java

Dating Java8系列之default默认方法

翎野君/文 引言 传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。 不断迭代的API 默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。 理解演进迭代 为了理解为什么一旦AP ......
default 方法 Dating Java8 Java

Dating Java8系列之新的日期和时间

翎野君/文 旧的日期时间 在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类。正如类名所表达的,这个类无法表示日期,只能以毫秒的精度表示时间。更糟糕的是它的易用性,由于某些原因和未知的设计决策,这个类的易用性被深深地损害了,比如:年份的起始选择是1900年,月份的起始从0 ......
日期 时间 Dating Java8 Java

Dating Java8系列之Lambda表达式和函数式接口(上)

翎野君/文 Lambda简介 我们可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式。它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 匿名:我们说匿名,是因为它不像普通的方法那样有一个明确的名称。 函数:我们说它是函数,是因为Lambda函数不像方法 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之Lambda表达式和函数式接口(下)

翎野君/文 使用函数式接口 函数式接口定义且只定义了一个抽象方法。 函数式接口很有用, 因为抽象方法的签名可以描述Lambda表达式的签名。 为了应用不同的Lambda表达式,你需要一套能够描述常见函数描述符的函数式接口。 Java 8的库设计师帮我们在java.util.function包中引入了 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之巧用Optional之优雅规避NPE问题

翎野君/文 避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见的 ......
Optional Dating 问题 Java8 Java

java流式分组(groupBy)生成TreeMap

java流式分组(groupBy)生成TreeMap 哈哈哈,扫地生(saodisheng/sds)又回来啦。过去一坤年,啊不!应该是近一年,很少在博客上分享个人的学习笔记和平时遇到的疑难杂症了。而今,SDS 重新更新啦。 今天要记录的是一个关于流式分组 groupBy生成有序map的过程; 具体过 ......
groupBy TreeMap java

代码随想录算法训练营第二十三天 | 669. 修剪二叉搜索树,108.将有 序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树

一、669. 修剪二叉搜索树 题目链接: LeetCode 669. 修剪二叉搜索树 学习前: 思路: 递归。节点非空时的值与目标区间[low,high]右三种情况 节点值小于low 返回递归调用节点右孩子结果,即它右子树剪枝后的根节点 节点值大于high 返回递归调用节点左孩子结果,即它左子树剪枝 ......
随想录 训练营 数组 随想 算法

构建健康游戏环境:DFA算法在敏感词过滤的应用

现在的游戏有敏感词检测这一点,相信大家也不陌生了,不管是聊天,起名,签名还是简介,只要是能让玩家手动输入的地方,一定少不了敏感词识别,至于识别之后是拒绝修改还是星号替换,这个就各有各的做法了,但是绕不开的一定是需要高效的敏感词检测机制。 相信大家对于游戏里聊天框的以下内容已经不陌生了 "我***" ......
算法 环境 DFA

使用 Java 故意消耗 Cpu 和内存的代码

https://blog.csdn.net/weixin_70730532/article/details/124732635 apt install openjdk-8-jdk javac ResouceManageService.java 为什么要故意消耗 Cpu 和内存?在项目交付时有时会申请 ......
内存 代码 Java Cpu

强化学习算法中的梯度和更新公式在代码的哪里体现?

这些一般在算法的更新函数中体现,即训练--优化中体现。 一般以损失的形式表现,然后调用loss.backward()函数进行优化。 计算损失 反向传播 梯度下降 调用优化器的step函数实现。 如果公式中有期望那么就需要mean函数 ......
梯度 算法 公式 代码

算法学习Day23二叉搜索树的修剪,转化

Day23二叉搜索树的修剪,转化 By HQWQF 2024/01/04 笔记 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 ......
算法 Day 23

算法期末考复习 part 3

回溯法 回溯代码 ......
算法 part

day08 代码随想录算法训练营 卡码网:55.右旋转字符串

题目:卡码网:55.右旋转字符串 我的感悟: python中的切片很厉害。 我感觉go好像也是切片的 理解难点: 没理解为什么是-n 代码难点: 总结概括: 代码示例: n = int(input()) s = input() res = s[-n:] + s[:-n] print(res) 通过截 ......
随想录 训练营 字符串 随想 算法

如何学习算法

怎么学算法? sbldehanhan · 6 天前 · 2011 次点击 leetcode 上的题稍微难一点就做不出来。 什么原因呢?数学问题?算法问题?还是刷题太少? 怎么解决呢? 算法 leetcode 数学 稍微 22 条回复 • 2023-12-29 22:37:29 +08:00 1 Ys ......
算法
共15700篇  :12/524页 首页上一页12下一页尾页