自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows环境下启动Redis闪退

在Redis启动目录下新建start.txt文档,输入redis-server.exe redis.windows.conf 后保存,修改文档后缀名为bat,即为start.bat文件,双击start.bat文件即可成功启动Redis。

2022-08-27 14:10:06 455 1

原创 二分法查找

public class BinarySearch { public static void main(String[] args) { int[] arr=new int[]{1,2,3,4,5,6,9}; int i = binarySearch(arr, 8); int i1 = binarySearch(arr, 0, 6, 5); System.out.println(i); System.out.printl

2021-12-31 01:06:55 271

原创 单点登录之授权中心

1. AuthController编写授权接口,我们接收登录名和密码及登陆前的页面地址,登录成功后重定向到登陆前页面。请求方式:post请求路径:/login请求参数:loginName和password返回结果:无代码:@Controllerpublic class AuthController { @Autowired private AuthService authService; @Autowired private JwtProperties

2021-12-30 12:45:58 425

原创 面试题之JAVA高级篇

JVM只需一张图MQ相关问题如何保证消息的可靠性传输/如何处理消息丢失问题?考虑维度分析生产者原因:网络中断解决1:可以使用rabbitmq提供的事务功能   就是生产者发送数据之前开启rabbitmq事务(channel.txSelect),然后发送消息,如果消息没有成功被rabbitmq接收到,那么生产者会收到异常报错,此时就可以回滚事务(channel.txRollback),然后重试发送消息;如果收到了消息,那么可以提交事务(channel.txCommit)此方法会

2021-12-25 15:02:36 1173

原创 面试题之框架篇

一 spring循环依赖常见问法请解释一下spring中的三级缓存三级缓存分别是什么?三个Map有什么异同?什么是循环依赖?请你谈谈?看过spring源码吗?如何检测是否存在循环依赖?实际开发中见过循环依赖的异常吗?多例的情况下,循环依赖问题为什么无法解决?什么是循环依赖?两种注入方式对循环依赖的影响?官方解释https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-depen

2021-12-25 14:27:49 151

原创 面试题之JAVA基础篇

HashMap原理深拷贝与浅拷贝的理解深拷贝和浅拷贝就是指对象的拷贝,一个对象中存在两种类型的属性,一种是基本数据类型,一种是实例对象的引用。1.浅拷贝是指,只会拷贝基本数据类型的值,以及实例对象的引用地址,并不会复制一份引用地址所指向的对象,也就是浅拷贝出来的对象,内部的类属性指向的是同一个对象2.深拷贝是指,既会拷贝基本数据类型的值,也会针对实例对象的引用地址所指向的对象进行复制,深拷贝出来的对象,内部的类执行指向的不是同一个对象如何查看死锁1.可以通过jstack命令来进行查看,jstac

2021-12-25 14:09:34 362

原创 面试题总结

一、Java SE*161.解释下java中的Stream()流● Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简言之,Stream API 提供了一种高效且易于使用的处理数据的方式。● Stream是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。“集合讲的是数

2021-12-24 23:11:36 1754 1

原创 定时任务的多种实现——xxl-job

定时任务场景特征实现1.死循环2.Timer定时器3.juc中定时任务线程池4.延时队列5.SpringScheduling框架xxl-jobxxl-job结构:xxl-job的入门程序:场景 1.购物车数据同步 redis --> mysql 2.报表 3.布隆过滤器数据同步 4.MQ消息重发特征 1.时间驱动 2.批量处理 3.异步执行实现 1.jdk:死循环、Timer定时器、juc中定时任务线程池、延时队列等等 2.spring:SpringScheduling

2021-12-20 19:29:19 2362

原创 jwt实现无状态登录

3. jwt实现无状态登录JWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;官网:https://jwt.ioGitHub上jwt的java客户端:https://github.com/jwtk/jjwt3.1. 数据格式JWT包含三部分数据:Header:头部,通常头部有两部分信息:token类型:JWT加密方式:base64(HS256)Payload:载荷,就是有效数据,一般包含下面信息:用户身

2021-12-15 17:30:34 770

原创 缓存、分布式锁、Redisson、布隆过滤器

目的:1.降低请求的处理时间,进而提高服务的吞吐能力(并发量)2.保护数据库原理:内存的访问速度 远远 高于 硬盘的访问速度场景:读多写少技术选型:redis:单线程,五种数据模型。主流memcache:多线程,kv结构实现:1.注解:@EnableCache @Cacheable2.代码:jedis spring-data-redis(默认的序列化器RedisTemplate)步骤:1.先查缓存,如果缓存中命中,则直接返回2.如果缓存没有命中,则查询数据库或者远程调

2021-12-14 17:54:47 1630 1

原创 IOC四种注解

IoC四种注解:1.对象初始化注解@Component 通用注解,不推荐使用,要用的话,任何类的头上都能使用,但是这个类到底是干嘛用得就不知道了。@Controller 控制层使用@Service 服务层使用@Repository 数据访问层的注解2.依赖注入@Resource 这个注解属于J2EE的,默认按name注入,可以通过name和type属性进行选择性注入@Autowired spring的注解,默认按type注入@Qualifier spring的注解,

2021-12-10 18:56:41 2949

原创 rabbitmq-demo

2.1. 搭建demo工程创建两个demo工程:依赖相同:2.1.1. 生产者application.yml:server: port: 8080spring: rabbitmq: host: 172.16.116.100 port: 5672 virtual-host: /fengge username: fengge password: fengge publisher-confirm-type: simple # SIMPLE-

2021-12-09 14:50:20 1821

原创 谷粒商城——商品搜索之基本检索

项目结构SearchControllerpackage com.atguigu.gmall.search.contorller;import com.atguigu.gmall.search.pojo.SearchParamVo;import com.atguigu.gmall.search.pojo.SearchResponseVo;import com.atguigu.gmall.search.service.SearchService;import org.springframewor

2021-12-08 22:24:52 1893

原创 消息中间件RabbitMQ

MQ:Message Queue,消息队列MOM:Message Oriented Middleware,面向消息的中间件主流实现方式:JMS:Java Message Service,java消息服务。java规范;只能使用java实现;只有两种消息模型。(ActiveMQ)AMQP:Advanced Message Queueing Protocol,高级消息队列协议。本质上是协议,只规定了数据格式;任何语言都可以实现;可以有任意多种消息模型。(RabbitMQ)三个主要作用:1.异步2.

2021-12-08 21:18:52 1614

原创 thymeleaf 语法回顾

入门: 1.引入依赖:thymeleaf启动器 2.配置:spring.cache.enable=false 3.ctrl + shift + f9th:text 建议使用这个th:utext 可能导致脚本注入th:if truethness表达式: 1.boolean true 2.数字:不为0,不为空 3.字符串:"0" null "off" "false" 4.不为空的其他类型th:eachth:object 解包th:with 自定义变量th:switch

2021-12-08 16:42:01 406

原创 原生客户端RestHighLevelClient

@SpringBootTestclass EsDemoApplicationTests2 { // springboot-elasticsearch 对应原生客户端提供了支持,直接注入即可使用 @Autowired private RestHighLevelClient restHighLevelClient; // jackson工具类 private static final ObjectMapper MAPPER = new ObjectMapper();

2021-12-07 21:05:20 453

原创 elasticsearch基本操作

elasticSearch:搜索引擎 非关系型数据库Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。对比关系:indices索引库 database数据库type类型 table表document文档 row行field字段 columnmapping映射 schema约束索引库操作 查看所有索引库:GET /_cat/indices?v 查看一个索引库:GET /索引库名 例:GET /atg

2021-12-07 11:53:13 827

原创 mysql explain 的using where 到底是什么意思?

转自mysql explain 的using where 到底是什么意思? - SegmentFault 思否 https://segmentfault.com/q/1010000007000995高性能mysql上说 using where 意味着mysql服务器将在存储引擎检索行后再进行过滤。第一次我做如下的explain我的理解是这次查询在存储引擎层就使用了where,所以不用在mysql服务器层过滤。第二次explain这里为什么还有using where?不是已经在存储引擎层做了

2021-12-07 11:50:24 14936

原创 SpringData-Elasticsearch——SDE综合案例

package com.atguigu.es.demo;import com.atguigu.es.demo.pojo.User;import com.atguigu.es.demo.repository.UserRepository;import com.fasterxml.jackson.databind.ObjectMapper;import org.elasticsearch.action.search.SearchRequest;import org.elasticsearch.act

2021-12-06 19:51:33 116

原创 elasticsearch(DSL及SpringData-Elasticsearch)

1. elasticsearch基本操作1.1. 基本概念Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。对比关系:索引(indices)----------------------Databases 数据库 类型(type)--------------------------Table 数据表 [7.x废弃] 文档(Document)----------------------Row 行 字段(Field)-.

2021-12-06 19:50:29 506

原创 elasticsearch和kibana启动

查看es进程: ps -ef | grep elasticsearch查看kibana进程: netstat -tunlp|grep 5601启动方式①su es/opt/tool/es/elasticsearch-7.8.0/bin/elasticsearch -d/opt/tool/es/kibana-7.8.0-linux-x86_64/bin/kibana &或者后台启动kibanacd /opt/tool/es/kibana-7.8.0-linux-x86_64/bin

2021-12-05 19:12:14 1139

原创 elasticSearch使用docker安装启动

docker安装es和ik:docker相关命令:docker启动:systemctl start docker镜像相关命令:拉取镜像:docker pull xxx.xx 查看镜像:docker images删除镜像:docker rmi xxx.xx容器相关命令: 初始化一个容器:docker run -d -p xxx.xx/imagesId name 启动、重启、停止:docker start/restart/stop 容器名称、容器id 查看日志:docker lo

2021-12-04 21:51:21 1445

原创 学习资料——

docker:https://www.processon.com/view/link/6156a731e0b34d091235ef0a#mapelasticsearch:https://www.processon.com/view/link/6161892c0791290cc77ed87e#map分布式事务https://www.processon.com/view/link/6161892c0791290cc77ed87e#mapJVMhttps://www.processon.com/vi

2021-12-04 14:13:21 285

原创 IDEA不显示Services工具栏的快速解决方法

2021-12-01 20:24:46 245

原创 什么是事务

1.1 什么是事务提供一种“要么什么都不做,要么做全套(All or Nothing)”机制。1.2 事务的作用保证数据一致性1.3 事务ACID四大特性A:原子性(Atomicity)一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。C:一致性(Consistency)事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致

2021-11-30 18:31:11 205

原创 基于OpenFeign的服务调用

一、OpenFeign是什么OpenFeign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。Nacos很好的兼容了OpenFeign, OpenFeign默认集成了 Ribbon, 所以在Nacos下使用OpenFeign默认就实现了负载均衡的效果。二、OpenFeign的引入1、引入依赖service模块中配置OpenFeign的pom依赖(实际是在服务消费者端需要OpenFeign的依赖)&

2021-11-30 17:39:08 390

原创 OpenFeign——声明式调用远程方法——(SpringCloud)

6.OpenFeign服务接口调用6.1.概述6.1.1.OpenFeign是什么Feign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可 SpringCloud对Feign进行了封装,使其支持了SpringMVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。https://cloud.spring.io/spring-cloud-static/Hoxton.SR1

2021-11-30 17:07:34 291

原创 跨域问题是什么

5. 跨域问题跨域:浏览器对于javascript的同源策略的限制 。以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com如果域名和端口都相同,但是请求路径不同,不属于跨域,如:www.jd.com/itemwww.jd.com/goodshttp和http

2021-11-29 18:14:35 1527

原创 5. JUC强大的辅助类

5. JUC强大的辅助类JUC的多线程辅助类非常多,这里我们介绍三个:1.CountDownLatch(倒计数器)2.CyclicBarrier(循环栅栏)3.Semaphore(信号量)5.1. CountDownLatchCountDownLatch是一个非常实用的多线程控制工具类,应用非常广泛。例如:在手机上安装一个应用程序,假如需要5个子进程检查服务授权,那么主进程会维护一个计数器,初始计数就是5。用户每同意一个授权该计数器减1,当计数减为0时,主进程才启动,否则就只有阻塞等待了。C

2021-11-26 20:42:54 192

原创 两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B...5152Z,要求用线程间通信

两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B…5152Z,要求用线程间通信使用synchronized或者lock加锁,代码中注释掉的部分是使用lock的方法1.多线程编写模板:第一步:定义一个资源类,在类中定义属性和方法第二步:使用多线程调用资源类中的方法2.多线程通信模板第一步:定义资源类,在类中定义属性和方法第二步:在资源类方法中:1)判断2)干活3)通知第三步:通过多线程调用资源类中的方法 synchron

2021-11-26 00:41:47 655 1

原创 VSCode推送前端项目到远程仓库Gitee

进入前端项目guli-admin目录下1、执行git init 初始化本地仓库2、由于默认已经提供了gitignore文件忽略了node_modules,可以直接添加项目到暂存区​ git add .3、提交项目到本地仓库​ git commit -m ‘xxx’4、创建远程仓库,并在本地绑定git remote add origin https://gitee.com/xgatguigu/sh210625-guli-admin.git5、推送本地仓库到远端​ gi

2021-11-24 15:15:41 802

原创 MySQL经典练习题及答案

CREATE TABLE Student(SId VARCHAR(10),Sname VARCHAR(10),Sage DATETIME,Ssex VARCHAR(10));INSERT INTO Student VALUES('01' , '赵雷' , '1990-01-01' , '男');INSERT INTO Student VALUES('02' , '钱电' , '1990-12-21' , '男');INSERT INTO Student VALUES('03' , '孙风' , '19

2021-11-19 11:20:54 465

原创 Your VOD service is suspended——账号已欠费,请充值。

阿里云老资本家了阿里云视频点播报错Suspended : Your VOD service is suspended.充值完成后,需要重新设置读写权限,不然浏览器报403

2021-11-16 19:18:00 839

原创 2、MySQL

第一章 数据库概述1.1 数据库概述DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。DB:数据库(Database)SQL:结构化查询语言,(Structure Query Language),专门用来操作/访问数据库的通用语言。MySQL:其中的一款关系型数据库管理系统以下是2019年DB-Engines Ranking 对各数据库受欢迎程度进行调查后的统计结果:(查看数据库最新排名:https://

2021-11-04 14:48:04 841

原创 1、JDBC

第一章 JDBC概述之前我们学习了JavaSE,编写了Java程序,数据保存在变量、数组、集合等中,无法持久化,后来学习了IO流可以将数据写入文件,但不方便管理数据以及维护数据的关系;后来我们学习了数据库管理软件MySQL,可以方便的管理数据。那么如何将它俩结合起来呢?即Java程序<==>MySQL,实现数据的存储和处理。那么就可以使用JDBC技术。1.1 JDBC概述JDBC:Java Database Connectivity,它是代表一组独立于任何数据库管理系统(DBMS)

2021-11-04 14:34:16 212 1

原创 3.2.4嵌套循环——课堂练习

/** * 测试嵌套循环 * @author xxyh * */public class TestWhileQiantao { public static void main(String[] args) { //* 九九乘法表 for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ System.out.print...

2019-04-10 18:25:30 177

空空如也

空空如也

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

TA关注的人

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