- 博客(110)
- 资源 (1)
- 收藏
- 关注
原创 mysql8: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
增加如下3行配置即可。
2023-08-14 17:43:12
207
原创 设计模式期末复习 -- 能不能速成看个人造化了
设计模式期末复习一.创建型模式1.简单工厂(不属于GOF23种设计模式之一)2.工厂方法3.抽象工厂4.原型模式5.单例模式懒汉式(延迟创建)饿汉式优雅的单例模式实现静态内部类枚举二 结构型模式1.适配器模式对象适配器类适配器2.桥接模式3.组合模式4.装饰器模式5.门面模式6.享元模式(蝇量模式)7.代理模式静态代理动态代理JDK proxy 和CGlib和ASM三 行为型模式1.职责链模式2.命令模式3.迭代器模式4.观察者模式5.状态模式6.策略模式7.模板方法模式一.创建型模式1.简单工厂(不
2021-12-29 17:53:30
1081
1
原创 春招冲刺Day6[高频算法题] -- 安排会议室(贪心,区间问题)
区间问题1 .会议室1.1 会议室I1.2 会议室II1 .会议室这两道题来自Leetcode 252 和Leetcode253 ,需要会员才能做!!1.1 会议室I思路很简单,对会议按照开始时间进行排序,如果后一个会议的开始时间小于前一个会议的结束时间,则表示这两个会议冲突,不能都参加 public static boolean scheduleMeetingRoom1(int[][] meetings){ if(meetings == null || meetings.le
2021-12-28 16:05:37
753
原创 春招冲刺Day5[高频算法题] --2SUm | 3Sum....N Sum问题
一套模板解决Nsum问题三数之和N数之和管你几和,直接用模板秒杀`三和``四和`声明本文来自Labuladong大佬,本文只是用Java实现了一遍这里贴上Labuladong大佬的原文传送门三数之和三数之和class Solution { public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res = new ArrayLi
2021-12-27 21:29:29
431
原创 春招冲刺Day4[高频算法题] --自己动手实现个LRU,要求带泛型
注意::(1)LRU中head,tail是两个dummy节点,在构造方法中都指向了两个节点,这样的好处是统一进行添加和删除操作,而不用针对头,尾节点进行另外的删除操作!!2. PUT操作时,如果是需要更新,那么先把需要更新的节点从双向链表中断开,再移动到头部;如果是新增的,需要考虑是否需要置换,置换时需要把hashMap中的key删除掉import java.util.HashMap;public class LRU<K,V> { private HashMap<K..
2021-12-27 14:15:25
210
原创 春招冲刺Day3 [高频算法题] --手写个堆排序吧
堆1.二叉堆2.建堆的两个操作HeapInsert(从下而上)Heapify(从上而下)3.堆排1.二叉堆性质其中需要注意的几点:二叉堆用数组表示后(n为元素数量)根节点索引为 0左孩子索引为 2i + 1右孩子索引为 2i + 2一个有效节点的父节点为 (i - 1) / 2如果 2i + 1 >= n , 则i没有左孩子,也没有右孩子2.建堆的两个操作HeapInsert(从下而上)for (int i = 0; i < arr.length; i++) {
2021-12-23 10:32:51
636
原创 春招冲刺Day2 [高频算法题] -- 一网打尽快排
一网打尽快排1.初出茅庐2.小试牛刀荷兰国旗问题3.炉火纯青(快排1.0)4.登峰造极(快排2.0)快速排序作为十大经典排序算法之一,在面试场中屡屡出现,不是要求手写快速排序,就是快速排序的变种,为了方便复习,特此总结快速排序1.初出茅庐给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)2.小试牛刀荷兰国旗问题给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于nu
2021-12-21 18:53:53
520
原创 春招冲刺Day1[高频算法题] -- 最大重叠区间的个数
[题目]给定一些区间,请返回这些区间里面最大的重叠数,给定的区间的边界值都是正整数[举例]输入int[][]二维数组[[1,3],[2,6],[3,8],[8,11]]此时返回最大重叠区间数为2[1,3],[2,6]重叠,数目为2[2,6],[3,8]重叠,数目为2返回最大值为2注意: [1,3]和[3,8]不算重叠!!![最优解]利用小顶堆思路是先给区间按照左边界从小到大排序,如果左边界相等,谁先谁后都行!!遍历每一个区间,记当前区间的左边界为curLeft,右边
2021-12-17 21:48:13
1645
原创 春招冲刺Day2 [操作系统] --来聊聊死锁呗?
死锁1.死锁的产生2.处理死锁2.1预防死锁2.2 避免死锁3.死锁检测和死锁解除3.1JAVA如何检查死锁面试官:用代码模拟死锁??!!(这里用Synchronized模拟,也可以用ReentrantLock!!)JstackJconsole1.死锁的产生死锁是在一组进程中的每一个进程都占有了资源,并且都在等待其他进程所占有的资源,这样会导致进程无限期等待下去,无法推进产生死锁的4个条件2.处理死锁目前处理死锁的方法主要有以下4种2.1预防死锁所谓预防死锁,就是要破坏产生死锁的4个条件中的
2021-12-17 19:51:21
1144
原创 春招冲刺Day1 [操作系统] --CPU调度(进程调度)
进程调度1.什么是进程调度2.什么时候需要调度??3.常见的调度算法(单处理器,不考虑多核)(1.FCFS(先来先服务)(2.SJF(短作业优先)(3.HRRN(高响应比优先)(4.RR(时间片轮转)(5.最高优先级调度(HPF)(6.多级反馈队列(MFQ)(目前公认较好)1.什么是进程调度2.什么时候需要调度??⾮抢占式的意思就是,当进程正在运⾏时,它就会⼀直运⾏,调度程序必须等待进程执行结束,即使该进程由于IO阻塞住了⽽抢占式调度,顾名思义就是进程正在运⾏的时,可以被打断,使其把 CPU
2021-12-15 16:00:24
1209
原创 从汇编看volatile与MESI的关系
JMM1.来谈谈JMM2.volatile和synchronized关键字2.1volatile是如何保证可见性的??2.2 volatile是如何保证有序性的呢??哪些情况不能重排序??三级目录1.来谈谈JMM我们都知道,为了提高CPU的运行效率,我们会在CPU和内存之间加入高速缓存来提高CPU的速度,由于当今CPU都是多核的,这会导致缓存一致性的问题,为了解决一致性的问题,需要处理器在访问缓存时都遵循一些协议,在读写数据时,要根据协议来操作,这类协议有MESI,MOSI,MSI等等…不了解MESI
2021-11-22 17:25:55
1161
原创 单调栈的应用
滑动窗口最大值此题是滑动窗口中的数字个数是固定的,如果窗口中的数字个数在动态变化,比如R右边界增加,L不变…那有没有一种数据结构结构,可以让我们以O(1)的复杂度得到此时滑动窗口中的最大值或者最小值呢???有,那就是单调栈!!!单调栈可以使用双端队列来实现!!该单调栈中保证从头部到尾部保证数据的严格递增或递减;当R往右移动一个位置时,如果此时R位置的数,满足单调中的严格递增或递减顺序,则放入到队列尾部如果不满足,则依次取出队列中的值,直到放入的数满足严格递增或递减的顺序当L往右动时,如果L.
2021-11-21 17:47:18
1218
原创 JUC基石 ---AQS
AQS1.什么是AQS??2.以ReentrantLock为例,理解AQS2.1首先来看公平与非公平是咋实现的??2.1.1 加锁2.1.1 解锁1.什么是AQS??AQS: 抽象的队列同步器:是JUC的基石,是构建锁(ReentrantLock和ReentrantReadWriteLock)和其他同步器组件(Semaphore,CountDownLatch,CyclicBarriar)的基础框架;抽象: 我们要使用AQS,需要继承AQS并重写诸如tryAcquiretryRelease
2021-11-14 21:30:04
681
原创 图解HTTP 报文和实体的区别???
<<图解HTTP>>中有一段对报文和实体的区别:报文(message)是HTTP通信中的基本单位,由8位组字节流(octet sequence,其中octet为8个比特)组成,通过HTTP通信传输。实体(entity)作为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成。简单来说,实体主体是我们想要传输的实际信息,实体首部是对该信息的描述,而实体和其它一些信息(请求行/状态行、各种首部字段等等)组织成报文进行传输。书中有张图很有帮助(上为请
2021-10-17 18:16:47
795
1
原创 腾讯面试官: 给我讲讲B树索引的作用吧?? (MRR优化,顺序读,随机读,临时表)
1.索引能极大地减少扫描行数,加快查询速度因为B+树索引是一种排好序的,可用于快速查找的数据结构,因为当我们查找特定数据时,往往只需几次IO;2.索引可以帮助服务器避免排序和临时表当我们正常运行 sql 语句的时候,如果不使用索引运行下面这条语句:SELECT * FROM user order by age desc;MySQL 的流程是这样的扫描所有行,把所有行加载到内存后再按 age 排序生成一张临时表,再把这表排序后将相应行返回给客户端,更糟的,如果这张临时表的大小大于 tm
2021-10-17 16:44:50
277
原创 Mysql中<=> 和 < > 的区别??
< > 运算符作用:表示不等于。说明:和 “!=” 运算符的作用一致,相较之下 “<>” 的可读性较差。查询非汉族用户,以下两条语句的作用是一致的。SELECT * FROM user WHERE nation != “汉族”;SELECT * FROM user WHERE nation <> “汉族”;查询非汉族用户,以下两条语句的作用是一致的。SELECT * FROM user WHERE nation != “汉族”;SELECT *
2021-10-16 20:08:19
797
原创 select ** from a,b 与 select ** from a join b on 的区别???
区别首先,这两种写法其实是一个意思,都是表达的内联结的意思,只是语法不同SELECT vend_name, prod_name, prod_priceFROM Vendors, ProductsWHERE Vendors.vend_id = Products.vend_id;------------------------------------------SELECT vend_name, prod_name, prod_priceFROM Vendors INNER JOIN Prod
2021-09-28 16:06:46
1543
转载 02 | 日志系统:一条SQL更新语句是如何执行的?
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c:mysql> create table
2021-09-25 18:09:12
161
转载 MYSQL实战45讲(一)一条SQL查询语句是如何执行的?
这是专栏的第一篇文章,我想来跟你聊聊 MySQL 的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:mysql> select * from T where ID=10;我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。所以今天我想和你一起把
2021-09-25 17:57:23
185
原创 为什么重写equals()时必须要重写hashcode()??(清晰明了!)
为什么重写equals时必须要重写hashcode??为什么需要重写equasl方法???为什么类重写equals时必须重写hashcode??通过hashcode和equals搭配比较对象是否相等,是如何提高效率的???为什么需要重写equasl方法???equasl()方法是Object中的方法,用于判断两个对象是否相等 public boolean equals(Object obj ) { return ( this == obj ); }我们
2021-09-03 11:46:35
245
原创 自定义注解+AOP+Guava实现限流
自定义注解+AOP+Guava实现限流一.引入AOP和Guava依赖二.自定义限流注解三.定义Aop四.测试一.引入AOP和Guava依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId&
2021-09-02 21:22:45
878
原创 深入浅出ThreadLocal
深入浅出ThreadLocal一.谈谈你对ThreadLocal的理解??二.ThreadLocal的应用场景三.ThreadLocal的核心源码四.ThreadLocal引发的内存泄露问题及解决一.谈谈你对ThreadLocal的理解??This class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses o
2021-08-30 21:36:34
297
1
原创 springboot视频上传阿里云,如何获取视频的某一帧作为封面??
阿里云如何获取视频的某一帧作为封面在项目中,需要上传视频到阿里云,并把封面链接存入MYSQL数据库,封面需要从视频中截取一帧,那么如何截取呢???/* * @Author YangJiaWen * @Description //用户上传视频 * @Date 10:38 2021/8/17 * @Param * file file 视频文件 title string 标题 intro string 简介
2021-08-18 00:01:59
1429
原创 拦截器实战 (根据Token获取Redis中的用户数据)
拦截器实战 (根据Token获取Redis中的用户数据)背景:后端中某些接口需要根据前端传递的Token去Redis中获取对应的用户信息1.改进前获取用户信息的方法 @GetMapping("/user") public ResponseEntity<User> getUesrInfo(String token){ User user = (User)redisTemplate.opsForValue().get(RedisPrefix.SESSIONI
2021-08-15 21:55:45
1762
原创 blibli APP项目 环境搭建以及部署
blibli APP前言1.Docker Compose二级目录三级目录前言该项目所用到的技术Docker/Docker ComposeElasticSearchspringbootspringcloudredismybatisrabbitMQ1.Docker Compose启动Nacos,Mysqlversion: "3.0"services: nacos: image: nacos/nacos-server:2.0.2 ports: - "8
2021-08-15 11:12:30
376
2
原创 统一结果返回 ResponseEntity
统一结果返回 ResponseEntity在正规的严格的企业的前后端系统开发中,返回严谨的状态码很有必要平常大家为了统一格式返回,或许会自己封装一个ResultUtils,然后自定义ResultCode枚举类来返回,这样有些麻烦;我们可以使用SpringMVC为我们封装的ResponseEntity对象来自定义状态码源码:public class ResponseEntity<T> extends HttpEntity<T> { private final Obje
2021-08-15 10:01:32
1432
原创 ElasticSearch IK分词器配置远程词典
ElasticSearch IK分词器配置远程词典1.在线安装IK分词器2.IK分词器的弊端3.解决措施,配置远程词典实时更新补充1.在线安装IK分词器ElasticSearch中默认的分词器是standard,该分词器对中文按字分词,对英文按单词分词GET /_analyze{ "text": "我是一个杠精,hello world!"}结果{ "tokens" : [ { "token" : "我", "start_offset" : 0,
2021-08-09 16:11:54
3169
原创 ElasticSearch Query查询(DSL方式) 高亮查询,布尔查询...
文章目录1.查询所有2.指定字段查询3.布尔查询并且指定字段4.多id查询(ids)5. 模糊查询(fuzzy)6.高亮(HighLight)查询7.多字段查询8.多字段分词查询测试数据## 文档操作PUT /ems{ "mappings":{ "emp":{ "properties":{ "name":{ "type":"text" }, "age":{ "type":"integer"
2021-08-09 12:39:40
847
原创 Nacos集群搭建(MYSQL+Nacos+Nginx)(超详细!!!)
Nacos集群搭建 MYSQL+Nacos+Nginx前言:一.搭建Nacos集群二.利用Nginx实现Nacos集群高可用1.安装Nginx2.修改配置文件3.测试前言:由于Nacos是服务注册中心和统一配置中心,生产开发中为了保障高可用性,得搭建Nacos集群集群解决问题:1.并发访问压力2.单节点故障问题一.搭建Nacos集群 注意:a.3个或3个以上Nacos节点才能构成集群。b.要求虚拟机内存分配必须大于3G以上c.搭建Nacos时,需要清空data目录中的数据,d.如
2021-08-05 14:28:05
2177
原创 nacos使用MYSQL持久化统一配置中心的数据(超详细!!!)
nacos持久化前言1.利用Docker安装MySQL5.71.Nacos持久化配置数据前言在0.7版本之前,在单机模式时nacos使用嵌入式数据库(derby)实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:1.利用Docker安装MySQL5.7以后利用docker安装各种服务时,都可以按照这个步骤(1).登录dockerhub查看远端仓库对应镜像的版本号,并阅读安装步骤每个服务都会有详细的安装步骤(2).拉取到本地仓库do
2021-08-05 10:15:02
1616
原创 Bus组件 + RabbitMQ + webHooxs 实现自动刷新配置
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
2021-08-02 23:13:30
561
原创 Config 统一配置中心 搭建(详细教程!!)
Config 统一配置中心引言一 、Config Server 开发二、Config Client 开发注意引言springcloud config官网地址什么是config简单来说,就是为了统一管理微服务的配置,好处是日后大规模集群部署服务应用时,相同的服务配置一致,日后再修改配置只需要统一修改全部同步,不需要一个一个服务手动维护。工作流程config server先去github/gitee/gitlab等代码托管平台上拉取配置文件到config server,同时config s
2021-08-02 21:56:57
2085
原创 consul + gateway + ribbon实现负载均衡
consul + gateway + ribbon实现负载均衡前言:1.Gateway环境搭建2.测试3.总结前言:使用的consul服务注册中心,所以需要单独建立一个gateway子项目,然后引入gateway和consul的依赖,注册到consul服务端并且为了测试,还注册了category服务和goods服务,其中goods服务含有两个节点,模拟集群1.Gateway环境搭建pom文件父项目<?xml version="1.0" encoding="UTF-8"?>&
2021-08-02 12:20:08
749
原创 OpenFeign服务间通信的数据响应
在上一篇我们记录了OpenFeign服务间通信的数据传参OpenFeign服务间通信的数据传参今天我们记录服务间调用时数据是如何返回的返回自定义对象和List集合由于OpenFeign在调用服务获取数据后会对json进行解析,因此我们不需要我们编写任何代码 @RestController public class GoodsController { private static final Logger log = LoggerFactory.getLogger(GoodsControl
2021-07-31 18:35:26
442
原创 OpenFeign组件服务间调用时参数传递
OpenFeign组件`微服务间通信的方式??`1.基于Http应用层协议2.基于RPC传输层协议`OpenFeign服务间通信时参数传递`1.基本数据类型2.传递对象类型3.传递数组和集合类型微服务间通信的方式??服务间通信的方式主要有以下两种:1.基于Http应用层协议特点1.使用http rest方式,使用json作为数据交换的2.效率较低,但是耦合度低(耦合度低意味着如果不同服务使用不同的技术框架进行开发后,进行通信的成本低)典型的实现1.RestTemplate缺点:1.
2021-07-31 16:45:16
2753
c++所有排序算法的总结
2020-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人