摘要:CRC16 算法 循环冗余算法 /** * 循环冗余校验算法 * * 代码中的常量,仅用于提示相关算法,无实际功能 * * @author Mr.css * @version 2024-10-22 10:49 */ public class CRC16Utils { /** * 名称:CRC4 多项
阅读全文
摘要:32 位 UUID 优化建议 32 位的 UUID,最常见的代码:UUID.randomUUID().toString().replace("-",""), 有野心的程序员,追求极致性能的话,会选择优化这一段代码, 可以使用 Long.toHexString(),只是过程需要注意:1L 的 16 进
阅读全文
摘要:把书本读薄,简单介绍一下JWT所具备的特征,最好提前了解 “编码”、“摘要” 和 “加密” 的区别。 JWT简介 JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained
阅读全文
摘要:脱敏不是为了隐藏信息,如果不想其他人查看,直接不展示就行了, 就像拿外卖的时候,我们需要报手机号后四位,脱敏需要保留数据特征,起到校验的功能,但是要求又不需要十分精确。 常见脱敏 * 邮箱:一般保留@之后的内容,用于确定邮箱来源,例如:4132****@qq.com; * 姓名:保留最后一位,不要保
阅读全文
摘要:AES 有多种模式可用:ECB、CBC、CFB、OFB、CTR,常见的有 ECB 模式和 CBC 模式。 安全性 AES的ECB模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。 这种模式是最简单的加密方式,因为每个明文块独立加密,不涉及块之间的依赖。 ECB模式的优点是
阅读全文
摘要:非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey); 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密; 如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。 加密算法会用到Cipher,位于javax.cry
阅读全文
摘要:摘要算法 最常见的例子:java 中的哈希码(hashcode)。 摘要算法,就是将很长的字符串,转换成固定长度的字符串。 你可能会觉得很熟,因为概念与哈希算法、散列算法完全一致,本质上来说,这几个算法是同一个算法。 摘要算法不是加密算法,经过摘要计算之后,数据无法还原。 哈希碰撞 从算法的定义就能
阅读全文
摘要:编码 编码就是将一种数据格式,转换成另一种格式。 常见的例子:数学中的进制转换,其实就是一种编码。 编码的用途:可以解决中文乱码、非法字符等问题,将数据转为更易于阅读的数据,方便人类查看,也方便程序读取。 注意:编码不是加密,编码之后的数据很容易还原,用于加密的话,只防君子而不防小人。 常用的编码:
阅读全文
摘要:Handler机制的写法非常巧妙,之前还在做安卓的时候,就一直很想把代码分离出来。 代码结构完全参考了 Handler,具体实现上,消息队列使用的是 PriorityQueue。 推荐优先学习一下消息队列。 实战价值 spring 环境下,有现成的线程池可用,功能与 handler 类似,因此无需自
阅读全文
摘要:package com.yt.test.test; public class Test { public static void main(String[] args) { // 十六进制 int a16 = 0x0F; int b16 = 0x01 + a16; System.out.printl
阅读全文
摘要:业务场景:应付面试。 实战价值:代码过于复杂难以维护,实际生产不可能手搓线程,执行这种操作。 import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * @au
阅读全文
摘要:此文献给那些被面试题坑了的同志们,至少我被坑过 package com.yt.test.thread.rycle; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import java.u
阅读全文
摘要:GOF概括:为其他对象提供一种代理以控制对这个对象的访问。 代理模式会伴随着程序员走过整个职业生涯,会见到无数这样的代码。 简单地说,就是一个对象,要做某件事情,做这件事之前,要做什么?做完之后,要做什么?异常时,要做什么? 对于这样的需求,就可以使用代理模式。 案例 举个例子:我们要做一件事情,做
阅读全文
摘要:这些源代码,来自大三安卓培训的一次考试,主要由我的同学编写,代码由经过一定调整。 二叉树链表 前序遍历:先访问根节点,然后访问左子树、右子树 中序遍历:先访问左子树,然后访问根节点、右子树 后序遍历:先访问左子树、右子树,然后访问根节点 二叉树 /** * 二叉树 * * @author ChenS
阅读全文
摘要:GOF概括:定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新。 概述 这个可能是最早接触,但是,越学越复杂的设计模式了。 主要是因为 “观察者模式” 可以引申出非常多的知识点:“发布-订阅者模式”、“消息队列”…… 观察者模式是非常重要的一个设计模
阅读全文
摘要:GOF概括:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。 简单地说,就是根据一个对象,复制出另一个。 为什么这也能称作设计模式,不是有手就行? 其实不然,从项目中找个 xxxConfiguration 类看看就能体会了, 如果作者不说,代码都很难看懂,更别说复制这个对象; 另一个
阅读全文
摘要:GOF概括:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 #### 工厂模式 这种代码结构,在项目中非常常见的,很可能不知不觉中,你一直在使用。 比如说:springboot 项目, 既能使用 hibernate,又能使用 mybatis,只需要改 yml 中的配置即可。 如果我们以后写代
阅读全文
摘要:2016-10-28 15:18 培训马上就结束了,准备把这些天学到的知识点都归纳总结一下。 单例模式,应该是23种设计模式中最简单的,写法有很多:饿汉式、懒汉式什么的。 2023-07-12 对于应届生,如果简历上写了设计模式,这个大概率是会被提问。 单例模式涉及到锁的引用,除了要求默写,还会问一
阅读全文