随笔分类 -  算法

CRC16
摘要:CRC16 算法 循环冗余算法 /** * 循环冗余校验算法 * * 代码中的常量,仅用于提示相关算法,无实际功能 * * @author Mr.css * @version 2024-10-22 10:49 */ public class CRC16Utils { /** * 名称:CRC4 多项 阅读全文

posted @ 2024-10-25 14:54 疯狂的妞妞 编辑

22位/32位UUID
摘要:32 位 UUID 优化建议 32 位的 UUID,最常见的代码:UUID.randomUUID().toString().replace("-",""), 有野心的程序员,追求极致性能的话,会选择优化这一段代码, 可以使用 Long.toHexString(),只是过程需要注意:1L 的 16 进 阅读全文

posted @ 2023-04-24 20:43 疯狂的妞妞 编辑

JWT
摘要:把书本读薄,简单介绍一下JWT所具备的特征,最好提前了解 “编码”、“摘要” 和 “加密” 的区别。 JWT简介 JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained 阅读全文

posted @ 2022-01-06 11:43 疯狂的妞妞 编辑

数据脱敏
摘要:脱敏不是为了隐藏信息,如果不想其他人查看,直接不展示就行了, 就像拿外卖的时候,我们需要报手机号后四位,脱敏需要保留数据特征,起到校验的功能,但是要求又不需要十分精确。 常见脱敏 * 邮箱:一般保留@之后的内容,用于确定邮箱来源,例如:4132****@qq.com; * 姓名:保留最后一位,不要保 阅读全文

posted @ 2019-09-28 19:00 疯狂的妞妞 编辑

啤酒1元1瓶,3个瓶盖换1瓶,2个空瓶子换1瓶,问10元钱可以喝几瓶
摘要:非递归算法 阅读全文

posted @ 2019-09-27 10:53 疯狂的妞妞 编辑

AES 加密
摘要:AES 有多种模式可用:ECB、CBC、‌CFB、‌OFB、‌CTR,常见的有 ECB 模式和 CBC 模式。 安全性 AES的ECB模式是将整个明文分成若干段相同的小段,‌然后对每一小段进行加密。‌ 这种模式是最简单的加密方式,‌因为每个明文块独立加密,‌不涉及块之间的依赖。 ‌ECB模式的优点是 阅读全文

posted @ 2018-05-24 00:08 疯狂的妞妞 编辑

RSA非对称加密
摘要:非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey); 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密; 如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。 加密算法会用到Cipher,位于javax.cry 阅读全文

posted @ 2018-05-23 22:57 疯狂的妞妞 编辑

摘要算法
摘要:摘要算法 最常见的例子:java 中的哈希码(hashcode)。 摘要算法,就是将很长的字符串,转换成固定长度的字符串。 你可能会觉得很熟,因为概念与哈希算法、散列算法完全一致,本质上来说,这几个算法是同一个算法。 摘要算法不是加密算法,经过摘要计算之后,数据无法还原。 哈希碰撞 从算法的定义就能 阅读全文

posted @ 2018-05-23 22:20 疯狂的妞妞 编辑

Hex和Base64
摘要:编码 编码就是将一种数据格式,转换成另一种格式。 常见的例子:数学中的进制转换,其实就是一种编码。 编码的用途:可以解决中文乱码、非法字符等问题,将数据转为更易于阅读的数据,方便人类查看,也方便程序读取。 注意:编码不是加密,编码之后的数据很容易还原,用于加密的话,只防君子而不防小人。 常用的编码: 阅读全文

posted @ 2018-05-23 21:46 疯狂的妞妞 编辑

Java代码实现安卓Handler
摘要:Handler机制的写法非常巧妙,之前还在做安卓的时候,就一直很想把代码分离出来。 代码结构完全参考了 Handler,具体实现上,消息队列使用的是 PriorityQueue。 推荐优先学习一下消息队列。 实战价值 spring 环境下,有现成的线程池可用,功能与 handler 类似,因此无需自 阅读全文

posted @ 2017-09-16 00:04 疯狂的妞妞 编辑

Java进制以及位运算
摘要:package com.yt.test.test; public class Test { public static void main(String[] args) { // 十六进制 int a16 = 0x0F; int b16 = 0x01 + a16; System.out.printl 阅读全文

posted @ 2017-07-28 14:35 疯狂的妞妞 编辑

面试题 -- 两个线程交替运行
摘要:业务场景:应付面试。 实战价值:代码过于复杂难以维护,实际生产不可能手搓线程,执行这种操作。 import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * @au 阅读全文

posted @ 2017-07-27 20:08 疯狂的妞妞 编辑

Java实现三个线程A B C,A线程打印A,之后B线程打印B,接着C线程执行打印C,继而循环下去
摘要:此文献给那些被面试题坑了的同志们,至少我被坑过 package com.yt.test.thread.rycle; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import java.u 阅读全文

posted @ 2017-07-21 17:27 疯狂的妞妞 编辑

代理模式
摘要:GOF概括:为其他对象提供一种代理以控制对这个对象的访问。 代理模式会伴随着程序员走过整个职业生涯,会见到无数这样的代码。 简单地说,就是一个对象,要做某件事情,做这件事之前,要做什么?做完之后,要做什么?异常时,要做什么? 对于这样的需求,就可以使用代理模式。 案例 举个例子:我们要做一件事情,做 阅读全文

posted @ 2016-12-18 03:24 疯狂的妞妞 编辑

二叉树、栈、队列、链表
摘要:这些源代码,来自大三安卓培训的一次考试,主要由我的同学编写,代码由经过一定调整。 二叉树链表 前序遍历:先访问根节点,然后访问左子树、右子树 中序遍历:先访问左子树,然后访问根节点、右子树 后序遍历:先访问左子树、右子树,然后访问根节点 二叉树 /** * 二叉树 * * @author ChenS 阅读全文

posted @ 2016-11-16 11:24 疯狂的妞妞 编辑

观察者模式
摘要:GOF概括:定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新。 概述 这个可能是最早接触,但是,越学越复杂的设计模式了。 主要是因为 “观察者模式” 可以引申出非常多的知识点:“发布-订阅者模式”、“消息队列”…… 观察者模式是非常重要的一个设计模 阅读全文

posted @ 2016-10-29 15:39 疯狂的妞妞 编辑

原型模式
摘要:GOF概括:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。 简单地说,就是根据一个对象,复制出另一个。 为什么这也能称作设计模式,不是有手就行? 其实不然,从项目中找个 xxxConfiguration 类看看就能体会了, 如果作者不说,代码都很难看懂,更别说复制这个对象; 另一个 阅读全文

posted @ 2016-10-29 14:22 疯狂的妞妞 编辑

工厂模式
摘要:GOF概括:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 #### 工厂模式 这种代码结构,在项目中非常常见的,很可能不知不觉中,你一直在使用。 比如说:springboot 项目, 既能使用 hibernate,又能使用 mybatis,只需要改 yml 中的配置即可。 如果我们以后写代 阅读全文

posted @ 2016-10-29 11:46 疯狂的妞妞 编辑

单例模式
摘要:2016-10-28 15:18 培训马上就结束了,准备把这些天学到的知识点都归纳总结一下。 单例模式,应该是23种设计模式中最简单的,写法有很多:饿汉式、懒汉式什么的。 2023-07-12 对于应届生,如果简历上写了设计模式,这个大概率是会被提问。 单例模式涉及到锁的引用,除了要求默写,还会问一 阅读全文

posted @ 2016-10-28 15:18 疯狂的妞妞 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示