自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(167)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 mysql索引调优

mysql高级数据库的基本结构理解:数据库名词描述database(数据库)用于保存有类型,有分类的数据,一般是一个文件,或是一组文件table(数据库表)某种数据类型的结构化清单,数据库表存在数据库当中column(列)表中的一个字段(列)row(行)表中的一条记录(行)dataType(数据类型)数据库表中所规定的数据类型primary key(主键)一列或一组,其中的值能够用于区分表中的每一行记录sql子句的执行顺序:子

2021-03-20 00:01:27 4301 12

原创 Redis入门到精通

Redis入门概述redis安装(linux)常用五大数据类型简介redis常用命令配置文件介绍持久化之redis事务订阅与消息发布主从复制java连接redis常用api和方法入门概述Redis:REmote DIctionary Server(远程字典服务器)是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行 并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。Redis 与其他 key

2021-02-17 17:11:19 1283 2

原创 页面切换css动画

下面直接给出源代码,直接运行即可,只需要在元素上动态添加对应的动画类名即可,动画默认只执行一次,我们可以动态的删除和新增class来实现动画重复执行。

2023-12-27 23:20:22 982

原创 MySQL存储过程

存储过程就是将很多SQL片段进行封装,存储在数据库服务器中,减少SQL在应用之间传输带来的开销,存储过程的优点是提升程序的灵活性,可以直接修改存储过程,而不用重新发布应用程序,存储过程也有缺点,缺点就是存储过程出现问题很难进行排查,无法定位问题出现在哪儿。用户字段变量是根据用户自定义的变量,变量不用提前声明,在使用的时候直接用@变量名,作用域为当前会话连,如果这个变量没有声明直接使用,并不会报错,只是值是NULL。SET @变量名=值;SET @变量名:=值;

2023-11-26 18:54:28 1017

原创 js网络图片转base64

最近遇到需要将img标签里面src是网络图片转base64,这里记录一下。

2023-09-29 22:37:54 311

原创 nginx实战

Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。

2023-07-27 21:51:32 1116

原创 bean和xml相互转换工具类

① 常用APIJAXBContext类,是应用的入口,通过该类创建序列化和反序列化对象,也即编组对象和解组对象;Marshaller 编组接口,将Java对象序列化为XML数据;Unmarshaller 解组接口,将XML数据反序列化为Java对象。② 常用注解@XmlRootElement,将Java类或枚举映射成XML元素根节点,是唯一一个必须注解,name属性指定根节点名称,不指定默认为类名的小写;

2023-07-25 21:24:54 985

原创 Nginx配置https访问

如果是云服务器,可以到对应的云服务器上购买ssl证书,我这里是百度云,我以百度云为例子

2023-07-18 00:16:07 299

原创 移动端盒子超出部分滚动,但没有滚动条

移动端盒子超出部分滚动,但没有滚动条

2023-07-16 11:36:18 945

原创 jsonp解决跨域

核心思路:就是利用script标签不会产生跨域,然后使用script标签去发送请求,然后后端返回一个script类型回调函数,然后这个回调函数在前端是一个全局变量的函数,随后被后端回调,这样就解决了跨域的问题,但是这种方式只支持get请求。

2023-07-16 11:14:19 1905

原创 zookeeper学习笔记

Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。Zab 借鉴了 Paxos 算法,是特别为 Zookeeper 设计的支持崩溃恢复的原子广播协议。基于该协议,Zookeeper 设计为只有一台客户端(Leader)负责处理外部的写事务请求,然后Leader 客户端将数据同步到其他 Follower 节点。即 Zookeeper 只有一个 Leader 可以发起提案。

2023-05-29 08:48:52 884

原创 idea注释模板开发配置

良好的注释规范从这里开始,一键生成漂亮的注释,还可以配合smartdoc完美生成开发文档

2023-05-29 08:46:38 585

原创 typeScript开发

TypeScript特点TypeScript 是一种给 JavaScript 添加特性的语言扩展。类型批注和编译时类型检查类型推断类型擦除接口枚举Mixin泛型编程名字空间元组Await类模块lambda 函数的箭头语法可选参数以及默认参数JavaScript 与 TypeScript 的区别。

2023-05-22 21:46:30 823

原创 vue3学习手册

是一个内置组件,这意味着它在任意别的组件中都可以被使用,无需注册。这会导致它丢失其中所有已变化的状态 —— 当这个组件再一次被显示时,会创建一个只带有初始状态的新实例。:如果缓存的实例数量即将超过指定的那个最大数量,则最久没有被访问的缓存实例将被销毁,以便为新的实例腾出空间。都是有状态的对象,它们总是会随着组件自身的更新而更新。错误处理器接收三个参数:错误对象、触发该错误的组件实例和一个指出错误来源类型信息的字符串。卸载一个已挂载的应用实例。只读代理是深层的:对任何嵌套属性的访问都将是只读的。

2023-05-22 21:42:19 1364

原创 SpringSecurity从入门到源码分析

security的入门到源码分析,看完后你将了解什么是security,如何在springboot应用中使用,以及如何集成多端登录,他的执行流程是怎么样的?以及如何自定义权限控制,已经过滤器执行流程。

2023-03-21 22:08:36 861

原创 简单粗暴的分布式定时任务解决方案

因为有时候我们需要定时的执行一些操作,比如业务中产生的一些临时文件,临时文件不能立即删除,因为不清楚用户是否操作完毕,不能立即删除,需要隔一段时间然后定时清楚,还有像是一些电商项目,每月进行数据清算。比如某些业务的排行榜,实时性不是高的也可以使用定时任务去统计,然后在做更新。当然技术是为业务服务的,我们怎么选择合适的技术,还得是看业务场景,比如一些任务的执行频率不高,也不是特别要求效率,也不复杂,我们完全用不上为了一个定时任务去引入一些第三方的框架作为定时任务实现,我们来介绍两种方式来实现分布式定时任务。

2023-03-10 23:13:05 1517 3

原创 redis计算经纬度距离

注意:redis需要从3.2版本开始才支持。2.游戏查看附件一起玩的人。3.交友app查看附件的人。1.用户查询附近的酒店。

2023-02-13 11:13:24 484

原创 docker-微服务篇

学习docker的前提:熟悉linux基本命令和熟悉git命令。是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。分层的镜像以我们的pull为例,在下载的过程中我们可以看到docker的镜像好像是在一层一层的在下载。

2023-02-12 11:53:10 751

原创 自定义参数校验以及统一处理结果集

统一返回值类型无论项目前后端是否分离都是非常必要的,方便对接接口的开发人员更加清晰地知道这个接口的调用是否成功(不能仅仅简单地看返回值是否为 null 就判断成功与否,因为有些接口的设计就是如此),使用一个状态码、状态信息就能清楚地了解接口调用情况/*** code 200 表示业务处理成功,-200表示业务处理失败/*** 存放业务提示信息/*** subCode 10000 表示10000请求成功 -10000表示请求处理失败/*** 存放系统异常消息/**

2023-02-05 18:09:21 618

原创 RabbitMq学习笔记

MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不 用依赖其他服务。Fanout 这种类型非常简单。正如从名称中猜到的那样,它是将接收到的所有消息广播到它知道的 所有队列中。系统中默认有些 exchange 类型。

2023-02-05 03:13:32 956

原创 MYSQL窗口函数

窗口限定一个范围,它可以理解为满足某些条件的记录集合,窗口函数也就是在窗口范围内执行的函数。

2023-01-31 10:31:15 429

原创 位图数据结构

位图在算法中还是用的比较多,因为是基于二进制操作,运算速度比较快。比如在leetcode中的一道题目是 判定字符是否唯一,那么我们借助位图就可以进行如下判断。位图就是指由二进制位组成的数据结构。例如可以做标记处理。比如1个byte占用8个字节,那除去符号位,那么1个字节就可以表示8个状态位。

2023-01-17 20:02:32 204

原创 linux学习笔记

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。开发版:由于要试验各种解决方案,所以变化很快。内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。

2023-01-14 13:49:39 1696

原创 深入jvm字节码

java声称一次编译,到处运行,这与他的jvm实现有关,java语言是和平台无关的,是可以跨操作系统的,但是jvm缺不能,不同的jvm帮我们屏蔽了不同的操作系统,java语言编写的同一份代码,不同的jvm虚拟机实现,会帮我们编译成不同的二进制文件。下面我们一输出hello world 来开始我们的class文件探索之旅。使用javac 命令编译 Hello.java即可得到class文件,然后再用16进制显示文件内容即可得到下面的内容。可以使用 EditPlus.exe 然后查看的时候选择utf-8的编码

2022-12-18 14:36:17 784

原创 jekins集成部署

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

2022-12-17 14:35:10 1020

原创 linux shell编程

hell 是一种脚本语言脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)shell命令解析器:系统提供 shell命令解析器: sh ash bash查看自己linux系统的默认解析:echo $SHELL定义变量: 变量名 = 变量值如:num = 20 引用变量: $变量名 unset :清除变量值。

2022-12-17 14:22:12 370

原创 Jackson注解自定义数据脱敏策略

有时候,我们返回给前端的数据需要脱敏,避免用户信息被泄漏,就像你点外卖一样,京东或淘宝购物一样,手机号,姓名这些字段是被脱敏后的,在这个大数据时代,用户的数据安全是及其重要的。我们如何对用户统一数据进行脱敏处理呢?如果我们自定义脱敏方式,使用一个工具类,被改字段传递进去,脱敏后返回新的字符串,那这样是很多地方需要手动去编写很多重复的代码,而且不利于维护,比如是单个bean,或者是list的时候还要去遍历一次list。有没有什么方法统一处理呢?我们定义好脱敏规则,只需要在需要脱敏的字段上加上一个注解即可。

2022-12-11 19:13:04 622

原创 maven学习手册

jar包不统一,jar包不兼容导致项目问题工程升级维护过程操作繁琐maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它提供了中央仓库,能帮我自动下载构件。Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型POM(Project Object Model:项目对象模型)Maven是由java语言开发,它

2022-12-10 15:42:13 959

原创 springboot自定义参数解析器

1.springMVC是如何把参数解析完毕后注入到controller方法参数上的呢?在javaweb阶段,我们都学过使用HttpServletRequest这个对象获取参数,比如 request.getParameter(parameterName);那么springMVC其实也是用于这个来进行获取原始的参数的。比如:@RequestBody,@RequestParam注解等在请求经过原生的servlet过后,会将请求通过DispatchServlet将请求分发下去,然后执行到InvocableHandl

2022-12-04 20:17:37 1460

原创 SpringBoot工作开发场景实践

结合自己的工作经验和日常的使用springboot的熟练度整合的一篇文章,写这篇文章也是花了一个星期左右,干货满满,希望不要错过。springboot的特性主要有四大核心分别为自动配置、起步依赖、Actuator和命令行界面Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。学习顺序挺重要的,建议不要一上手就学 Spring Boot,只有先学习下自己整合框架的方法,才能帮你理解 SpringBoot 解决的问题,感受到它的方便

2022-11-06 13:51:42 561

原创 java操作ftp上传下载

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层,TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。可以使用FTP进行下载和上传。

2022-10-31 20:49:49 881

原创 SpringSecruity权限管理系统

因为一直想找一个权限管理系统参考一下,没想到尚硅谷最近更新了一套,我没有看视频,我是直接把源代码找到,然后看了一遍,然后感觉设计上还可以,对于没有做过权限管理系统的小伙伴来说,这个demo还是比较友好,有参考价值,但是其中,有2个问题,1是如果用户是在登录的情况被别人禁用了,还是能正常使用系统,我在这个地方做了改进,2是后台接口貌似没有做每个接口的细致校验,只是在前端展示的时候,过滤了一些菜单而已,我在地址栏中增加了apiPathId,通过apiPathId对每个用户的每个接口都做了细致的校验。

2022-10-30 06:17:48 335 2

原创 共享模型之内存

事实上,现代处理器会设计为一个时钟周期完成一条执行时间最长的 CPU 指令。这时 CPU 可以在一个时钟周期内,同时运行五条指令的不同阶段(相当于一 条执行时间最长的复杂指令),IPC = 1,本质上,流水线技术并不能缩短单条指令的执行时间,但它变相地提高了 指令地吞吐率。happens-before 规定了对共享变量的写操作对其它线程的读操作可见,它是可见性与有序性的一套规则总结,抛 开以下 happens-before 规则,JMM 并不能保证一个线程对共享变量的写,对于其它线程对该共享变量的读可见。

2022-10-26 20:07:56 119

原创 日期工具类

在日常的开发中,我们难免会对日期格式化,对日期进行计算,对日期进行校验,为了避免重复写这些琐碎的逻辑,我这里封装了一个日期工具类,方便以后使用,直接复制代码到项目中即可使用。/*** 常用日期工具类*/*** 锁对象/*** 存放不同格式的线程安全的SimpleDateFormat} } /*** 返回一个ThreadLocal的sdf,每个线程只会new一次sdf** @return。

2022-10-25 15:12:00 186

原创 SpringBoot动态定时任务

之前在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。现在我们就来实现可以动态修改cron表达式的定时任务。

2022-10-24 16:34:53 529

原创 jvm相关知识详解

我相信大多数人学一门语言都是先从 hello world 开始的,如果成功运行hello world 那么恭喜你,成功进入编程世界的大门。当我们学了一门语言后,学习了API?而且会调用API,那么想要更进一步写出好的代码,那就得学习一下jvm了,就比如说你遇到的 StackOverflowError是如何引起的? 我们所定义的变量是存在什么位置的? 对象什么时候被垃圾回收器回收?这一系列问题学完jvm就有了一个新的理解,也能写出比较高效的代码,遇到问题也能快速定位。我们的cpu只认识机器码:也就是由0和1

2022-10-17 22:19:26 1378

原创 手写一个简易的lombok

在面向对象编程中,必不可少的需要在代码中定义对象模型,而在基于Java的业务平台开发实践中尤其如此。相信大家在平时开发中也深有感触,本来是没有多少代码开发量的,但是因为定义的业务模型对象比较多,而需要重复写Getter/Setter、构造器方法、字符串输出的ToString方法、Equals/HashCode方法等。我们都知道Lombok能够替大家完成这些繁琐的操作,但是其背后的原理很少有人会关注或者说得清,本文会带着大家了解这一开发神器内部的运行机制与原理!

2022-10-14 14:48:19 1753 6

原创 java设计模式详解

通过本文章,你可以了解到常用的设计模式,本文的设计模式都是通过java语言进行讲解的,这也是我个人的一个学习笔记,设计模式以及数据结构和算法可能实际开发中用不到,但是这是程序员的基本功,这也就是你看框架源代码的时候头晕,看不懂,不知道别人到底写的什么玩意儿。那么你该静下心来好好学习基础知识了,记住一句话,罗马不少一天建成的,万丈高楼平地其,一切都以基础为准,框架层出不穷,但是万变不离其宗,都是以我们的核心基础知识来的。学完设计模式,你对写代码的一个水平会有一个很好的提升。设计模式的目的编写软件过程中,程序员

2022-10-08 16:53:07 1546 2

原创 jsencrypt.js加密java后端解密

因为我想做一个数据加密,就开始了解Rsa加密算法,实现一个前端加密,后端解密的一个过程,然后我也不想重复造轮子,就上百度搜索,发现好多文章都是抄来抄去去的根本不合适。所以只好自己写了一个记录,以便到时候要用的时候再看,前端使用jsencrypt.js进行加密,然后在使用的时候我发现这个内容过长无法加密,然后又找了个扩展的,可以使用长内容加密,但是到后台解密的时候出问题了,无法解密出正确内容,我只好换回原理的版本,然后自己重写了两个方法来进行扩展,实现长内容加密。这个改进后的方法按理论可以进行很大文本文本加密

2022-09-01 22:20:28 4731

原创 原生java实现单选和多选

之前很是讨厌JavaScript,因为他的多变性,是动态的,然后数据类型也是不确定的,因为我是从事java开发,刚刚开始对于JavaScript并不喜欢,后来发现其实JavaScript也很好,很强大,一门语言各有个的好处,慢慢的我也开始学习JavaScript,经常做一些小案例巩固自己所学的东西,也希望我的这些小案例能帮助到大家,这些小案例都是由注释的,而且有贴源代码,大家可直接使用,说不定工作中也会用的相关的一些东西,大家可以再此基础上继续封装...

2022-07-30 22:55:40 519 1

security加密java后端解密.zip

代码完善,直接粘贴复制即可使用,因为我想做一个数据加密,就开始了解Rsa加密算法,实现一个前端加密,后端解密的一个过程,然后我也不想重复造轮子,就上百度搜索,发现好多文章都是抄来抄去去的根本不合适。所以只好自己写了一个记录,以便到时候要用的时候再看,前端使用jsencrypt.js进行加密,然后在使用的时候我发现这个内容过长无法加密,然后又找了个扩展的,可以使用长内容加密,但是到后台解密的时候出问题了,无法解密出正确内容,我只好换回原理的版本,然后自己重写了两个方法来进行扩展,实现长内容加密。这个改进后的方法按理论可以进行很大文本文本加密传输,但是具体能承载多长我没有测试过,尽量不要使用rsa加密来加密比较长的文本,因为rsa加密是比较麻烦的,复杂度比较高,在加密之前也要考虑那些数据需要加密,那些数据不需要加密,不要通通都加密,这样解密的时候会浪费许多时间,增加服务器的压力,访问时间过长。

2022-09-01

eclipse-java-2019-12-M1-win32-x86_64.zip

windows版本 eclipse-2019

2021-01-04

jdk-8u251-windows-x64

jdk8 windows版本

2021-01-04

apache-tomcat-8.5.54.zip

windows Tomcat8.5.54版本

2021-01-04

JScript进阶ES6pink资料.zip

注释都写的非常详细.

2020-07-16

15.vue学习.zip

这里是最新的vue笔记,很详细,有源代码。有资料.

2020-06-26

计算机二级c 上机考试题库80题答案.docx

里面有很多c语言练习题,各种各样的题型,要想学好编程,最开始要多做题,掌握基础语法,扩展自己的思维,以后才能更好的接触其他语言,以后学其他语言就容易多了。

2020-05-08

计算机公共基础 (自动保存的).docx

里面有计算机二级知识点的详细解释,和历年的真题,和一些容易出错的知识点,都是我亲自做的笔记,希望对大家有一点点帮助。

2020-05-07

07十秒免单效果.html

利用js实现一个简单的,定时器效果,鼠标点击按钮不放,到10秒的时候刚刚好松开就算是成功免单,结构其实很简单,只需要一个判断和一个取随机数的函数。

2020-05-06

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

TA关注的人

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