张三博客

VX搜一搜:张三博客

  • 博客(119)
  • 资源 (6)
  • 收藏
  • 关注

原创 Mysql中Explain详解及索引的最佳实践

使用关键字可以模拟优化器执行SQL语句,分析查询语句在 SELECT 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL。

2023-03-08 18:28:28 1042 9

原创 算法与数据结构(Java版)01-稀疏数组和队列详解及代码实现

稀疏数组和队列-JAVA篇1 稀疏数组1.1 稀疏数组的应用场景1.2 稀疏数组的基本介绍1.3 稀疏数组的应用1.4 稀疏数组代码实现1.4.1 创建二维数组并赋予初始值1.4.2 将原有的二维数组转化为稀疏数组1.4.3 将稀疏数组转化为原来的二维数组1.4.4 遍历二维数组2 队列2.1 队列的应用场景2.2 队列的基本介绍2.3 单向队列模拟实现2.3.1 使用数组来模拟实现队列2.3.2 使用链表来模拟实现队列2.4 环形队列模拟实现1 稀疏数组所谓稀疏数组就是当数组中大部分的内容值都未被使

2022-04-15 15:56:58 795 1

原创 OpenFeign和feign使用简介

1.可插拔的注解支持,包括Feign注解和JAX-RS注解。2.支持可插拔的HTTP编码器和解码器(Gson,Jackson,Sax,JAXB,JAX-RS,SOAP)。3.支持Hystrix和它的Fallback。4.支持Ribbon的负载均衡。5.支持HTTP请求和响应的压缩。6.灵活的配置:基于 name 粒度进行配置7.支持多种客户端:JDK URLConnection、apache httpclient、okhttp,ribbon)8.支持日志9.支持错误重试10.url支持占位

2020-05-19 11:57:56 17418 13

原创 每天一个面试题-==和equals比较

equals:Object中默认也是采用==比较,通常会重写。

2023-03-31 14:19:11 522 1

原创 详解Mysql事务隔离级别与锁机制

举例:两个事务同时对库存进行操作 假定该库存初始值为20 A事务将库存更新为15 而B事务则将库存更新为10 就出现了脏写的问题。

2023-03-28 20:01:44 878 1

原创 Mysql规范篇解读与案例-阿里巴巴开发手册(泰山版)

必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字- 数据库字段名更改代价很大 可能改一个字段名就要修改整个业务线- mysql windows 不区分大小写 但在liunx中是区分大小写的

2023-03-23 19:11:53 1248 1

原创 Mysql索引优化实战(分页、JOIN、Count)

表示从表 employees 中取出从 10001 行开始的 10 行记录, 看着只有10条记录其实是先查询出10010条记录 然后抛弃前10000条记录 数据量越大效率越低。把驱动表的数据读入到 join_buffer 中,然后扫描被驱动表,把被驱动表每一行取出来跟 join_buffer 中的数据做对比。

2023-03-21 17:40:03 1192 3

原创 深入理解Mysql索引底层数据结构与算法

二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。

2023-03-07 11:23:57 683 2

原创 Java工具类-随机字符串工具类

【代码】Java工具类-随机字符串工具类。

2022-10-24 18:24:17 802

原创 Java中常用的JSON库,哪个性能更牛逼?

字符串解析成JSON性能字符串解析成JavaBean性能JavaBean构造JSON性能集合构造JSON性能易用性。

2022-10-24 18:14:14 358

原创 设计模式-原型模式的应用场景及Java中对抽象工厂的应用

原型模式也称为克隆模式,即某个对象为原型克隆出来一个一模一样的对象,该对象的属性和原型对象一模一样。而且对于原型对象没有任何影响。原型模式克隆的方法有两种:浅克隆和深度克隆

2022-10-19 11:58:51 476

原创 Exception in thread “main“ java.lang.CloneNotSupportedException 解决方案

实现Cloneable。

2022-10-19 10:44:34 673

原创 接入Apple 登录(AuthenticationServices) 后端处理Java版

【代码】接入Apple 登录(AuthenticationServices) 后端处理Java版。

2022-10-13 19:05:45 1222 1

原创 Java 中的 BigDecimal-那些你不知道的用法

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。

2022-10-03 22:49:40 219

原创 Mysql 基础语法-每个程序员都要掌握的基础知识要点

作为一个程序员必须要会的技能SQL语句,能写一手好的SQL能够让你在人群中出彩。找工作必问SQL关键字、复杂查询、SQL优化你真的都会吗?

2022-10-02 18:25:46 682

原创 Mybatis 升级版开发神器:Fast MyBatis,太强了!

开源地址:https://gitee.com/durcframework/fastmybatis相关文档:https://durcframework.gitee.io/fastmybatis/#/fastmybatis 是一个 mybatis 开发框架,其宗旨为:简单、快速、有效。零配置快速上手,无需编写 xml 文件即可完成 CRUD 操作。同时支持 mysql、sqlserver、oracle、postgresql、sqlite。

2022-10-01 15:57:55 251

原创 火爆全网的“羊了个羊”,疯狂圈钱2400多万,背后隐藏着什么?

羊了个羊》采用了全网最简单的三消类游戏,这个游戏的难度可谓是有名的小,无论是几岁的孩童还是年过古稀的老人其实都能玩,在这样的情况下,《羊了个羊》就实现了低门槛的布局,再加上用小程序进入,完全不需要任何安装,任何人都能玩的游戏自然而然就能吸引最广大的用户群体,实现病毒式传播的第一轮布局。下面的卡槽位还是7个,可上面的牌型却达到了14种(也有说13种,15种的,反正很多),但是每局都是随机的,所以每个玩家牌面都不太一样,但卡牌的种类至少也在10种以上,而卡牌的总数也呈几何倍数增加,堆叠层数更是达到了几十层。

2022-09-29 14:09:28 1101

原创 @Component注解的使用及解析

@Component 可作用于类、接口、枚举类型等 (Target)@Component 生命周期为运行时 (Retention)@Component 可以使用JavaDoc命令生成文档后查看说明 (Documented)@Component 该类会存储到 META-INF/spring.components (Indexed)

2022-09-28 15:11:17 7114

原创 Java获取完整SSL证书链信息(包含完整证书链)

Java通过X509获取完整证书链信息包含受信任的和不受信任的证书,包含完整的证书使用者、签发者、签名算法公钥、证书版本、证书品牌等信息

2022-09-16 14:43:51 23503 5

原创 Apache ShardingSphere介绍和基本使用及分库分表(水平拆分、垂直拆分)理解和使用

分库从单个数据库拆分成多个数据库的过程,将数据散落在多个数据库中。分表从单张表拆分成多张表的过程,将数据散落在多张表内。

2022-07-18 17:20:04 2381

原创 java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonIncludeProperties 异常解决方案

引入一下三个依赖

2022-06-30 10:33:08 4005 2

原创 com.documents4j.throwables.ConverterAccessException: The converter seems to be shut down 异常解决方案

大家熟知的使用Java来解决word 转pdf 个人推荐使用documents4j (因为其使用的office 中的一些组件转换出来不会出现样式的问题) 上述异常是因为把本地的更换到线上的Win服务器上所报

2022-06-29 17:46:59 2772 2

原创 浏览器状态响应码详解 1XX/2XX/3XX/4XX/5XX

Http通信协议返回状态码详解1. 1XX(临时响应)表示临时响应并需要请求者继续执行操作的状态码。1xx(临时响应)100(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。2. 2XX(成功)表示成功处理了请求的状态码。200(成功)服务器已成功处理了请求。201(已创建)请求成功并且服务器创建了新的资源。202(已接受

2022-05-11 20:32:10 3203

原创 Java程序CPU占用过高(100%)解决思路和解决方案

1. 线上诊断工具Arthas详情见之前的BLGO: Web应用线上诊断工具-Arthas2. 采用JDK自带的jstack进行排查2.1 使用top查看进程内存占用情况[root@honor ~]# top2.2 使用PS来分析进程和线程的占用情况通过这种方式来找到线程占用高的线程id[root@honor ~]# ps H -eo pid,tid,%cpu#grep 后面进行进程id[root@honor ~]# ps H -eo pid,tid,%cpu|grep 149

2022-04-20 20:08:03 10263 1

原创 SpringBoot和SpringMVC中常用注解详解

1、Spring Web MVC 与 Spring Bean 注解1.1 Spring Web MVC 注解1.1.1@RequestMapping@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对@RequestMapping注解的支持。@RequestMapping注解对请求处理类

2022-03-17 17:24:10 291

原创 解决Redis缓存穿透之布隆过滤器详解

要查询一个元素(测试它是否在集合中),请将其提供给k个哈希函数中的每一个以获取k个数组位置。如果这些位置的任何位为 0,则该元素肯定不在集合中;如果是,那么在插入时所有位都将设置为 1。如果全部为 1,则要么元素在集合中,要么在插入其他元素期间这些位偶然设置为 1,从而导致误报。在简单的布隆过滤器中,无法区分这两种情况,但更高级的技术可以解决这个问题。

2022-03-02 16:38:58 1827 3

原创 设计模式-抽象工厂模式的应用场景及Java中对抽象工厂的应用

抽象工厂模式(Abstract Factory Pattern)隶属于设计模式中的创建型模式,用于产品族的构建。抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。

2022-01-20 15:57:08 1415

原创 设计模式-工厂方法的应用场景及Java中对工厂方法的应用

1.什么是工厂方法模式工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。2. 工厂方法模式优/缺点和使用场景2.1 工厂方法模式优点工厂方法模式是为了克服简单工厂模式的缺点(主要是为了满足OCP)而设计出来的。简单工厂模式的工厂类随着产品类的增加需要增加很多方法(或代码),而工厂方法模式每个具体工厂类只完成单一任务,代码简洁。工厂方法模式完全满足OCP,即它有非常良好的扩展性。2.2 工厂方法模式缺点每新增一个具体的产品类 都要进行一定程度上的

2022-01-17 11:09:56 3169

原创 Ognl表达式(根据Apache-Ognl文档直译)

1. 什么是OgnlOGNL 代表 Object-Graph Navigation Language;它是一种表达式语言,用于获取和设置 Java 对象的属性,以及其他附加功能,例如列表投影和选择以及 lambda 表达式。您可以使用相同的表达式来获取和设置属性的值。Ognl 类包含评估 OGNL 表达式的便捷方法。您可以分两个阶段执行此操作,将表达式解析为内部形式,然后使用该内部形式设置或获取属性的值;或者您可以在一个阶段完成,并直接使用表达式的字符串形式获取或设置属性。OGNL 最初是作为一种

2022-01-10 17:04:10 969

原创 Web应用线上诊断工具-Arthas

1. Arthas简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。2. 安装Arthas2.1 Windows安装Arthascurl -O https://arthas.aliyun.com/arthas-boot.jarjava -jar

2022-01-07 15:53:35 1278

原创 Docker 安装 Mysql 报错(2059) Authentication plugin ‘caching_sha2_password‘ 解决方案

1 .docker 安装mysql# 下载mysql镜像1. docker pull mysql:latest# 启动mysql2. docker run -p 3306:3306 --name mysqltest -e MYSQL_ROOT_PASSWORD=root -d mysql#进入容器内部3.docker exec -it mysqltest bash4.容器内部> mysql -u root -p进行测试 2. 连接报错 (2059) Authentication

2021-12-25 09:48:30 858

原创 圣诞节快乐/最全Windows圣诞节平安夜小插件

阿里云盘永久链接地址圣诞树https://www.aliyundrive.com/s/HayxounYzEL

2021-12-22 20:27:01 165

转载 很火的本机号码一键验证/登录 实现原理和使用

很多APP的目前都支持“本机号码一键登录”功能。本机号码一键登录是基于运营商独有网关认证能力推出的账号认证产品。用户只需一键授权,即可实现以本机号码注册/登录,相比先前的短信验证码流程体验更优。目前市面上有很多厂商提供三网验证的服务,只不过是对三大运营商的包装。要了解具体的原理可直接看三大运营商相关的介绍。1.中国移动中国移动号码认证服务支支持移动、联通、电信三网号码。主要产品功能:一键登录:依托运营商的移动通信网络,采用通信网关取号技术,准确识别用户流量卡归属的手机号码。在获得用户授权后,App

2021-12-21 20:27:37 5092 1

原创 Java实用工具类-将汉字转为拼音

1. 导入对应的jar包 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </dependency>2. 编写ChineseToPinyinUtils工具类p

2021-11-13 11:20:51 159

原创 SpringBoot启动报错Command line is too long. Shorten command line for BackendApplication or also for Spri

1.打开Run/Debug Configurations2. 修改 Environment3. 将Shorten command line 修改为class path

2021-10-21 13:55:40 534 1

原创 SpringBoot是如何实现自动自动装配的?装配的什么

本文来基于B站程序汪追风的视频及结合自己的理解进行讲述.1. Spring的演变史1.1 Spring 2.5.0在Spring官方提供的文档Spring2.5.0文档中第22页中有明确说明## 译文大致如下由于新的 XML 配置语法的出现,Spring XML 配置现在更加容易基于 XML 模式。 如果您想利用 Spring 提供的新标签(并且 Spring 团队当然建议您这样做,因为它们使配置不那么冗长且易于阅读),然后执行阅读标题为附录 A,基于 XML 模式的配置的部分。在相关说明

2021-09-15 19:16:47 101

原创 工具类-Java输入特定的字符串生成背景色字体的图片

1.编写LogoImageUtils工具类package com.zhangsan.utils;import org.springframework.stereotype.Component;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.image.BufferedImage;import java.io.IOExcep

2021-09-09 21:01:36 286

原创 设计模式-模板模式及模板模式的应用场景及Java对模板方法的使用

1.什么是模板模式模板模式是在一个抽象类中定义了执行它的方法的方式(模板方法),由抽象类的子类根据具体的业务需求去重写父类的中方法,但执行时将调用抽象类中定义的方式进行。在模板模式中,一个抽象的公开定义了执行它的方法的方式(模板)。它的子类可以重写方法实现,但调用将以抽象类中定义的方法进行。这种类型的设计模式属于行为型模式2.模板模式的优点/缺点和使用长江2.1 模板模式的优点通过把子类中不变的部分抽离到子类中,从而达到去除子类方法的重复代码便于维护扩展可变部分,子类实现模板父类的某些细节,有

2021-09-09 20:11:03 779

原创 设计模式-单例模式介绍和使用场景及Spring单例模式的使用

1. 什么是单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。保证一个类仅有一个实例,并提供一个访问它的全局访问点。2. 单例模式的优点/缺点和使用场景2.1 单例模式的优点提供了对唯一实例的受控访问由于系统中内存只存在一个对象

2021-09-08 14:49:27 1205

原创 设计模式-策略模式及的应用场景

1.什么是策略模式定义一组算法类,将每个算法分别装起来,让它们可以互相替换。策略模式可以使算法的变化独立于它们的客户端

2021-09-02 17:40:08 787

2023年跨年烟花代码

开箱即用的烟花代码 新的一年新的开始新年快乐

2022-12-28

个推1.0 SDK java所需要的jar

个推所需要的sdk java版 具体文档可参考 https://docs.getui.com/getui/server/other/ gexin-rp-sdk-http-4.1.2.0.jar /gexin-rp-sdk-base-4.0.0.38.jar/

2022-10-12

Spring AOP源码笔记

Spring AOP源码笔记

2022-03-11

2022年最新省市区三级JSON

2022年最新省市区三级JSON 下载直接使用 不满意可联系主业QQ或者官网联系方式 申请退款

2022-01-06

国民经济行业三级分类.json

三级JSON 下载即可使用

2022-01-06

RabbitMQ(MQ)消息队列.md

rabbitmq21312312333333333333333333333333 213123 13

2020-07-27

docker 安装命令.txt

docker 的安装命令 以及docker 的基本使用 docker 对容器的管理 对初学docker 的很有帮助

2020-07-27

oracle系列教程三+oracle复杂SQL语句.doc

Oracle复杂查询和索引优化,函数的使用,行列的转换,去重等等

2020-05-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除