自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch

{“info”: “黑马程序员前端讲师”, “email”: “zhangsan@itcast.cn”, “name”:{“firstName”: “三”, “lastName”:“张”}}{“info”: “黑马程序员C++讲师”, “email”: “ww@itcast.cn”, “name”:{“firstName”: “五”, “lastName”:“王”}}3)拿着词条在倒排索引中查找(由于词条有索引,查询效率很高),即可得到包含词条的文档id:1、2、3。“firstName”: “三”,

2024-06-06 21:01:00 421

原创 力扣经典题解杂记

二叉树先序遍历迭代法:(在层序遍历的代码模板上稍微改动一下):注意由于栈先进后出,所以我们先推入右节点,再推入左节点。递推公式:dp[i][j]=(s[i]==s[j])&&(j-i<3||dp[i+1][j-1]);在原链表的每个节点后面插入一个拷贝的节点,random复制完成之后拆分新旧链表即可。避免犯错的小技巧:1.在草稿纸上画草图2.使用如图中的函数,将头和尾一起传入和传出。跳跃游戏2:记录第一跳的左右区间,再记录第二跳的左右区间再…黄金链表翻转函数:(所有的翻转链表题目都基于此段代码)

2024-06-05 16:18:20 289

原创 Springboot原理

spring开发框架的web模块又称为Springmvc框架,它并不是单独的一个框架,只是spring框架的一个部分,用于简化原始的selvelet开发。ssm指的是springmvc+springframework+mybatis,但是开发效率比较低,现在企业都是基于springboot来开发的。enablexxxx封装了improt注解,improt里面的参数封装了所有自动配置类的全类名。我们发现上面三个bean输出的都是同一个,说明默认的bean是单例。自动配置用的就是方案二的enablexxxx。

2024-06-05 16:11:10 296

原创 Spring AOP

Aop表示面向切面编程,和oop面向对象编程一样都是一种编程思想,面向切面其实就是面向特定方法编程,不需要修改原始代码就能实现对功能的增强。@transationa加在接口上,表示接口的所有实现类内的方法都交给spring进行事务管理;目标对象被依赖注入的时候,注入的是代理对象,该代理对象就是将原方法和增强代码整合后形成的新方法。@transationa加载类上,表示类内的所有方法都交给spring进行事务管理;Spring事务管理底层就是基于aop来完成的,aop底层又是基于动态代理的。

2024-06-05 16:08:31 163

原创 Maven

1.依赖管理:传统的方法中,jar包导入需要手动导入到lib文件中,当jar包太多,而且假如对哪个jar包升级也需要把相关的jar包都升级,很麻烦。双击clean会清除target目录,compile编译后放到target目录下,test运行test目录里的程序后放到target目录下,package将项目打包成jar文件放到target目录下,install将jar包放入本地maven仓库。注意区分:logback(日志)和lombok(注解)3.标准化的项目构建流程:编译,打包,调试…

2024-06-05 16:05:25 142

原创 Redis

哨兵模式可能会产生脑裂, 假如由于网络原因,主节点和哨兵处于不同的网络分区,哨兵检测不到主节点就会选举新的主节点,一旦网络恢复就存在了两个大脑,旧的大脑强制降级为从节点并与新大脑同步数据,这样网络波动阶段的数据流就丢失了。如果过期了,就返回过期的数据,并拿到锁开启新的线程去更新过期数据。·主从集群:从节点可以备份主节点的数据,防止主节点宕机数据丢失,主从可以读写分离提高查询效率。主节点负责写操作,从节点负责读操作,满足redis读多写少的特性,每次写操作之后由主节点向从节点更新数据。

2024-06-05 16:03:28 355

原创 基于java的网络编程

基本的通信架构有2种形式:CS架构( Client客户端/Server服务端 ) 、 BS架构(Browser浏览器/Server服务端)。像idea,微信,QQ用的是CS架构。·TCP为什么三次握手而不是两次:既要保证服务端可以发消息和接消息,也要保证客户端可以发消息和接消息。·CS架构需要程序员完成客户端和服务端,BS架构只需要程序员完成服务端就可以了。·无论是CS架构,还是BS架构的软件都必须依赖网络编程!·网络通信的关键三要素:IP,端口,协议。·程序员只需要关注应用层的协议。

2024-06-05 15:56:58 121

原创 Git基本操作

仓库别名一般是origin,每个仓库可以有多个分支,默认分支是master。·对于手动初始化的仓库,需要git remote add添加远程仓库;·打开windows的Git Bash就是一个小的Linux窗口。·git目录里的head文件就是个指针,指向目前操作的分支。git clone+仓库http地址;·对于克隆的仓库已经有了远程仓库,则不需要再次添加;· .git文件夹里的index文件就是暂存区。· .git文件夹就是本地仓库/版本库。·包含.git文件的文件夹就是工作区。

2024-06-05 15:08:35 141

原创 消息队列基本使用

数据隔离:不同的项目使用同一个MQ的时候想要数据隔离开来,就需要创建不同的用户,给不同的用户配置不同的虚拟主机。在控制台创建这些容易出错,推荐的做法是由程序在代码里创建,项目启动时检查队列和交换机是否存在,如果不存在自动创建。异步通讯:就如同发微信聊天,双方的交互不是实时的,你不需要立刻给对方回应。因此你可以多线操作,同时跟多人聊天。同步通讯:就如同打视频电话,双方的交互都是实时的。·多个消费者绑定到一个队列,同一条消息只会被一个消费者处理。·交换机作用:只用发送一次消息,能够被处理多次。

2024-06-01 15:43:23 349

原创 docker和项目部署

docker可以帮助项目部署,同样比较常见的K8S是容器编排技术。·不同操作系统下其安装包、运行环境是都不相同的!如果是手动安装,必须手动解决安装包不同、环境不同的、配置不同的问题!而使用Docker,这些完全不用考虑,因为Docker会自动搜索并下载镜像(不是安装包)。镜像中不仅包含了服务本身,还包含了其运行所需要的环境、配置、系统级函数库。因此它在运行时就有自己独立的环境,就可以跨系统运行,也不需要手动再次配置环境了。这套独立运行的隔离环境我们称为容器。

2024-05-28 13:28:32 1031 2

原创 mybatis-plus简记

而service层则不一样,我们需要手写service的接口和实现类,而MP中service接口继承了IService,IService是MP的原有代码,内部有相当多的方法,难道实现类里面全部都要重写吗?MybatisPlus提供了自定义SQL功能,可以让我们利用Wrapper生成查询条件取代where,再结合Mapper.xml编写SQL,这样可以让所有的sql语句都在DAO层编写,而不在业务层,又使用了MP生成条件where的便捷。·mp代码的编写都在业务层,mbatis代码编写在DAO层。

2024-05-28 12:27:36 428

计算机-java-自学笔记

计算机-java-自学笔记

2024-05-28

空空如也

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

TA关注的人

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