自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 客户端发送查询请求,怎么实现redis的缓存

查询数据实现redis缓存的步骤第一步:定义拦截器配置类;第二步:定义过滤器类,实现对请求对象的增强第三步:定义增强请求对象的实体类,在里面实现请求对象增强的代码逻辑第四步:自定义拦截器类,实现handlerInterceptor接口,在里面进行向redis缓存中查询数据的操作第五步:如果缓存中没有数据,就向数据库查询以后存到redis缓存中第一步代码:@Configurationpublic class WebConfig implements WebMvcConfigurer {

2020-11-10 20:16:35 521 1

原创 maven如何发布私服,RELEASE与SNAPSHOT的区别

maven中的仓库:SNAPSHOT:给…拍快照拍快照,快照仓库,snapshot快照仓库用于保存开发过程中的不稳定版本。RELEASE:发布; 新发行的东西,发布仓库,release正式仓库则是用来保存稳定的发行版本。maven的生命周期中各个命令所执行的阶段:package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包

2021-04-13 19:57:45 1641

原创 springboot@EnableAsync注解的作用

个人理解:开启异步线程,相当于你需要消费大量的消息的时候不需要考虑其顺序性,一般是自己定义线程池,用多线程的方式去消费,但是如果你的模块中有多个方法需要使用多线程,你就需要定义多次,springboot的@EnableAsync注解就很好的帮你解决这个问题。使用示例:1.启动类上加上注解:@EnableAsync2.方法上加上注解:@Async3.编写配置类,定义线程池一、controller层代码:二、service层代码三、配置类四、输出结果通过输出结果可以看出,我们定义的异步

2020-12-28 16:20:46 6526 1

原创 RocketMq发生数据丢失解决办法

一、问题当向RocketMQ频繁push数据,broker负载较高时,会报system busy或broker busy的问题。当发生此类问题时,会导致数据丢失。报system busy或broker busy 说明PageCache繁忙,向PageCache追加消息时,单个消息发送占用的时间超过一定时间,如果持续往该Broker服务器发送消息并等待,超时后,broker采用快速失败机制返回失败信息。解决这种问题需要对RocketMQ进行配置调优,提升RocketMQ的吞吐能力。二、参数调优默认情

2020-12-10 14:53:02 1197

原创 事件发生与当前时间的时间间隔的固定代码

应用场景:例如微信朋友圈下方显示的发送朋友圈多长时间了,可以直接复用。import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; public class RelativeDateFormat { private static final long ONE_MINUTE = 60000L; private static final long ONE_HOUR =

2020-11-12 21:46:13 224

原创 java的强引用和弱引用理解

在JAVA里面,存在强引用、弱引用、软引用、虚引用。这里主要谈一下强引用和弱引用。强引用,就不必说了,类似于:A a = new A();B b = new B();考虑这样的情况:C c = new C(b);b = null;考虑下GC的情况。要知道b被置为null,那么是否意味着一段时间后GC工作可以回收b所分配的内存空间呢?答案是否定的,因为即便b被置为null,但是c仍然持有对b的引用,而且还是强引用,所以GC不会回收b原先所分配的空间!既不能回收利用,又不能使用,这就造成了内存泄露

2020-11-12 20:38:31 157

原创 ThreadLocal的简述

概念:ThreadLocal 不是 Thread,是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,对数据存储后,只有在线程中才可以获取到存储的数据,对于其他线程来说是无法获取到数据,ThreadLocal提供一个线程(Thread)局部变量,访问到某个变量的每一个线程都拥有自己的局部变量。说白了,ThreadLocal就是想在多线程环境下去保证成员变量的安全几个常用的方法get方法set方法setInitialValue方法都是很简单的代码逻辑,知道这个怎么用就行了,至于具

2020-11-12 20:28:05 122

原创 单点登录实现token处理的统一

实现token统一其主要目的是,每次客户端发起请求的时候,其它业务功能需要权限才能进行下去,而又不想每次都去查询数据库校验,所以可以通过ThreadLocal这个类的api来实现线程与对象绑定来实现token处理的统一。实现步骤1.配置拦截器配置类(实现WebMvcConfigurer重写addInterceptors方法)2.定义拦截器类HandlerInterceptor重写preHandler方法)3.自定义一个注解,标识不需要token的方法不进行拦截,需要token的方法就进行拦截4.自

2020-11-12 19:17:10 1288

原创 什么是dubbo

dubbo概念Dubbo是阿里巴巴公司开源的一个高性能、轻量级的Java RPC框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。●Provider: 暴露服务的服务提供方●Contahier: 服务运行容器●Consumer: 调用远程服务的服务消费方●Registry: 服务注册与发现的注册中心●Monitor:统计服务的调用次数和调用时间的监控中心简单理解就是,跨网络的进行远程调用的RPC框架dubbo模块可以看成是一个信息的生产者,里面有一些pojo实

2020-11-10 18:05:11 430

原创 jar包怎么导入maven本地仓库

一、cmd命令行方式<dependency> <groupId>com.arcsoft.face</groupId> <artifactId>arcsoft-sdk-face</artifactId> <version>3.0.0.0</version></dependency>mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面

2020-11-07 19:45:15 395 1

原创 什么是token

token的概述1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。3、使用Token的目的:Token的目的是为了减轻服务器

2020-11-07 14:34:46 168

原创 当redis服务器出现大量请求时可能出现的问题

当redis服务器出现大量请求的时候,可能出现的问题如下,只是简单的聊了一下出现问题的原因和简单的处理办法,如果想了解得更加详细,可以复制关键字去百度百科搜索。**缓存预热:**场景:服务器启动后迅速宕机大量请求过来,需要在缓存中获取数据,缓存中又没有,从而去数据库找,然后再将数据存入缓存,短时间内高强度操作redis导致出现问题解决方案:系统启动前,提前将相关的缓存数据直接加载到缓存系统,避免用户请求的时候,先查询数据库,然后再将数据缓存的问题。**缓存雪崩:**大量请求过来,短时间范

2020-11-03 19:37:21 2240

原创 spring框架所用到的注解

@Bean定义spring中的资源,受此标签定义的资源将受到spring的控制@Component,@Service,@Controller,@Repository位置:类定义上方,设置该类为spring管理的bean@Scope位置:类定义上方,定义bean的作用范围,取值singleton单例,prototype非单例@PostConstructjava5的时候引入的注解,指的是在项目自动的时候执行被这个注解修饰的方法,也可以理解成在spring容器启动的时候执行,可作为一些数据的常规加载

2020-10-30 21:39:09 354

原创 rocketmq在虚拟机中启动的时候出现的一些问题详解

一、虚拟机防火墙未关闭解决办法:二、Rocketmq启动mqnamesh的时候报错地址被占用解决办法:查看9876端口开启的线程,把它杀死就好了三、当上述操作改好后,在idea中开启生产者生产消息报错连接超时解决办法:修改conf文件夹下的broker.conf新增brokerIP1=localhost(你本地虚拟机的ip地址,可以用命令:ip addr 查看)autoCreateTopicEnable=true修改好以后启动broker的命令用下面命令启动sh mqbroker

2020-10-30 17:16:46 731

原创 Zookeeper简述

Zookeeper:是树形结构,由节点组成,每个节点都可以用来存储数据。监听器:注册在节点上,curator引入了cache来实现对zookeeper服务端的监听,就是当节点发生变化的时候,监听器能够感知到这个变化,然后执行所需要的操作。分布式锁:解决跨机器的进程之间的数据同步问题。1.客户端需要锁,就创建临时的顺序的节点,使用后删除。2.多条线程在某个节点创建子节点,拿到最小序号节点的线程就相当于拿到了锁,拿到锁的线程执行完以后释放锁,再重新创建子节点。3.没有拿到锁的线程,会通过监听器来监听序

2020-10-22 19:38:19 109

原创 Json字符串与对象的转换

JSON(JavaScriptObjectNotation):一种轻量级的数据交换格式,它是基于ECMAScript规范的一个子集,采用完全独立于变成语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于计算机解析和生成,并有效的提升网络传输效率。import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.ObjectMa

2020-10-11 14:29:55 182

原创 利用POI技术实现导出excel报表

这个是很固定的代码步骤,下面会有三段代码,前面两段是基础介绍,最后一段基本可以复制下来,所有场景基本上都能套用。maven工程中所需要的poi依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </depende

2020-10-07 20:59:28 319

原创 文件上传到页面展示

文件上传到页面进行展示效果图如下:用文字真的不是很好形容,下面直接用代码进行展示把servlet中的代码:package com.itheima;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;i

2020-10-07 20:42:37 459

原创 Vue入门与简单操作

概述:Vue是一套构建用户界面的渐进式前端框架由视图和脚本两部分构成其中视图负责页面的渲染,脚本负责业务数据模型和数据处理的逻辑视图:主要为html+css脚本:script标签中Vue核心对象的代码,其中this关键字表示的就是当前Vue的核心对象。Vue对象能够帮我们管理el绑定区域的样式,数据之类的东西<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l

2020-09-27 12:41:59 133

原创 省市联动与搜索提示的简单代码实现

**①省市联动**<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.min.js"></script></head><!--定义下拉列表--><body>省份:&l

2020-09-27 12:41:33 5904

原创 ajax异步请求原理

1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用:使用XHTML+CSS来标准化呈现;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest对象与Web服务器进行异步数据通信;使用Javascript操作Document Object Model进行动态显示及交互;使用JavaScript绑定和处理所有数据。2.AJAX的工作原理Aja

2020-09-27 12:40:07 2100 1

原创 sql查询时,创建执行sql语句的对象是Statement时发生的注入攻击现象

sql查询的时候发生注入攻击现象的代码演示注入攻击的原理**通俗一点讲就是,登录的表格,通过特殊的字符串作为密码,被提交上去,由于sql本身查询的机制问题,导致注入攻击现象的产生。示例:select * from user where username=’" + username + “’ and password=’” + password + “’”;当String password = “abc’ or ‘1’='1”;的时候,or关键字的存在导致查询的条件改变,所以发生了注入攻击的现象。

2020-09-24 19:12:49 231

原创 随机点名器用前端代码实现

在html中实现随机点名----代码实现效果如下:注意:1.jar包的导入2.随机索引的生成<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>随机点名器</title> <!--引入JQery的jar包--> <script src="js/jquery-3.3.1.min.js">

2020-09-23 01:09:48 1389

原创 随机点名器的java代码实现

随机点名器1. 定义一个prop.properties文件2. 编写java代码①实现②实现 public static void main(String[] args) throws Exception { InputStream is = hjjk.class.getClassLoader().getResourceAsStream("prop.properties"); InputStreamReader isr=new InputStreamRead

2020-09-21 14:49:49 4677 2

原创 MySql专项练习题全套②

MySql专项练习题②CREATE DATABASE db01;USE db01;– 学生表CREATE TABLE student (Sno VARCHAR(20),Sname VARCHAR(20),Ssex VARCHAR(20),Sbirthday DATETIME,Class VARCHAR(20));– 添加学生数据INSERT INTO student VALUE (‘108’,‘曾华’,‘男’,‘1977-09-01’,‘95033’);INSERT INTO student

2020-09-20 11:35:33 1613 1

原创 MySql专项练习题①

MySql专项练习题①CREATE DATABASE db10;use db10;– 员工信息表CREATE TABLE emp(empno INT,ename VARCHAR(50),job VARCHAR(50),mgr INT,hiredate DATE,sal DECIMAL(7,2),comm DECIMAL(7,2),deptno INT) ;INSERT INTO emp VALUES(7369,‘SMITH’,‘CLERK’,7902,‘1980-12

2020-09-19 16:19:04 307

空空如也

空空如也

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

TA关注的人

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