![](https://img-blog.csdnimg.cn/7f81fc3e142a4f4ea56f57e9825d1a3e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
文章平均质量分 56
java里的记录
菩提树下的呆子
分享所想分享的
展开
-
如何构建数字签名密钥?
数字签名为保证数据传输过程中的数据真实性,完整性和不可抵赖,我们需要对数据进行数字签名,在接收接口请求后进行签名校验。签名机制如下:采用MD5 产生签名摘要。待签名原文是各请求参数的值按照文档中自上而下的顺序组拼装成的字符串,不包括 sign 本身,如果字段值为空或者字段不存在则参数不参与拼装。sign=MD5(参数1+参数2+…+参数n+key),其中key 为用户秘钥(可以为任意字符的md5转换,也可以是其它的)。base64 编码的字符集为 UTF-8。输出结果为 32 位大写字符串原创 2022-03-01 18:14:47 · 697 阅读 · 0 评论 -
makedown过滤标签解决黑产内容通过<>规避词库检测的问题
makedown过滤标签解决黑产内容通过<>规避词库检测的问题【需求背景】用户发布的内容中包含富文本内容,包括a标签,img标签等,为了提升词库检测的准确性,目前在做词库检测之前,通过hutool的HtmlUtil.cleanHtmlTag将待检测文本进行过滤。但cleanHtmlTag未校验标签的合法性,会存在误操作,比如:会将所有"<“和”>"包裹的内容全部过滤,导致被黑产利用发布违规内容。例如:<英超比赛在哪押注{C><网-Ag886.cn-网&原创 2022-02-23 10:26:15 · 369 阅读 · 0 评论 -
布隆过滤器总结
布隆过滤器就是把数据通过hash函数计算出来标记在不同的位置然后查找的时候也是用hash函数算出值,去找一下1,4,7上的数据是不是1,不是1的话就不存在存入布隆过滤器的缺点就是不可以删除数据,但是与set不同在于可以加入重复的数据,因为其原理就是通过hash算法分散到不同的位置进行标记,重复只不过是重复了上述过程。布隆过滤器使用场景场景一:当前需要维护一个内存,去存储uid这个字段,可是这个字段数据量比较大可能有两百万左右,那么一个integer占用16个字节,hashset要16个字节,一共原创 2022-02-22 14:01:01 · 283 阅读 · 2 评论 -
Java开发校招面经
面试你好,我叫xxx,目前本科在读大四,所学专业是软件工程,在校期间也有参与一些竞赛,像中国大学生计算机设计大赛,泰迪杯数据技能大赛等等,也拿到较好的名次。在大学期间主要的方向是Java,所以做的一些项目主要是通过springBoot进行构建开发的,我的项目经验主要来自于我和同学一起做的项目,像有一些项目经验来自竞赛,像实时交通大数据可视化项目,赛题方给出了一些手机信令数据,要求我们对数据就行清理,处理,挖掘,预测,提供可视化页面帮助智慧城市决策。我们的一个实现思路是通过模拟信令数据实时传入kafka,通原创 2022-02-01 18:24:33 · 964 阅读 · 0 评论 -
用JAVA重0开始刷数据结构与算法06--特定顺序遍历二维数组
特定顺序遍历二维数组54. 螺旋矩阵难度中等给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bv51vqHU-1641912784226)(https://assets.leetcode.com/uploads/2020/11/13/spiral1.jpg)]输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,原创 2022-01-11 22:53:42 · 90 阅读 · 0 评论 -
用JAVA重0开始刷数据结构与算法05--数组的旋转
189. 轮转数组难度中等给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释: 向原创 2022-01-10 15:57:03 · 73 阅读 · 0 评论 -
用JAVA重0开始刷数据结构与算法04--二维数组及滚动数组
二维数组及滚动数组118. 杨辉三角难度简单给定一个非负整数 *numRows,*生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]提示:1 <= numRows <= 30class Solution { //purpos原创 2022-01-08 14:17:52 · 71 阅读 · 0 评论 -
用JAVA重0开始刷数据结构与算法03--数组的改变、移动
数组的改变、移动453. 最小操作次数使数组元素相等难度简单给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。示例 1:输入:nums = [1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]示例 2:输入:nums = [1,1,1]输出:0提示:n == nums.len原创 2022-01-07 12:51:40 · 78 阅读 · 0 评论 -
用JAVA重0开始刷数据结构与算法02--统计数组中的元素
统计数组中的元素645. 错误的集合难度简单集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2]提示:2 <=原创 2022-01-06 12:27:57 · 415 阅读 · 0 评论 -
用JAVA重0开始刷数据结构与算法01--数组的遍历
用JAVA重0开始刷数据结构与算法-第一天数组的遍历485. 最大连续 1 的个数难度简单给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.提示:输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。class Solution { public int findMaxConsecutiveOnes(int[] nums)原创 2021-12-30 21:52:48 · 138 阅读 · 2 评论 -
Java项目:博客系统西瓜社区(springboot+mybatis-plus+thymeleaf)
西瓜社区文档前端:社区目前基于开源的markdown框架editorme进行开发的问答和博客的两个功能后端:springboot,mybatis-plus,swagger2,thymeleaf西瓜社区代码解析数据库代码解析== 以下代码中Table structure for xxx为数据结构 ==== Records of xxx 为测试数据 ===1.zxy_blog(博客信息)zxy_blog这个table主要用于存储博客!具体字段请看代码中的comment-- ----原创 2021-11-08 17:43:28 · 34771 阅读 · 0 评论 -
Java体系复习资料
面试一,JAVA1.JVM1.1JVM内存区域JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA 堆、方法区】、直接内存。程序计数器:一块较小的内存空间, 是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器。虚拟机栈:是描述java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机原创 2020-12-09 15:18:38 · 547 阅读 · 0 评论