自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (8)
  • 收藏
  • 关注

原创 【vue异常解决】Invalid default value for prop “items“: Props with type Object/Array must use a factory

vue组件通信异常解决

2022-11-17 14:40:19 1414 1

原创 springcloud-alibaba五大核心组件-后端开发工程(脚手架)搭建

springcloud-alibaba微服务最小系统搭建

2022-10-08 15:27:19 4107

原创 mybatis-plus通用业务分页查询封装

mybatis-plus通用业务分页查询封装

2022-09-29 12:32:42 1989

原创 Linux内核零拷贝底层原理

传统拷贝模式写过程:用户空间到内核空间:用户态切换到内核态,调用CPU Copy进行一次数据拷贝,拷贝到内核空间缓存。由DMA中断去触发,进行一次DMA Copy,把内核空间缓存数据拷贝到磁盘/网络中。完成之后,就不再发生拷贝了,就由内核态切换回用户态了。此时经历:2次上下文切换,1次CPU拷贝,1次DMA拷贝。读过程:由用户空间发送read()命令到内核空间,此时经历用户态切换到内核态。由DMA中断触发,使磁盘/网络发生一次DMA Copy,把数据拷贝到内核缓存空间。再由内核缓存

2022-01-07 11:21:53 1148

原创 CountDownLatch底层源码分析

先写一个简单的demopublic class Test7766 { static CountDownLatch countDownLatch = new CountDownLatch(1); public static void main(String[] args) { Thread t1 = new Thread(()->{ try { System.out.println(Thread.currentTh

2022-01-06 20:03:36 332

原创 ReentrantLock锁底层源码分析

主要针对lock()、unlock()、锁的可重入性进行源码分析先来看一个测试代码public class Test7878 { public static ReentrantLock lock = new ReentrantLock(true); public static void main(String[] args) { Thread t1 = new Thread(()->{ lock.lock();

2022-01-06 18:41:59 451

原创 微服务注册中心Nacos底层源码分析

Nacos版本1.3.1启动console项目启动配置修改为单机启动-Dnacos.standalone=trueNacos服务注册与发现启动nacos服务端,启动nacos客户端,注册到nacos服务端查看一下控制台输出日志客户端2022-01-03 23:01:18.864 INFO 14756 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, DEFAULT_GROUP

2022-01-04 21:34:05 1425

原创 分布式事务Seata框架底层源码分析

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。TC:事务管理器TM:事务开始服务RM:事务参与过程的其他服务底层实现流程TM和RM都连接到我们的事务协调器TC。TM和RM服务的数据源都被Seata代理,执行语句的前后会保存两条记录,一条是执行前的记录,一条是执行后的记录,是方便后期可以逆向的生成sql去回滚事务。具体记录存放在seata的undo_log表中。TM在使用RPC-Feign远程调用的时候,在ThreadLocal中获取xid。RM

2022-01-04 19:41:01 1023

原创 微服务注册中心Eureka核心源码分析

服务注册源码分析查看一下eurekaClient端启动注册的日志信息2022-01-03 02:00:34.662 INFO 8184 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_ORDER-SERVICE/DESKTOP-QP9T922:order-service:9001: registering service...我们根据日志,找到DiscoveryClient这个类对应的

2022-01-03 17:21:22 822

原创 SpringAop代理模式底层核心源码分析

aop核心的bean是什么?一般情况会使用@EnableAspectJAutoProxy注解来使Aop注入到我们Spring的IoC容器中,那这个注入的类是啥呢测试代码如下@Configuration@EnableAspectJAutoProxypublic class MyConfig {} public static void main(String[] args) { AnnotationConfigApplicationContext context = new

2021-12-31 21:52:25 430

原创 Spring框架Ioc容器加载流程及Bean的生命周期源码分析

Spring源码分析-IoC容器

2021-12-30 23:56:57 685

原创 RocketMQ解决分布式事务问题

现模拟一个分布式事务的小例子给出两个服务:order-service:订单服务stock-service:库存服务库存服务表结构如下CREATE TABLE `stock_info` ( `stock_id` bigint(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `num` bigint(11) DEFAULT NULL, PRIMARY KEY (`stock_id`)) ENGINE=Inn

2021-12-16 23:20:55 957

原创 SpringCloud-Alibaba服务注册中心Nacos搭建

Nacos版本:nacos-server-2.0.3.zipnacos文档位置https://nacos.io/zh-cn/docs/quick-start.html找到git仓库,直接下载zip文件启动脚本XXX:\nacos\bin\startup.cmd启动遇到的问题1.点击脚本没反应使用命令行启动脚本,发现环境变量没有配置JAVA_HOME。解决方案:环境变量配置下JAVA_HOME,指向到jdk目录下即可,linux环境同理。2.启动报错Nacos failed to sta

2021-12-16 14:12:21 955

原创 LinkedList底层源码分析

LinkedList源码分析add()public boolean add(E e) { linkLast(e); return true;}继续跟到linkLast()这个方法void linkLast(E e) { final Node<E> l = last; final Node<E> newNode = new Node<>(l, e, null); last = newNode; if (l == n

2021-08-09 22:11:19 56

原创 ArrayList底层源码分析

ArrayList底层源码分析ArrayList底层,主要是由数组实现看代码List<String> list = new ArrayList<>();我们new出一个ArrayList()后,看看底层构造函数做了哪些事情private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};transient Object[] elementData;public ArrayList() {

2021-08-07 16:49:01 85

原创 MySQL底层索引优化

MySQL索引调优原则禁止join超过三张表联合索引左前缀法则禁止回表查询MySQL查询EXPLAIN-type级别All 全表扫描,最原生的sql状态,有很大的优化空间index 另一种形式的全表扫描,扫描顺序是按照索引的顺序,扫描根据索引然后回表查询数据range 指的是有范围的全表扫描,相对于index有了范围,要优于indexref 查询条件使用了索引,而没用主键和unique,虽然用烂了索引但索引列的值不唯一,有重复ref_eq 比ref好在它

2021-08-02 10:15:12 208

原创 Java9~Java11常用新特性整合

本地变量类型判断var str = "hello Java11";System.out.println(str);//hello Java11var list = new ArrayList<String>();list.add("hello Java11");System.out.println(list.get(0));//hello Java11可以使用var,而不用写具体的类型字符串新特性isBlank()// 判断空白字符串String str = " ";

2021-08-01 14:49:49 283

原创 自定义注解+Aop实现spring声明式事务

SpringAop+自定义注解实现声明式事务Spring事务实现方式@Override@Transactionalpublic Integer insertUser() throws RuntimeException { int i = userMapper.insertUser(); int j = 1/0; return i;}spring中使用@Transactional来控制,当发生异常时,回滚当前所有事务。这个注解是如何实现的呢?先自定义一个注解@Tar

2021-06-20 23:17:59 280

原创 【DevOps】maven没有主清单属性

springboot添加<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins>

2021-06-04 09:07:43 67

原创 【DevOps】jenkins+docker+harbor打包docker镜像到harbor镜像仓库

编写Dockerfile文件FROM java:8ADD springcloud-eureka-1.0-SNAPSHOT.jar /usr/localWORKDIR /usr/localENTRYPOINT ["/bin/bash","-c","sh bin/eureka-app.sh && sleep 5 && tail -f /usr/local/applogs/springcloud-eureka-app.log"]测试docker连接到harbor私有仓库

2021-06-04 09:06:25 638

原创 【DevOps】docker+Jenkins自动构建

配置jenkins-maven项目时发现这个问题原Docker命令docker run -d --name jenkins -p 8040:8080 -p 50000:50000 \-v /var/jenkins_home:/var/jenkins_home jenkins/jenkins修改docker命令把maven和jdk挂载到Jenkins容器上docker run -d --name jenkins -p 8040:8080 -p 50000:50000 \-v /usr/jav..

2021-06-04 09:02:47 97

原创 【DevOps】harbor镜像仓库私服搭建

harbor私有仓库服务搭建下载docker-compose和harbor安装包curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composewget https://github.com/goharbor/h

2021-06-04 09:00:04 122

原创 【DevOps】gitlab-ssh配置

服务器添加ssh查看id_rea.pub是否存在ls ~/.ssh/添加ssh-keyssh-keygen -t rsa -b 2048 -C "[email protected]"然后输出Enter file in which to save the key (/home/xxx/.ssh/id_rsa):直接回车,会将key保存在默认文件中下面这两步才是输入密码Enter passphrase (empty for no passphrase):Enter same pass

2021-06-04 08:58:29 211

原创 【DevOps】GitLab私服搭建(基于阿里云ECS)

下载gitlabyum install -y curl policycoreutils-python openssh-serversystemctl enable sshdyum install firewalld systemd -yservice firewalld start添加http服务firewall-cmd --permanent --add-service=http重启防火墙systemctl reload firewalld安装邮件服务,并设置开机启动yu

2021-04-22 17:32:00 153

原创 【DevOps】单节点Docker+Jenkins持续集成

docker安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun启动dockersystemctl start docker测试docker run hello-world设置docker开机启动systemctl enable dockerdocker下安装jenkinsdocker pull jenkins/jenkins创建jenkins_home并添加相对应权限mkdir /var

2021-04-22 17:29:21 67

原创 【设计模式】多线程场景下,对单例模式的理解

单例模式下线程不安全是什么?package com.example.single;public class SingleObject { //创建 SingleObject 的一个对象 private static SingleObject instance = null; //让构造函数为 private,这样该类就不会被实例化 private SingleObject(){} public static SingleObject getInstance

2021-04-22 13:15:24 100 2

原创 IDEA2021报错:java: Internal error in the mapping processor: java.lang.NullPointerException解决

添加这段代码即可-Djps.track.ap.dependencies=false

2021-04-16 10:59:31 6820 3

原创 Arthas常用命令

arthas常用命令watch、trace、stack监听出参/出参watch com.example.service.impl.IUserInfoImpl getUserInfo {"returnObj","params"} -x3 -n1x 深度n 监听次数监听查看方法耗时trace com.example.service.impl.IUserInfoImpl getUserInfo监听查看堆栈信息stack com.example.service.impl

2021-04-02 11:18:01 241

原创 后端学习日记-centos7-docker环境搭建

Docker环境搭建1.更新yumyum update2.卸载旧版本yum -y remove docker docker-common docker-selinux docker-engine3.设置yum源yum install -y yum-utils device-mapper-persistent-data lvm24.添加docker的yum源(中央仓库或者阿里的)yum-config-manager --add-repo https://download.docker.c

2020-12-19 10:39:12 70 1

原创 解决linux-centos7-wget命令安装了仍然无法使用

直接卸载了重装即可 yum remove wget yum install -y wget

2020-12-15 17:24:59 3125 2

原创 前端学习日记-手写Vue源码-响应式部分

Vue工作机制在new Vue()后,vue会调用进行初始化,初始化生命周期、事件、props、methods、watch等,最重要的过程即是通过Object.defineProperty来设置setter和getter,实现响应式和依赖收集。核心流程见下图首先创建tvue.js,并实现基本构造函数class TVue{ constructor(options){ this.$options = options;//缓存options this.$data = options.dat

2020-11-26 20:34:51 142

原创 后端学习日记-MySQL索引的使用

索引的概念一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。能加快数据库的查询速度一般分为普通、唯一、主键索引//普通索引alter table table_name add index index_name (column_list) ;//唯一索引alter table table_name add unique (column_list) ;//主键索引alter table table_name add primary

2020-11-26 19:44:21 176

原创 后端学习日记-Java-Jdk1.8新特性-Lamda表达式

JDK1.8新特性-Lamda表达式1、函数式接口先创建出ILike接口,带上@FunctionalInterface注解,表明这个接口只允许一个方法存在@FunctionalInterfacepublic interface ILike { void printData();}实现出这个接口两种方法,一种是传统的匿名内部类,一种是使用lamda表达式来实现,显而易见,lamda表达式相比传统的代码风格更加简洁明了public class test { public stat

2020-11-25 14:35:16 95

原创 Vue中常用组件通信传值方法

Vue中常用组件通信传值方法渐进式JavaScript框架----vue,是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。接下来介绍下Vue在实际项目开发中一些比较常用的组件传值通信方法。1.父子组件通信($emit、props)父传子父组件中用:或v-bind来进行数据绑定import子组件的位置,用component局部注册子组件App.vue<temp

2020-10-25 16:48:25 392

原创 React学习-UI框架-Ant-Design-of-React

React学习-UI框架-Ant-Design-of-ReactAnt-design-react官网https://ant.design/docs/react/introduce-cn使用npm命令安装antdnpm install antd --save或使用yarn命令yarn add antd实现第一个按钮import React,{Component} from 'react'import 'antd/dist/antd.css';import {Button} from

2020-10-23 21:32:54 198

原创 React学习-context、mobx

React学习-context、mobxContext先引入全家桶中的context组件import React,{Component,createContext} from 'react'let {Provider,Consumer} = createContext()封装一个提供者,设置一个仓库class ProviderComponent extends Component{ state = { msg:'我是provider里面的值' } render(){

2020-10-23 21:11:06 600

原创 React学习-router路由

React学习-router路由router-hash下载npm i react-router-dom使用,并引入import {HashRouter,Link,Route,Switch} from 'react-router-dom'先实现出一个ul-li无序列表做目录<ul> <li><Link to="/">首页</Link></li> <li><Link to="/list">列

2020-10-21 17:33:59 477

原创 React学习-hock钩子

React学习-hock钩子什么是hock钩子?为了弥补函数式组件没有生命周期和状态的缺点如何使用呢?首先我们引入import React,{useState} from 'react';设置constconst [状态的名字,修改状态的方法]=useState(状态的初始值);状态直接用onClick={()=>修改状态的方法(怎么修改)}只有React函数可以使用hock其他不能用不能在循环条件或者嵌套中使用生命周期引入import Rea

2020-10-21 14:08:18 837

原创 React学习-fetch和fetch-jsonp

React学习-fetch和fetch-jsonpfetch不需要引入直接调用就好,和ajax,axios类似fetch不支持跨域接下来写一个简单的测试 qryUser(){ fetch('http://localhost:8080/getAllUser').then((res)=>{ return res.json(); }) .then((res)=>{ console.log(res); }) }&

2020-10-18 21:16:23 735

原创 React学习-PropTypes属性检测

React学习-PropTypes属性检测首先需要用npm安装一下prop-types,安装命令npm i prop-types在你需要进行检测的组件上,引入prop-types的包import propTypes from 'prop-types'接下来使用propTypes和defaultProps进行相应的配置,配置如下Demo.jsimport React,{Component} from 'react';import propTypes from 'prop-ty

2020-10-18 19:32:16 172

SoupUI-5.1.2版本

soapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。 内部包含(SoapUI-Pro-x64-5.1.2.exe,scz.key,Protection-4.6.jar)

2020-10-16

postman-7.12.0版本

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,内部包含,Postman-win64-7.12.0-Setup.exe

2020-10-16

pyqt5,pyqt5-tools

包含:pyqt5_tools-5.15.0.1.7-cp37-cp37m-win_amd64.whl,PyQt5-5.15.0-5.15.0-cp35.cp36.cp37.cp38-none-win_amd64.whl

2020-10-16

elasticsearch-6.2.4-ik分词器

Linux-CentOS环境下:分布式索引服务-elasticsearch-6.2.4版本及ik分词器整包,包括(elasticsearch-6.2.4.tar.gz,ik-analyzer.zip)

2020-10-11

fastDFS-5.05-linux安装包

分布式文件存储系统fastDFS-Linux环境下安装包,包括(fastdfs-5.05.tar.gz,fastdfs-nginx-module.rar,libfastcommon-1.0.7.tar.gz)

2020-10-11

rabbitmq-3.6.5版本

Linux-centos环境下分布式消息队列中间件服务:rabbitmq-3.6.5,erlang-18.3-1.el7.centos.x86_64

2020-10-11

OneNET-STM32F103-微信小程序接入源码

OneNET平台结合STM32F103硬件平台远程控制采用EDP协议接入,WIFI采用ESP8266WIFI模块-(AT指令模式),利用微信小程序作为前端开发OneNET平台二次开发后端接口。进行远程控制。 软件开发环境:keil5,微信开发者工具

2020-10-11

ESP8266机智云固件及固件烧入工具

从机智云官网下载过许多版本配置过都下载失败,久经尝试最终整理出来了一些比较好用的机智云WIFI固件。

2020-10-11

空空如也

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

TA关注的人

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