自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 2023最新面试必背八股精简版

缓存穿透:访问无效数据直接到db解决方式:缓存无效数据(消耗内存,存在不一致);布隆过滤器(初始化一个数组来记录key,存在误判)缓存击穿:热点key失效解决方式:逻辑过期(查询时判断是否过期,过期开启新线程同步,存在数据不一致性);互斥锁缓存雪崩:大量数据同时失效解决方式:设置不同的过期时间(原来的失效时间加一个随机值)1.延迟双删(删除缓存修改数据库,延时一会再删除缓存),因为不管先修改数据库再删缓存还是先删缓存在修改数据库,在多线程的情况下都有脏数据问题,所以使用延时双删,延时是因为mysql如果有主

2023-12-04 10:57:54 132

原创 代码随想录hash表总结

如果你看过 HashSet 源码的话就应该知道:HashSet 底层就是基于 HashMap 实现的(HashSet 的源码非常非常少,因为除了 clone()、writeObject()、readObject()是 HashSet 自己不得不实现之外,其他方法都是直接调用 HashMap 中的方法。

2023-07-15 16:59:19 175 1

原创 异步编程:线程池和CompletableFuture

线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。我们可以创建线程池来复用已经创建的线程来降低频繁创建和销毁线程所带来的资源消耗。在JAVA中主要是使用类来创建线程池,并且JDK中也提供了Executors工厂类来创建线程池(不推荐使用)。线程池的优点:降低资源消耗,复用已创建的线程来降低创建和销毁线程的消耗。提高响应速度,任务到达时,可以不需要等待线程的创建立即执行。提高线程的可管理性。

2023-05-28 23:07:19 1280

原创 Xxljob的使用

xxljob快速接入和参数原理

2023-05-19 10:46:42 4013

原创 Mybatis和MybatisPlus批量插入

mp中不写xml的方式,自己拼接sql语句,这样比较原始@Resourcei++){if(i!第二种就自己写xml咯,我推荐这种-- 批量写入 -->)VALUES</foreach></insert>

2023-04-24 21:11:46 416

原创 Java反射的终极理解与应用!

今天实习的时候,因为我需要预留一个回调地址接收别人的处理结果,但是结果集有点复杂,一层套一层,所以我一直纠结于该用什么对象去接收,怎么定义成员变量。绕了半天别人说不用在乎这些,问我知不知道什么是反射,我脑袋里似乎想到了什么但又不是很明白所以当时搪塞了过去,下来准备去看看反射。最初接触Java的时候包括到现在一直没有自己用过反射,但是听说过,很多厉害一点的东西包括框架都会用到反射(spring、mybatis、rocketmq等等)。所以Java要进阶,必须懂反射。

2023-04-08 19:08:58 171 1

原创 第一次实习第一个月总结

记录几句我的导师兴哥说的话用以学习:一方面是技术,另外一个,我建议哈,你的一些开发的习惯,以及逐步了解业务,到你的实现,这种细微的思考方式你要学会掌握很多时候开发习惯了之后,技术难度不大,但是做出来的东西还是有好坏,就是你思考问题思考业务的程度不一样,以及在开发过程中的细微习惯有差异一个好的开发习惯,对你未来不管去哪家公司都是有帮助的,包括你的注释,命名这些真实开发遇到的东西和学到的东西真的比自己学的东西要多的多,加油!

2023-04-02 21:54:31 168

原创 jvm结构和String的共同理解

=比较的是地址,引用类型(除了String类型)的时候,只要不是同一个对象那么不是一个地址,String类型的时候如果new出来两个对象,那么也是不同地址,如果不new,那么就是同一个地址,因为都是存放在字符串常量池中,如果是基本数据类型,都是放在常量池中,所以地址都是一样的。如果线程正在执行一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;对于这段代码来说,s1、s2都是直接赋值的所以在方法区常量池的地址相等,s3、s4都是在堆里有不同的地址再指向常量池,所以结果如上。

2023-03-22 11:28:52 87

原创 二叉树、平衡树、红黑树、B树已经MySQL的索引结构

数据结构和索引

2023-03-20 10:57:27 81 1

原创 【算法】双指针

因为没怎么刷过算法题,一问我就蒙了,我先是想c语言中的链表,但又想java里面其实并没有接触到这个概念了,只是底层的数据结构而已,我当成数组支支吾吾回答说先看链表长度然后取中间的,意外的是面试官说这也是一种解决方式,但肯定不是最优解。完事之后我去同学寝室时一说,他们一个室友就说是不是快慢指针问题,我开始不知道快慢指针,但是一下反应过来了,我们在遍历时使用两个索引,也就是两个指针,快索引走两步时慢索引走两步,这样快索引走完时慢索引刚好在中间。暴力解法就是双循环,不推荐。

2023-03-14 18:06:10 55

原创 (day three)基于gitee实现文件的上传和下载功能

利用官方的api向仓库发起文件的上传、删除功能,并且利用数据库储存的文件地址实现将文件下载到浏览器客户端。文件上传的过程为前端传入文件对象和相关信息然后我们向gitee发起请求将文件传到仓库,上传成功之后在将返回的下载地址和相关信息存入数据库当中。获取文件地址并删除数据库数据。

2023-02-03 00:38:52 746 1

原创 (day two)基于Gateway网关拦截器和Redis实现单点登录和认证

JWTtoken+redis实现登录认证

2023-01-21 03:31:41 2494 1

原创 从0开始搭建一个SpringCloud资源分享项目(day one)

这里是对之前所写的一个springboot项目的拆分和丰富功能,主体结构随便画了一下网关:gateway服务注册和配置:ailibabaNacos服务请求转发:feign-client数据库:mysql持久,redis鉴权搜索功能:es搜索引擎,rabbitmq消息队列进行mysql和es的数据同步前端是用vue实现的,由于作者前端会的不多所以在搭建springcloud项目时注重于接口测试 ,第一天是项目的创建和gateway网关的鉴权。

2023-01-17 13:09:33 407

原创 Java线段分割算法

马上过年了,今天刚好看了一篇文章如何写出微信红包算法,假如给你两个参数,一个是红包个数,一个是红包总额,那么怎么才能让这些人随机得到红包里的钱呢?我想说,那肯定得随机数啊,但是怎样才能保证每个人所得加起来是红包总额,确实是个问题。

2023-01-11 22:37:10 432

原创 RestClient操作es索引库

java操作ES

2023-01-06 19:51:21 691

原创 ElasticSearch学习笔记

一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能。ElasticSearch也是ElasticStack(esk)的核心,包括负责数据抓取的Logstash和Beats,负责储存、计算、搜索数据的ElasticSearch,还有负责数据可视化的Kibana。

2023-01-06 14:06:18 185

原创 Docker的学习使用笔记

docker黑马程序员学习笔记

2023-01-03 23:55:18 167

原创 同步异步通讯和消息队列

一篇文章理解通讯方式

2023-01-03 16:09:29 961

原创 如何将自己的项目用docker部署到服务器(springboot+vue)

部署自己的网站

2022-12-28 15:48:47 2468

原创 申请加群功能的实现(springboot,mybatisplus)

申请加入群聊的简单实现

2022-12-10 19:47:37 258

原创 简单收藏功能的实现(SpringBoot,MybatisPlus,Vue)

收藏功能的简单实现

2022-08-11 17:18:19 8410 9

原创 SpringBoot学习

Component注解代表为spring的组件Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。Spring就是作为容器去管理你的类,Spring管理的类在整个服务器启动期间在内存中只生成一份。Spring的Ioc(控制反转和依赖注入)控制反转就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。依赖注入组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。...

2022-07-16 12:48:19 166

原创 代理模式学习

什么叫做代理模式?在我们日常生活中,就有非常多这样的例子,因为做任何事情,我们最开始只有一个目的,但是在达到目的的过程中,还有其他事情要做。比如说我们要去租房子,我们最开始想的就是把钱给房东,房东给钥匙;当然房东也想的肯定是给你钥匙拿钱,但是实际上我们可能需要去看房,签合同等等很多东西,所有就产生了代理,也就是所谓的中介,他可以帮你完成其他的事情。当然这样方便的事情在我们的代码中也会有体现:创建租房接口:public interface zufang { void zf();

2022-05-20 17:28:48 127

原创 jstl学习

一、什么是JSTLJSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat4.x。在JSP2.0中也是作为标准支持的。JSTL一共包含四大标签库1,core:核心标签库,我们学习的重点;2,fmt:格式化标签库,只需要学习两个标签即可;3,sql:数据库标签库,不需要学习了,它过时了;4,xm

2022-05-19 19:10:58 354

原创 gitee和git的使用

gitee是什么?百度告诉我们Gitee.com(码云) 是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 800 万的开发者选择 Gitee。提起gitee,大家难免会想到github,githee和github基本是一样的,都是开源网站,可以帮助所有用户管理自己或者团队的代码,只是gitee是国内网站,github是全球最大的开源网站,虽然资源多,但全是英文而且有时候不稳定,所以我们选择gitee就够了,而且gitee有很多方便的功能

2022-05-19 18:38:43 2614

原创 Maven的配置和使用

什么是maven?简单来说,maven就是一个帮助我们管理项目的工具,在编写代码时,有很多地方,我们需要引入依赖,只要有一个地方不合适代码运行就会报错,当需要导入的依赖很多时会非常麻烦,这个时候maven就起到了很关键的作用,我们只需要告诉它需要什么jar包它就会帮我们下载。并且maven项目目录有一个规定的结构,非常方便我们观看和修改。maven下载配置和本地仓库首先下载maven,然后在它的conf目录下找到settings文件(以下操作在找到的相应标签外加一个相同的标签即可)1.在lo

2022-05-19 01:41:03 261

原创 如何用HTML+CSS+JavaScript实现一个简单的电影网站页面

做一个页面,首先我们要先规划好怎样布局,我做的时候,先用div标签将页面的每个部分做好了布局,之后通过position来设置具体的盒子布局,之后再添加盒子的内容。话不多说,上源码。HTML部分<!DOCTYPE html><html lang="en"><head> <link rel="stylesheet" href="main.css" type="text/css"> <script type="text/jav

2022-05-17 23:06:13 4854 4

原创 控制器,过滤器,监听器的学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、拦截器 二、过滤器 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创.

2022-05-14 23:41:46 147

原创 Servlet三大作用域

首先我们要知道Servlet有拿三大作用域1.Request2.Session3.Application一.Requestrequest,顾名思义,就是一个请求作用域,数据仅在当前请求中有效,主要用于同一请求不同页面的参数传递和表单中的数据传递。常用方法作用于所有被请求涉及的servlet类,完成请求后失效二.Session每一个会话拥有一个session对象,session域中的数据可供当前会话中的所有servlet使用,一个会话在长时间未响应或者关闭浏览器时关闭,

2022-05-09 11:33:16 282 1

原创 对tomcat作为容器和servlet生命周期的理解

1.tomca作为容器借用我jee老师说的编程思想(jee):组件+容器,这里servlet就是组件,tomcat就是容器,两个结合在一起才能正常运作。而同样的例子,bean为组件,spring为容器。 具有独立功能的类称为组件,我个人的理解为,假如我们写了一个java类,我们需要电脑上的编译器以及各种环境才能正常运行。而在服务器端,tomcat就为我们提供了这样的容器,我们可以将编译好的servlet类...

2022-05-03 23:25:52 575 3

原创 idea怎么打开war包并运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1.解压war包2.用idea打开3.配置jdk4.添加框架支持和配置tomcat前言打开已有的war包案例进行学习可以让我们根据别人已有的经验进行快速学习,那我们该如何用idea打开war包呢?提示:以下是本篇文章正文内容,下面案例可供参考一、jar包和war包有什么区别 以我的理解来说,jar包是我们编写的所有java类源代码的打包,这样我们可以将其放在其他合适的框架里...

2022-04-20 11:24:59 24113 7

空空如也

空空如也

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

TA关注的人

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