java
文章平均质量分 76
醉鱼Java
这个人很懒,个人介绍就写了公众号《醉鱼Java》。
展开
-
树【二叉树,红黑树,B树,B+树】
树的表示方法直观表示法树的直观表示法就是以倒着的分支树的形式表示,如下图所示就是一棵树的直观表示。其特点就是对树的逻辑结构的描述非常直观,是数据结构中最常用的树的描述方法嵌套集合表示法所谓嵌套集合是指一些集合的集体,对于其中任何的两个集合,或者不相交,或者一个包含另一个。用嵌套集合的形式表示树,就是将根节点视为一个大的集合,其若干棵子树构成这个大集合中若干个互不相交的子集,如此嵌套下去,即构成一棵树的嵌套集合表示。如下图所示凹入表示法主要用于树的屏幕输出和打印输出广义表表原创 2022-05-02 23:21:22 · 777 阅读 · 0 评论 -
Mybatis-Plus 拦截SQL语句实现加解密存储
定义加解密工具类package com.tz.mybatisplus.common.util;import javax.crypto.*;import javax.crypto.spec.SecretKeySpec;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.NoSuchA原创 2022-04-09 17:15:24 · 1060 阅读 · 0 评论 -
MySQL索引(一)
MySQL VersionMySQL 8.0.20索引定义索引一种特殊的数据结构,为表中的数据行提供快速查找功能,通常通过一个树结构(B树)来表示特定的列,或者一组列的所有值。Innodb引擎中的表有一个表示主键的聚集索引,还可以在一个列或者多个列上创建一个或多个二级索引。根据二级索引的结构,可以分为部分索引(col_name (length)),列索引(col_name),组合索引(col_name1,col_name2,…)大多数 MySQL 索引(PRIMARY KEY、 UNIQUE、IND原创 2022-03-15 21:52:25 · 845 阅读 · 0 评论 -
一文彻底理解乐观锁与悲观锁
通过阅读本文可以获得什么1、什么是乐观锁?2、乐观锁实现方式都有什么?3、乐观锁优缺点有哪些?4、乐观锁适用场景?5、什么是悲观锁?6、悲观锁实现方式有哪几种?7、悲观锁优缺点?8、悲观锁的适用场景?首先,我们先看一下什么是乐观锁,在我个人理解,乐观锁可以抽象为去银行取钱,假如银行没有人排队,所以不需要取号,直接去柜台A就可以办理业务。反之悲观锁就是假如去银行取钱,每次去都好巧不巧的都有人在柜台A排队,所以此时需要取号,然后等叫号在去柜台A办理业务。(假设银行只有一个柜台A,不..原创 2022-03-03 19:57:19 · 2822 阅读 · 0 评论 -
一文理解一致性哈希算法
对于最近看到的哈希算法,然后还有一致性哈希算法,本文针对网上搜集到的资料做一个整理,方便后面回顾一致性哈希算法的知识,这就是本篇文章《一文彻底读懂一致性哈希算法》的由来;一致性hash算法是1997年麻省理工学院提出,是一种特殊的hash算法,目的是解决分布式缓存的问题。在移除或者添加一个服务器时,能够尽可能小的改变已存在的服务请求与处理请求服务器之间的映射关系。一致性hash解决了简单hash算法在分布式hash表(Distributed Hash Table,DHT)中存在的动态伸缩问题。原创 2022-02-13 21:24:36 · 614 阅读 · 0 评论 -
面试官:浏览器输入网址后发生了什么
概述 URL解析 DNS解析 TCP 链接 Http 请求 浏览器处理响应 页面渲染 URL解析对输入的URL进行解析,判断输入的URL是否合法,并根据输入的词完成字符编码等操作如果本地有缓存,并且没有过期会直接返回缓存,如果没有进入下一步DNS解析对URL中的域名进行解析获取对应的IP地址,首先会到浏览器中查找浏览器缓存,如果找不到就去本地hosts文件,如果还没有找到对应继续去本地路由器再然后运营商DNS,如果自己配置了DNS转载 2022-02-01 09:53:29 · 201 阅读 · 0 评论 -
JVM常用排查工具这些你都会用吗
JVM常用排查工具你都了解吗转载 2022-01-17 22:52:43 · 319 阅读 · 0 评论 -
不亲手体验Log4j的漏洞怎么知道恐怖
原文链接:(环境搭建+复现)CVE-2021-44228 Apache Log4j 远程代码执行漏洞_daxi0ng的博客-CSDN博客_log4j漏洞复现 *0x00 简介*ApacheLog4j2是一个开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中。*0x01 漏洞概述*该漏洞是由于Apache Log4j2某些功能存在递归解析功能,未经身份验证的攻击者通过发送特定恶意数据包,可在目标服务器上执行任意代码。0x02 影响范围Apache Log4j 2...转载 2021-12-15 23:25:33 · 301 阅读 · 0 评论 -
java获取文件编码,jsoup获取html纯文本
maven引入获取编码的jar <dependency> <groupId>com.ibm.icu</groupId> <artifactId>icu4j</artifactId> <version>67.1</version> </dependency>获取文件编码 public sta原创 2020-07-23 15:05:49 · 564 阅读 · 0 评论 -
RabbitMQ优先级消息
使用场景对于Mq中可能产生堆积消息的情景来说,如果消息都是不需要实时处理的,那可以等待消费者慢慢的去处理就行了,然后实际使用中我们会遇到这样一种情况,就是mq队列堆积消息很多,但是每条消息处理的有的很慢有的很快,所以此时这种场景就比较适合使用mq的优先级来保证消息的提前消费,让处理慢的消息最后消费下面使用java链接mq演示一下消息的处理初始化优先级队列#交换机publicstaticfinalStringEXCHANGE_TEST...原创 2020-06-20 00:15:26 · 1183 阅读 · 0 评论 -
HttpURLConnection 跳过ssl验证
使用HttpURLConnection链接https资源时验证不通过报错如下javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExc...原创 2020-01-18 09:15:09 · 5234 阅读 · 1 评论 -
java File 转 MultipartFile
直接上代码# localAddress 为文件路径 例如 “/test/myNote/test.pdfFile pdfFile = new File(localAddress); FileInputStream inputStream = new FileInputStream(pdfFile); MultipartFile multipart...转载 2019-06-17 17:36:51 · 6528 阅读 · 0 评论 -
分享一个word转pdf的工具类Aspose[java]
项目中使用到office文件的格式转换pdf阅读,但是没有一款好用的转换工具。由于本人是mac系统,openoffice也没法使用,前期使用itext转换一直中文乱码,也没有解决这个问题,后来发现aspose,虽说是付费的,但是确实是好用,更重要的是中国程序员的无私奉献精神,下面就来展示一下怎么转换的吧,其实关键就是几行代码代码中file即要转换的文件,path即转换的pdf输出路径使用asp...原创 2019-06-28 17:32:22 · 1742 阅读 · 4 评论 -
JsonUtil工具类
package com.tian.mvc01.util;import com.google.gson.*;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.List;/** * 描述: * json...原创 2019-09-12 16:47:53 · 304 阅读 · 0 评论 -
TimeUtil,java1.8时间转换
package com.tian.mvc01.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.*;import java.time.format.DateTimeFormatter;import java.util.ArrayList;import java...原创 2019-09-12 16:49:06 · 432 阅读 · 0 评论 -
雪花算法id生成util
package com.tian.mvc01.util;/** * @author C-UI * @Classname SnowFlakeUtil * @Description 生成唯一id * @date 2019/4/11 11:33 */public class SnowFlakeUtil { /** * 起始的时间戳 */ privat...原创 2019-09-12 16:49:55 · 836 阅读 · 0 评论 -
DateUtil工具类
package com.tz.mynote.util;import org.apache.commons.lang3.time.DateFormatUtils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date...原创 2019-09-12 16:51:19 · 314 阅读 · 0 评论 -
Java工具类集合
DateUtil工具类分布式雪花算法id生成JDK1.8time时间转换JSON转换工具类原创 2019-09-12 16:55:37 · 268 阅读 · 0 评论 -
后台返回数据Long类型精度丢失
由于实体类中id字段使用了Long,返回前端之后发现数据精度丢失,解决方式 /** * @JsonSerialize(using=ToStringSerializer.class) * 这个注解可以让Long类型字段转给前端string,防止精度丢失 */ @Id @JsonSerialize(using= ToStringSerializer...原创 2019-10-01 20:41:30 · 1322 阅读 · 0 评论 -
java Itext创建pdf
最近项目中用到保存pdf,考虑了一下还是使用itext,毕竟还是很好用的吗下面就记录一下怎么使用的吧1.引入依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <dependency> <groupId>com.ite...原创 2019-06-17 17:31:32 · 489 阅读 · 0 评论