• 介绍java中Pair(配对)

    目录 介绍java中Pair 核心java配对实现 Pair类 AbstractMap.SimpleEntry 和 AbstractMap.SimpleImmutableEntry Apache Commons Vavr库 总结 介绍java中Pair 在这篇文章中,我们讨论了一个非常有用的编程概念,配对(Pair).配对提供了一种方便方式来处理简单的键值关联,当我们想从方法返回两个值时特别有用. 关于Java中的Pair用法 在核心Java库中可以使用配对(Pair)的实现.除此之外,某些第三

    2024-09-07
  • MySQL事务与隔离级别的使用基础理论

    目录 什么是事务 事务四大特性ACID 并发事务问题 脏读 不可重复读 幻读 事务隔离级别 什么是事务 事务就是一组操作的集合,事务将整组操作作为一个整体,共同提交或者共同撤销 这些操作只能同时成功或者同时失败,成功即可提交事务,失败就执行事务回滚 MySQL的事务默认是自动提交的,一条语句执行成功,MySQL将会隐式的提交事务 以转账为例,张三向李四转账1000元 这个整体行为包含三个操作:首先查询张三账户的余额,其次将张三账户余额-1000,最后将李四账户余额+1000.事务就是将这三个操作

    2024-09-07
  • opencv实现图像倾斜校正

    本文实例为大家分享了opencv实现图像倾斜校正的具体代码,供大家参考,具体内容如下 今天的任务是如图这两种情况,我现在的情况是和如图一样的,左图左边倾斜一点儿,那么我需要把左边压低倾斜校正.右图,右边倾斜我需要把右边下压到水平位置倾斜校正.我的场景不会有大角度的倾斜,就这么点可能的不会超过45°的小角度.标准的传统图像处理方法.首先就是灰度,二值化,取轮廓,筛选得到目标(面积最大的那个),得到倾斜角度,转正.具体过程就不详细说了,都在代码里面一看就懂.效果图如下: #include <iost

    2024-09-07
  • Python图像处理之图像算术与逻辑运算详解

    目录 一.图像加法运算 二.图像减法运算 三.图像与运算 四.图像或运算 五.图像非运算 六.图像异或运算 七.总结 一.图像加法运算 图像加法运算主要有两种方法.第一种是调用Numpy库实现,目标图像像素为两张图像的像素之和:第二种是通过OpenCV调用add()函数实现.第二种方法的函数原型如下: dst = add(src1, src2[, dst[, mask[, dtype]]]) – src1表示第一张图像的像素矩阵 – src2表示第二张图像的像素矩阵 – dst表示输出的图像,必

    2024-09-07
  • C#中List<T>存放元素的工作机制

    List<T>是怎么存放元素?我们扒一段List<T>的一段源码来一窥究竟. using System; using System.Diagnostic; using System.Collections.ObjectModel; using System.Security.Permissions; namespace System.Collections.Generic { ... [Serializable()] public class List<t> : ILi

    2024-09-07
  • MySQL DQL语句的具体使用

    目录 DQL 基本语法 基础查询 条件查询 语法 条件 案例 聚合函数 DQL DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录. 基本语法 DQL 查询语句,语法结构如下: SELECT字段列表 FROM表名列表 WHERE条件列表 GROUP BY分组字段列表 HAVING分组后条件列表 ORDER BY排序字段列表 LIMIT分页参数 基础查询 1.查询多个字段 SELECT 字段1, 字段2, 字段3 ... FROM 表名

    2024-09-07
  • Java处理不可见特殊字符要点解析

    看下图所示,两个空字符串不相等 因为str中有不可兼得特殊字符,可以在debug中将str的值复制出来,然后粘贴到双引号中们就可以看到这个字符的真面目,如下图所示: \uFEFF为控制字符,名为"零宽不折行空格(Zero Width No-Break Space)",此外,类似的不可见字符还有\u202A(从左至右嵌入).\u202E(从右至左强制)等控制字符 那我们事怎么遇到这些控制字符的呢? 在读取文件或者从某文件属性中直接复制路径经常会遇到这种问题 在开发中可以对获得的字符串进行

    2024-09-07
  • Javaweb实现邮件发送

    本文实例为大家分享了Javaweb实现邮件发送的具体代码,供大家参考,具体内容如下 发送邮件使用的是SMTP协议:一般是smtp.xxx.com ,比如smtp.qq.com 接收邮件:POP3协议 附件:MIME 使用Java发送邮件需要准备JavaMail API 和 Java Activation Framework 得到两个jar包 mail.jar activation.jar import com.sun.mail.util.MailSSLSocketFactory;   impor

    2024-09-07
  • RecyclerView优雅实现复杂列表布局

    这次学习的内容是使用RecyclerView来实现一些较为复杂的布局,比如一个item: 最左边是一个imageview,中间部分为textView,textView下面又是一个textView,最右边为一个imageview. 1.首先在activity_main.xml中添加RecyclerView,随后正如之前所说的分别针对左中右新建3个XML布局文件命名为item_type_one.two.three.随后对其进行布局配置. 2.新建一个adapter添加模拟数据.然后针对布局新建三个v

    2024-09-07
  • Guava中这些Map技巧可以让代码量减少了50%

    目录 前言 Table - 双键Map 1.获得key或value的集合 2.计算key对应的所有value的和 3.转换rowKey和columnKey 4.转为嵌套的Map BiMap - 双向Map 1.反转后操作的影响 2.value不可重复 Multimap - 多值Map 1.获取值的集合 2.操作get后的集合 3.转换为Map 4.数量问题 RangeMap - 范围Map ClassToInstanceMap - 实例Map 总结 前言 Guava是google公司开发的一款J

    2024-09-07
  • 安卓逆向半次元app逆向分析源码

    目录 前言 一.案例 二.分析 1. jadx反编译 2.ida分析so层 3. Frida 3.1 hook结果 4. 算法还原 总结 仅供学习交流,禁止商业用途.如侵害利益,联系必删! 前言 最近一位小伙伴钟爱二次元文化,于是找到半次元这个app,但是很快他就遇到了问题. 一.案例 样本: 半次元 v5.0.6 工具: jadx-gui.ida.frida 问题描述: POST请求body中的data加密,那要想动态模拟请求数据,就需要逆向分析data如何加密的了. 二.分析 1. jadx

    2024-09-07
  • 详谈@Cacheable不起作用的原因:bean未序列化问题

    目录 @Cacheable不起作用的原因:bean未序列化 是返回的Blogger自定义实体类没有实现序列化接口 @Cacheable注解式缓存不起作用的情形 使用注解式缓存的正确方式 @Cacheable不起作用的原因:bean未序列化 SpringMVC中将serviceImpl的方法返回值缓存在redis中,发现@Cacheable失效 是返回的Blogger自定义实体类没有实现序列化接口 无法存入到redis中.implements一下Serializable接口即可! @Cacheab

    2024-09-06
  • Java中的getClass()以及getName()方法使用

    目录 getClass()及getName()方法使用 getClass getName 关于getClass()与getName()一道题 在牛客网上看到的一道题目 getClass()及getName()方法使用 getClass public final Class<?> getClass() 返回此 Object 的运行时类.返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象. Java的引用变量有两个类型,编译时类型和运行时类型.编译时类型

    2024-09-06
  • Python递归时间复杂度

    目录 思路一:for循环 思路二:递归 递归也是常见算法之一,其时间复杂度一般认为O(logn),但递归算法的时间复杂度本质上是要看: 递归的次数 * 每次递归中的操作次数 举例面试题:求x的n次方 思路一:for循环 def x_n(x,n):     """     时间复杂度O(n)     """     if n==0:         return 1          return x*x_n(x,n-1)      if __na

    2024-09-06
  • idea安装hsdis的方法

    下载 根据控制台报错提示,下载需要的包,放在jdk/jre/bin/server下 hsdis-amd64.dll hsdis-i386.dll 设置 1.run->edit config->设置VM参数为: -server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:CompileCommand=compileonly 2.指定jre PrintAssembly is disabled 放入jre/lib下 hsd

    2024-09-06
  • python利用scatter绘画散点图

    目录 scatter绘画散点图代码如下: import matplotlib.pyplot  as plt plt.scatter(x,y,                 s = 20                 c='b'                 marker='o'                 cmap=None,                 norm=None,                 vmin=None,                 vmax=None,

    2024-09-06
  • php将ppt转jpg图片的具体步骤代码

    PHP将ppt转成图片查看 PHP安装COM组件 1.如php版本>5.3.15,需要保证ext文件夹下有php_com_dotnet.dell 并在php.ini中加入. extension=php_com_dotnet.dll 2.去除com.allow_dcom = true前面的';'号. com.allow_dcom = true 实例 $powerpnt = new COM("powerpoint.application") or die("Unable t

    2024-09-06
  • mysql模糊匹配多个值的两种方法实例

    目录 要求:实现mysql中对同个字段进行多个匹配值的模糊查询 方法一:将like作为连接条件 方法二:正则表达式搭配group_concat函数 总结 要求:实现mysql中对同个字段进行多个匹配值的模糊查询 先看数据表: 目标是在user表中,匹配出姓氏在family_info表中的记录. 方法一:将like作为连接条件 将查询表与需要匹配的多个值(可以是表或select子句结果)进行左连接,以字段使用like模糊匹配作为连接条件,再对连接结果进行非空过滤. 先看like模糊匹配作为连接条件

    2024-09-06
  • Vue事件的基本操作你知道吗

    目录 1.事件的基本操作 1.1v-on 1.1.1v-on的小案例 1.2事件修饰符 1.2.1事件修饰符代码解析 1.3键盘事件 1.4计算属性(computed) 1.5监视属性(watch) 1.5.1watch和computed的区别 总结 1. 事件的基本操作 1.1 v-on 功能:绑定指定事件名的回调函数 标准写法: v-on:click='xxx' v-on:keyup='xxx(参数)' v-on:keyup.enter='xxx' 简便写法: @click='xxx' @k

    2024-09-06
  • JetBrains公司三大编辑器迭代循环模板快捷键详解

    目录 1.Clion 2.IDEA 3.PyCharm JetBrains公司三大编辑器迭代循环模板快捷键 1.Clion Ctrl+J // 循环模板快捷,如可生成如下for循环模板: for (int i = 0; i < ; ++i) { } 选中某代码块,Ctrl+Alt+T // 对某一代码块生成if/else.do/while等模板,如if/else模板: if () { printf("Hello world"); } else { } 2.IDEA fori+en

    2024-09-06
yixingzi wulianji zhihuizuan yunmashang pengyihao