- 博客(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 1494 1
原创 Linux内核零拷贝底层原理
传统拷贝模式写过程:用户空间到内核空间:用户态切换到内核态,调用CPU Copy进行一次数据拷贝,拷贝到内核空间缓存。由DMA中断去触发,进行一次DMA Copy,把内核空间缓存数据拷贝到磁盘/网络中。完成之后,就不再发生拷贝了,就由内核态切换回用户态了。此时经历:2次上下文切换,1次CPU拷贝,1次DMA拷贝。读过程:由用户空间发送read()命令到内核空间,此时经历用户态切换到内核态。由DMA中断触发,使磁盘/网络发生一次DMA Copy,把数据拷贝到内核缓存空间。再由内核缓存
2022-01-07 11:21:53 1178
原创 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 338
原创 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 454
原创 微服务注册中心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 1436
原创 分布式事务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 1043
原创 微服务注册中心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 827
原创 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 438
原创 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 964
原创 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 961
原创 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 57
原创 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 88
原创 MySQL底层索引优化
MySQL索引调优原则禁止join超过三张表联合索引左前缀法则禁止回表查询MySQL查询EXPLAIN-type级别All 全表扫描,最原生的sql状态,有很大的优化空间index 另一种形式的全表扫描,扫描顺序是按照索引的顺序,扫描根据索引然后回表查询数据range 指的是有范围的全表扫描,相对于index有了范围,要优于indexref 查询条件使用了索引,而没用主键和unique,虽然用烂了索引但索引列的值不唯一,有重复ref_eq 比ref好在它
2021-08-02 10:15:12 228
原创 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 293
原创 自定义注解+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 289
原创 【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 71
原创 【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 645
原创 【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 99
原创 【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 129
原创 【DevOps】gitlab-ssh配置
服务器添加ssh查看id_rea.pub是否存在ls ~/.ssh/添加ssh-keyssh-keygen -t rsa -b 2048 -C "test@example.com"然后输出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 218
原创 【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 161
原创 【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 69
原创 【设计模式】多线程场景下,对单例模式的理解
单例模式下线程不安全是什么?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 101 2
原创 IDEA2021报错:java: Internal error in the mapping processor: java.lang.NullPointerException解决
添加这段代码即可-Djps.track.ap.dependencies=false
2021-04-16 10:59:31 6918 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 253
原创 后端学习日记-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 74 1
原创 解决linux-centos7-wget命令安装了仍然无法使用
直接卸载了重装即可 yum remove wget yum install -y wget
2020-12-15 17:24:59 3165 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 152
原创 后端学习日记-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 182
原创 后端学习日记-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 108
原创 Vue中常用组件通信传值方法
Vue中常用组件通信传值方法渐进式JavaScript框架----vue,是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。接下来介绍下Vue在实际项目开发中一些比较常用的组件传值通信方法。1.父子组件通信($emit、props)父传子父组件中用:或v-bind来进行数据绑定import子组件的位置,用component局部注册子组件App.vue<temp
2020-10-25 16:48:25 398
原创 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 205
原创 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 609
原创 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 479
原创 React学习-hock钩子
React学习-hock钩子什么是hock钩子?为了弥补函数式组件没有生命周期和状态的缺点如何使用呢?首先我们引入import React,{useState} from 'react';设置constconst [状态的名字,修改状态的方法]=useState(状态的初始值);状态直接用onClick={()=>修改状态的方法(怎么修改)}只有React函数可以使用hock其他不能用不能在循环条件或者嵌套中使用生命周期引入import Rea
2020-10-21 14:08:18 840
原创 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 746
原创 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 179
SoupUI-5.1.2版本
2020-10-16
postman-7.12.0版本
2020-10-16
pyqt5,pyqt5-tools
2020-10-16
elasticsearch-6.2.4-ik分词器
2020-10-11
fastDFS-5.05-linux安装包
2020-10-11
rabbitmq-3.6.5版本
2020-10-11
OneNET-STM32F103-微信小程序接入源码
2020-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人