自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

私は悪い人ですか的博客

肥宅的脱发小乐园

  • 博客(144)
  • 资源 (1)
  • 收藏
  • 关注

原创 MyBatista-plus常用插件以及配合使用的注解

public class MybatisPlusConfig { /** * 乐观锁插件 */ @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { return new OptimisticLockerInterceptor(); }...

2020-08-29 09:37:36 419

原创 redis的主从复制具体配置

文字流程拷贝多个redis.conf文件include 开启daemonize yes Pid文件名字pidfile 指定端口port Log文件名字 dump.rdb名字dbfilename Appendonly no关掉或者换名字前提条件:linux环境下的redis,首先使用redis.conf开启的redis服务是可以启动的。启用三台额外的redis服务(主要这些东西都没在一起,自己往下翻着找吧):新建redis6379.conf,填写以下内容新建r.

2020-06-07 16:22:43 214

原创 vue组件的Markdown使用

写项目用到了markdown组件,github的组件那个上面有安装的方法和不同情况下的使用方式。(安装我就不写了)在vue中使用使用1.主要代码:HTML<div class="blog-write"> <client-only> //代码高亮 <mavon-editor ref="md" :i...

2020-05-05 15:47:03 464

原创 springboot-admin服务的搭建

springboot-admin搭建前提是以springcloud为基础,在我的项目开发完毕后搭建的springboot-admin服务用来综合管理整个项目代码:package com.thekingqj;import de.codecentric.boot.admin.server.config.EnableAdminServer;import org.springfra...

2020-04-26 19:37:30 481 1

原创 Mybatis-plus之逆向工程(代码生成器)

通过数据库创建从controller-Mapper的所有代码,单表的操作基本上可以不用自己写sql语句。方法一:https://github.com/lxftheking/gmall/tree/master/gmall-generator修改yml配置文件就可以直接生成,比下面那个生成的代码更多,他把Controller层的单表查询的代码都给你生成了!!!!点击生成代码,会下载一个...

2020-04-20 20:47:29 459

原创 使用feign的get请求传输pojo对象

先说需求,服务间的调用需要查询数据,但是需要传递一个lis数组,写get请求,后台报错却是找不到post请求。解决:1.参数添加@RequestBody 注解。2.在调用端添加依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <ar...

2020-04-20 18:15:33 1195

原创 模拟让JAVA的某段代码占用较高的CPU,进行定位

1.前提:准备一个java代码的.class文件(下图是target中的.class文件)2.放入linux中,执行java Theking3.执行top命令4.执行jps -l 查看java后台5.执行ps -mp 39526 -o THREAD,tid,time定位到具体线程或者代码6.将39527转换成十六进制英文小写,jstac...

2020-04-14 21:43:41 386

原创 执行jstack报错Unable to open socket file: target process not responding or HotSpot VM not loaded The -F

Unable to open socket file: target process not responding or HotSpot VM not loadedThe -F option can be used when the target process is not responding(PS:这里我PID写错了应该是39526,不过我想展示的并不是PID出错。)执行j...

2020-04-14 21:34:27 1457

原创 vue中添加时间格式化函数

需求:格式化时间由2020-04-14 17:21:26-->2020年04月14日 17:21:26调用方式:代码:formatDate(value) { var date = new Date(value) var year = date.getFullYear() var month = this.padDate(date.getMon...

2020-04-14 20:23:08 657

原创 拦截器拦截跨域问题No 'Access-Control-Allow-Origin' header is present on the requested resource.

Access to XMLHttpRequest at 'http://localhost:8230/user/member/login' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the req...

2020-04-12 14:51:06 183

原创 List中汉字按照拼音顺序排序

前置条件,要读取Excel中的学校名称,但是不是按照拼音顺序排序的,贼头疼。参考连接:https://www.cnblogs.com/lxcmyf/p/8797612.html需要的依赖: <dependency> <groupId>com.belerweb</groupId> <artifac...

2020-03-04 16:12:17 404

原创 JDK1.8中Stream流API的使用

Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。Stream 是 Java8 中处理集合的关键抽象概...

2020-02-21 21:59:04 754

原创 MQ(消息队列)之rabbitmq的消息ttl和死信路由

消息的TTL(Time To Live)就是消息的存活时间。RabbitMQ可以对队列和消息分别设置TTL。对队列设置没有消费者消费的保留时间,也可以对每一个单独的消息做单独的设置。超过了这个时间,就认为这个消息死了,称之为死信。如果队列设置了,消息也设置了,那么会取小的。所以一个消息如果被路由到不同的队列中,这个消息的死亡时间有可能不一样(不同的队列设置)。死信路由DLX(Dea...

2020-02-19 19:52:45 549

原创 构建SpringCloud项目时的统一规范

1.统一返回结果的格式项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端(iOS Android, Web)对数据的操作更一致、轻松。一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。但是一般会包含状态码、返回消息、数据这几部分内容例如,我们的系统要求返回的基本数据格式如下{ "succe...

2020-02-18 20:50:34 1187 1

原创 缓存+分布式锁

缓存首页的访问量非常大,而首页中的商品类目访问量更大,鼠标移动就在访问,查询所有的数据,如果每次访问都实时到数据库获取数据,数据库的访问压力太大。而这些信息一般更新的频率比较低,短时间内不会发生改变。因此,我们可以考虑在前台系统中,增加一层缓存,把这些数据缓存起来,请求到来时,不再调用数据接口,而是直接读取缓存中的数据。这样就能大大减少首页分类加载所需时间,提高并发性能。加不...

2020-02-10 08:38:37 212

原创 使用Seata分布式事务的前提条件

1.引入依赖​​<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-seata</artifactId> <version>2.0.0.RELEASE</version>...

2020-02-06 18:15:06 1014

原创 seata分布式事务的解决方案

seata:Simple Extensible Autonomous Transaction Architecture官方:https://github.com/seata/seata中文wiki:https://github.com/seata/seata注意:数据库表的主键问题!!!!!如果要使用seata,那么对应的表必须要有主键存在。结构Seata有3个基本组件:...

2020-02-06 17:52:20 443

原创 分布式事务简单了解

概要: 分布式事务就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。考虑使用分布式事务的情况。1.不同的工程,不同的数据库2.不同的工程,相同的数据库3.相同的工程,不同的数据库原因:分布式系统异常除了本地事务那些异常之外,还有:机器宕机、网络异常、消息丢失、消息乱序、数据...

2020-02-06 15:29:00 255

原创 Spring本地事务应用(问题)

本地事务 springboot 1.x使用事务需要在引导类上添加@EnableTransactionManagement注解开启事务支持 springboot 2.x可直接使用@Transactional玩事务,传播行为默认是REQUIRED(springboot2.1开始默认的代理对象变成了cglib,而不是JDK了)注意: spri...

2020-02-05 16:26:43 309

原创 CompletableFuture异步调用的概述和使用样例

提要:在大型的项目某个主业务里,某个请求的调用,需要访问许多个微服务,才可以完成,但由于是远程调用,多微服务调用之间的延迟太高,用户的体验度太差,所以使用异步编排技术,由起初的一个线程执行,到多个线程异步执行,缩短请求的时间。CompletableFuture介绍Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用...

2020-02-04 21:50:42 355

原创 消息队列

什么是消息队列消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。结合前面所说的问题:商品服务对商品增删改以后,无需去操作索引库,只是发送一条消息,也不关心消息被谁接收。搜索服务服...

2020-02-04 16:47:24 96

原创 RabbitMQ

RabbitMQRabbitMQ是基于AMQP的一款消息管理系统官网: http://www.rabbitmq.com/官方教程:http://www.rabbitmq.com/getstarted.html安装下载镜像:docker pull rabbitmq:management创建实例并启动:docker run -d --name rabbitmq --publish 567...

2020-02-04 16:40:53 134

原创 实现短信验证微服务

大致的业务:通过rabbitmq,接收消息异步发送验证短信(非常简单)工具:IEDA,springCloud、rabbitmq、阿里云鼎信短信API实现(很简单):创建发送短信的微服务在调用端将消息发送给交换机(调用端,不是短信微服务端)@Override public void sendCode(String phone) { HashMap<Strin...

2020-02-04 08:53:29 227

原创 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could

服务无法启动,原因是pom.xml中没有排除mybatis-plus-boot-starter依赖2020-02-01 20:44:45.350 WARN 18916 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initia...

2020-02-01 20:49:13 807

原创 线程池(附手写)+阻塞队列+线程8锁

手写线程池:线程池的优势:线程池做的工作只要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。它的主要特点为:线程复用;控制最大并发数;管理线程。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的销耗。第二:提高响应速度。当任务到达时...

2020-01-31 17:54:21 180

原创 DefaultDataBufferFactory cannot be cast to org.springframework.core.io.buffer.NettyDataBufferFactory

修改:在gateway中排除tomcat的依赖就可以解释:gateway默认使用的是webFlux,而Tomcat使用的是netty

2020-01-31 15:16:57 4495 6

原创 了解跨域问题

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

2020-01-27 16:27:48 238

原创 JVM的Heap的内存调优,并通过调节Heap的大小实现OOM异常

IDEA上调节JVM的大小 参数:-Xms:初始的堆内存的容量大小(默认电脑内存的1/64) -Xmx:最大堆内存的大小,(默认电脑内存容量的1/4)代码查看:初始JVM的内存大小:package com.thekingqj;import org.omg.SendingContext.RunTime;import java...

2020-01-24 12:03:39 468

原创 JVM堆(heap)

概念: 一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行,堆内存分为三部分: 一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行。...

2020-01-24 12:03:15 152

原创 SpringBoot介绍

概述:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。习惯优于配置Springboot是什么? 整合所有的应用框架的框架;并且完美整合Spring技术栈一站式,SpringBoot用来简化Spring的开发,约定大于配置,去繁化简,只要运行就能创建一个独立的的,产品级别的应用。优点: 快...

2020-01-24 12:00:50 106

转载 Centos7卸载nginx

原文链接:https://blog.csdn.net/qq_35070576/article/details/87807708本机环境:centos7、使用nginx-1.11.1.tar.gz安装的Nginx1、停止Nginx服务/usr/local/nginx/sbin/nginx -s stop2、yum remove nginx可见我的安装方式不需要这一步,保险起见...

2020-01-24 11:53:20 164

原创 Vue.js进阶(极少部分)

一、组件(重点)组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:1.局部组件定义组件:var app = new Vue({ el: '#app', // 定义局部组件,这里可以定义多个局部组件 c...

2020-01-24 11:52:58 134

原创 GC垃圾回收(四个算法)

GC垃圾回收的地方:堆+方法区GC是什么:分代垃圾回收算法 频繁收集新生代较少收集老年代基本不动元空间JVM在进行GC时,并非每次都对上面三个内存区域一起回收的,大部分时候回收的都是指新生代。因此GC按照回收的区域又分了两种类型,一种是普通GC(minor GC),一种是全局GC(major GC or Full GC)Minor GC和Full GC的...

2020-01-24 11:52:15 779

原创 mysql脚本写入批量的数据

这只是一个样例,可以按照这个模板进行修改生成自己需要的批量数据1.建表 # 新建库create database bigData;use bigData; #1 建表deptCREATE TABLE dept( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, deptno MEDIUMINT UNSIGNED NOT ...

2020-01-24 11:51:52 267

原创 MyBatista的自定义映射

自定义resultMap,实现高级结果集映射 id:用于完成主键值的映射 result:用于完成普通列的映射 association:一个复杂的类型关联;许多结果将包成这种类型 collection : 复杂类型的集association 联合查询时使用在这种情况下,虽然两个表之间有主外键的关系,但是在实际的bean中,其中一个是以类对象的形式存在。<resu...

2020-01-09 09:32:49 122

原创 Mybatis的全局配置文件

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文件结构:configuration 配置properties 属性 : 一般是连接数据库的 可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来...

2020-01-09 09:32:27 83

原创 在SpringBoot项目下获取配置文件中的数据,

1.value注解的方式获取2.@ConfigurationProperties(prefix = "spring.datasource")配合文件信息:

2020-01-09 09:30:25 200

原创 使用阿里云的OSS作为文件系统存贮文件

登录阿里云使用免费的自己做测试的时候用,首先创建一个桶,用来存贮资源文件OS配置类:import org.springframework.boot.SpringBootConfiguration;import org.springframework.boot.context.properties.ConfigurationProperties;import or...

2020-01-09 09:29:35 905

原创 elasticsearch实现中文分词+远程自定义词库(nginx)

中文分词elasticsearch本身自带的中文分词,就是单纯把中文一个字一个字的分开,根本没有词汇的概念。但是实际应用中,用户都是以词汇为条件,进行查询匹配的,如果能够把文章以词汇为单位切分开,那么与用户的查询条件能够更贴切的匹配上,查询速度也更加快速。分词器下载网址:https://github.com/medcl/elasticsearch-analysis-ik安装...

2020-01-09 09:28:30 1284

原创 IDEA中SpringBoot项目的热部署

一共四步:1.修改pom文件<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> ...

2019-12-30 10:15:33 85

web项目jar.rar

这是我做项目用的jar包,因为我暂时还没有用maven所以传一个上去,我会持续更新这个压缩包的,当然这些东西你都可以去官网上找到的

2019-07-22

空空如也

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

TA关注的人

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