自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

[爪洼ing]的博客

你知道的越多,你不知道的越多!

  • 博客(134)
  • 资源 (3)
  • 收藏
  • 关注

原创 Git常用命令

git remote add origin [email protected]:SQx000710/git-learn.git 关联远程仓库。git reset HEAD 文件名 撤销对文件的修改(针对修改了文件,且执行了git add 但未执行git commit)git log --graph --pretty=oneline --abbrev-commit 查看分支合并情况。git checkout -b 分支名 创建并切换分支。git merge 分支名 将分支合并到当前分支。

2022-10-24 20:12:15 979 1

原创 GoLang笔记—容器篇

因为数组的长度是固定的,所以在Go语言中很少直接使用数组。Go语言数组的声明:数组变量名:数组声明及使用时的变量名。元素数量:数组的元素数量,可以是一个表达式,但最终通过编译期计算的结果必须是整型数值,元素数量不能含有到运行时才能确认大小的数值。Type:可以是任意基本类型,包括数组本身,类型为数组本身时,可以实现多维数组。例子:从数组中取值:通过索引下标取值,索引从0开始for range获取给数组赋值:1、初始化的时候赋值2、通过索引下标赋值 如果觉的每次写 有点麻烦,

2022-07-03 22:37:47 1167 3

原创 GoLang笔记—基础语法篇

我们从计算机系统的角度来讲,变量就是一段或者多段内存,用于存储数据注意:变量声明以关键字var开头,变量类型后置,行尾无须分号如果你学过C语言,就会体会到这样声明的好处,比如C语言这样声明:int* a, b ,那么只有a是指针,b不是,这样会使人迷惑,如果想要两个变量都为指针,需要这样定义:。 在go语言中,我们使用这样的声明方式:,就可以轻松的将a,b都声明为指针。变量的命名规则遵循驼峰命名法,即首个单词小写,每个新单词的首字母大写,例如: startDate当一个变量被声明之后,系统自动赋予它该类型

2022-07-03 22:35:39 1985

原创 Go的环境变量配置以及IDE(Goland)的安装

1、Go官网下载:https://go.dev/dl/ 得到如下zip:2、将上述zip放在自己电脑合适的位置解压3、然后就是配置环境变量(四个)注意:关于path的配置与我们Java的一致,就不再声明。4、配置完毕,让我进行测试环境变量配置成功!官网下载地址:https://www.jetbrains.com/go/download/oth............

2022-06-05 22:24:10 2565 3

原创 Frank计算机基础硬件笔记

注:本文是对B站Micro_Frank对于计算机硬件的讲解视频的个人笔记。一、计算机的组成和分类计算机的分类 (Wiki百科)了解一下台式计算机的构成机箱、主板、中央处理器(CPU)、主内存、电源供应器(电源)、显卡、显示器、键盘、鼠标、外部存储媒体(硬盘)等知道了上述构成,我们接下来就是逐一讲解。二、机箱的用途概述总结(选购机箱需要考虑的点)散热好不好、喜欢的外观、够不够大三、主板的用途关于主板废话不多说,看图。注:主板的大小决定了机箱的大小我们应

2022-04-09 19:06:49 4928 2

原创 记录_第一次解决挖矿程序入侵问题

记录第一次处理,服务器也被挖矿程序入侵,原本是不想处理的,但是阿里云一直给我警告,然后再不处理服务器给我停了,这导致我立马打开电脑进行处理,怎么处理的我也不会啊,就一直百度,还是解决了(应该是解决了吧)1、使用top命令查看可疑进程top2、去我们的异常事件的目录下检查可疑程序,然后删除cd /var/tmp/.crypto/.../rm -f httpd3、我看网上说存在定时任务自动入侵,balabala的,使用如下命令查看是否存在定时任务 crontab -l #如下是定时任

2022-03-04 15:06:01 2574 8

原创 CopyOnWriteArrayList 简单解析

CopyOnWriteArrayList简述选中类,执行Ctrl + alt + U 查看类的继承示意图如下:public class CopyOnWriteArrayList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { }实现了List, RandomAccess, Cloneable, java.io.Serializable等接口实现了List

2022-02-21 14:37:12 239 4

原创 什么是浅拷贝和深拷贝?

文章目录1、什么是浅拷贝?2、什么是深拷贝?2.1、常见的深拷贝方式在Java语言中,当我们需要拷贝一个Java对象的时候,常见的会有两种方式的拷贝:浅拷贝与深拷贝。浅拷贝:只是拷贝了源对象的地址,所以源对象的任何值发生改变时,拷贝对象的值也会随之而发生变化。深拷贝:则是拷贝了源对象的所有值而不是地址,所以即使源对象的值发生任何变化时,拷贝对象的值也不会改变。1、什么是浅拷贝?浅拷贝代码演示(最常见的方式):/** * 浅拷贝:拷贝的就是目标对象在堆内存中的地址 *

2022-02-18 23:15:33 3557 5

原创 SpringBoot—自定义Starter篇

一、自定义Starter 的思路:创建一个Maven工程,创建三个模块一个模块为demo-app,一个模块为demo-module,一个模块为demo-module-springboot-starterdemo-module中定义一个MyModule类,其中有一个save方法,两个属性:version,agedemo-module-springboot-starter中定义一个自动配置类ModuleAutoConfiguration,关联一个配置类ModuleConfig,这个配置类通过读取pro

2022-02-13 17:22:12 2570 5

原创 Java常用设计模式—代理模式

代理模式代理模式分为:静态代理、动态代理代理模式最直观的解释就是,通过代理,将被代理对象 “增强”!(即,扩展被代理对象的功能)代理模式分为静态代理,和动态代理:动态代理的代理类是动态生成的 , 静态代理的代理类是我们提前写好的逻辑。1、静态代理抽象角色 :一般使用接口或者抽象类来实现。真实角色 :被代理的角色。代理角色: 代理真实角色 , 代理真实角色后 ,一般会做一些附属的操作。调用方:使用代理角色来进行一些操作。我们以火车站售票的案例,涉及的对象有:购票人、火车站售票点、

2022-01-24 23:51:05 546 11

原创 Java常用设计模式—工厂模式

工厂模式它提供了⼀种创建对象的最佳⽅式,我们在创建对象时 不会对客户端暴露创建逻辑,并且是通过使⽤⼀个共同 的接⼝来指向新创建的对象。工厂模式有 3 种不同的实现⽅式:**简单工厂模式(**静态工厂):通过传⼊相关的类型来返回相应的类,这种方式比较单一,可扩展性相对较差。工厂方法模式:通过实现类实现相应的⽅法来决定相应的返回结果,这种方式的可扩展性比较强。抽象工厂模式:基于上述两种模式的拓展,且⽀持细化产品。应⽤场景:解耦:分离职责,把复杂对象的创建和使⽤的过程分开。复⽤代码 降低

2022-01-23 16:25:23 345 8

原创 Java常用设计模式—单例模式

GoF23 (二十三种设计模式)可按照:创建型模式、结构性模式、行为型模式三类创建型模式:单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式结构性模式:适配器模式、桥接模式、装饰模式、外观模式、享元模式、代理模式行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式初学设计模式:让我们从单例模式开始:一、单例模式单例模式使⽤场景:业务系统全局只需要⼀个对象实例,⽐如发号器、 re.

2022-01-23 16:22:00 370 11

原创 Spring三级缓存以及面试题

Spring的三级缓存三级缓存的作用:解决循环依赖的问题循环依赖问题:说白是一个或多个对象实例之间存在直接或间接的依赖关系,这种依赖关系构成了构成一个环形调用代码描述:@Servicepublic class AServiceImpl implements AService { @Autowired private BService bService; ...}@Servicepublic class BServiceImpl implements BServi

2022-01-22 16:33:08 4352 15

原创 Spring总结(IOC、AOP原理以及Spring事务)

一、概述1、Spring是一个开源免费且轻量级的框架 , 非侵入式的 .2、控制反转 IoC , 面向切面 Aop3 、对事物的支持 , 对框架的支持一句话概括:Spring 是一个轻量级的控制反转(IOC),面向切面(AOP)的框架二、Spring下载Sprig官网:Spring.io 去到官网即可下载GA:稳定通用版本、SNAPSHOT : 快照版本Spring历史版本下载地址:https://repo.spring.io/ui/native/release/org/spri

2022-01-19 16:56:51 3088 28

原创 Mybatis执行流程、缓存原理以及相关面试题

一、Mybatis执行流程具体分析Mybatis是如何操作数据库的!、1、定义我们的核心配置文件的路径,这个路径是从target/classes下开始找的! String config = "mybatis-config.xml" ;2、读取这个config表示的文件 InputStream inputStream= Resources.getResourceAsStream(config);3、创建SqlSessionFactoryBuilder对象SqlSessionFact

2022-01-15 20:59:33 1971 10

原创 HTTP、HTTPS详解及相关面试题

一、HTTP协议概述超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是是一个应用层协议,它使用 TCP 连接进行可靠的传送。HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应。1.1、HTTP请求及响应格式HTTP请求报文HTTP 请求报文由请求行、请求头部、空行 和 请求包体 4 个部分组成,如下图:1、请求行:请求行由方法字段、URL 字段 和HTTP 协议版本字段

2022-01-12 17:45:55 5099 27

原创 ConcurrentSkipListMap以及跳表的原理

ConcurrentSkipListMap底层实现是”跳跃表“ ,Redis当中Zset同样采用的是该数据结构跳跃表的结构图:特点:其根本思想是 二分查找 的思想。跳表的前提条件是 针对 有序的单链表 ,实现高效地查找,插入,删除。Redis中的 有序集合 sorted set 就是用跳表实现的。1、跳表的原理种基于单链表的高级数据结构, 跳表 将单链表先进行排序,然后针对 有序链表 为了实现高效的查找,可以使用跳表这种数据结构。对于单链表,即使是 存储的有序数据(即 有序链

2021-12-29 21:45:06 1591 24

原创 Redis笔记(基础+进阶)

关于NoSQL概述一、NoSQL的发展历程1、单机MySQL时代90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题:数据量增加到一定程度,单机数据库就放不下了(MySQL中数据超过300万条,需要添加索引)数据的索引(B+ Tree),一个机器内存也存放不下访问量变大后(读写混合),一台服务器承受不住。2、Memcached(缓存) + Mysql + 垂直拆分(读写分离)网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们

2021-12-25 17:15:33 1587 29

原创 僵尸进程以及如何处理僵尸进程

僵尸进程:就是已经结束了的进程,但是没有从进程表中删除。太多了会导致进程表里面条目满了,进而导致系统崩溃,倒是不占用其他系统资源。最后有defunct的标记,就表明是僵尸进程。今天配置Redis的时候结束停止Redis服务的时候可能是误操作了,发生了上述的情况!产生的原因:每个Linux进程在进程表里都有一个进入点(entry),核心程序执行该进程时使用到的一切信息都存储在进入点。当用ps命令察看系统中的进程信息 时,看到的就是进程表中的相关数据。当以fork()系统调用建立一个新的进程后,核心进程

2021-12-22 14:40:20 9116 2

原创 MySQL高级(MVCC实现原理,日志系统)篇

MySQL日志系统前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎,但是我们的update语句,涉及到数据的持久化,我们又是怎么保证,更新操作的进行的呢?思考 :一条更新语句的执行流程又是怎样的呢?与查询流程不一样的是,更新流程还涉及两个重要的日志模块,它们正是我们今天要讨论的主角:redo log(重做日志)和 binlog(归档日志)。如果接触 MySQL,那这两

2021-12-15 23:53:11 1775 27

原创 MySQL笔记【高级篇】

一、MySQL架构介绍1、环境准备1、安装MySQL,自己采用的Docker镜像安装MySQL# 1、拉取镜像docker pull mysql:5.7# 2、创建实例并启动docker run -p 3306:3306 --name mysql \-v /root/mysql/log:/var/log/mysql \-v /root/mysql/data:/var/lib/mysql \-v /root/mysql/conf:/etc/mysql \-e MYSQL_ROOT_P

2021-12-14 20:33:59 5442 29

原创 MySQL笔记【基础篇】

MySQL笔记相关术语:DB :数据库:在硬盘上以文件的方式存在DBMS:数据库管理系统:例如mysql,oracle,sqlserver…SQL:一门适用于所有DBMS,对DB进行操作的标准规划语言,DQL:数据库查询语句 select,DML:数据库管理语句,修改表中数据update,insert,delete,DDL:数据库管理语句,修改表中的结构drop,create,alter,TCL:commit提交事务,rollback回滚事务,DCL:grant授权,revoke撤销

2021-12-09 22:37:41 8035 42

原创 Docker-Compose + Nginx 部署前后端分离项目

Docker-Compose + Nginx 部署前后端分离项目项目是采用Vue +Springboot 的前后端分离项目一、预处理1、项目打包前,先去File–>Setting–> File Encoding 中 改为UTF-8,防止乱码错误!注意:此时如果修改为UTF8后我们的properties配置文件中文乱码:不要慌没问题,直接把中文删除再写即可!2、由于后端项目是使用SpringBoot编写的,我们打包需要一个打包插件,记得导入包!不然可能出现打出的包中没东西 &

2021-12-04 20:37:28 3667 35

原创 Vue+Springboot 博客项目总结

Vue+Springboot 博客项目总结技术栈 : Vue + Springboot + Mybatis-Plus + Redis + MySQL1、项目环境的搭建1.1、子模块和父模块的依赖问题当父模块使用版本管理进行依赖管理的话,必须声明版本号,如果不这样子模块是无法引入到父模块的依赖的,当然还有一种方法是,直接copy一份父模块的依赖全部到子模块这样的话父模块可以不声明版本号 ;1.2、声明父工程必须再父模块的pom文件中声明如下:<packaging>pom</

2021-12-04 19:22:09 2028 24

原创 Nginx总结(反向代理、负载均衡、动静分离)篇

一、Nginx简介什么是NginxNginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同类型的网页服务器中表现较好Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率﹐能经受高负载的考验,有报告表明能支持高达50, 000个并发连接数。Nginx作用:反向代理、负载均衡、动静分离等什么是反向代理先了解一下正向代理 :通过在客户端配置代理服务器,通过代理服务器进行互联网访问!反

2021-11-30 23:16:28 18081 8

原创 JVM_06 内存模型(JMM)篇

Java内存模型(JMM)JMM即为 Java Memory Model ,他定义了主存(多个线程所共享的空间、例:成员变量)、工作内存(线程的私有空间,例:局部变量)的抽象概念,对应着底层的CPU寄存器、缓存、硬件内存、CPU指令优化等;概要:我们通过操作java这些抽象概念,间接的操作复杂底层(化繁为简)JMM体现在以下的几个方面 :原子性:保证指令不会受到线程的上下文切换的影响可见性:保证指令不会受到CPU缓存的影响有序性:保证指令不会受到CPU指令优化的影响可见性退不出的循环

2021-11-30 15:15:07 294 12

原创 JVM_05 编译器与运行期的优化处理

编译器优化处理编译器优化处理也就是所谓的 语法糖 ,其实就是指 java 编译器把 .java 源码编译为 .class 字节码的过程中,自动生成和转换的一些代码,主要是为了减轻程序员的负担,算是 java 编译器给我们的一个额外福利 !注意,以下代码的分析,借助了 javap 工具,idea 的反编译功能,idea 插件 jclasslib 等工具。另外, 编译器转换的结果直接就是 class 字节码,只是为了便于阅读,给出了 几乎等价 的 java 源码方式,并不是编译器还会转换出中间的 jav

2021-11-29 23:21:10 460 19

原创 JVM_04 类加载与类加载器篇

类加载虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机类加载机制 ! 另外值得注意的是上面提到的Class文件,并不一定值得是磁盘上的.class文件,而只需要是任何符合字节码规范的一串二进制字节流就可以了1、加载阶段通过类加载器将类的字节码载入方法区(1.8后为元空间,在本地内存中)中,内部采用 C++ 的 instanceKlass 描述 java 类,它的重要 field 有 :_java_m

2021-11-29 23:13:44 502 15

原创 Docker笔记(进阶篇)— Docker Compose

Docker Compose1、简介官方介绍Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from y

2021-11-28 23:26:46 2091 11

原创 JVM_03 类文件结构与字节码指令篇

类文件结构与字节码指令1、类文件结构一个简单的 HelloWorld.java 程序:public class HelloWorld { public static void main(String[] args) { System.out.println("hello world!"); }}接下来执行:javac -parameters -d . HelloWorld.java 命令编译.java文件为.class文件:其中-parameters表示将源文

2021-11-28 18:48:46 797 16

原创 JVM_02 垃圾回收篇

JVM(Java Virtual Machine)垃圾回收篇1、如何判断对象可以回收1.1、引用计数法引用计数法(JVM已经弃用,Python等一些还在用) : 效率高,空应用就回收,但是对象互相引用特殊情况无法回收!如下这种互相引用无法被回收:public class GCTest { public static void main(String[] args) { Student student1 = new Student(); Studen

2021-11-27 16:51:54 284 16

原创 JVM_01 内存结构篇

JVM(Java Virtual Machine)一、前言1、什么是 JVM ?1、定义:Java Virtual Machine ,Java 程序的运行环境(Java 二进制字节码的运行环境)。2、好处:一次编译,处处执行自动的内存管理,垃圾回收机制数组下标越界检查3、比较:JVM、JRE、JDK 的关系如下图所示2、学习 JVM 有什么用?面试必备中高级程序员必备想走的长远,就需要懂原理,比如:自动装箱、自动拆箱是怎么实现的,反射是怎么实现的,垃圾回收机制是怎么回

2021-11-27 16:40:59 774 22

原创 Springboot集成七牛云,实现图片上传功能

七牛云的使用1、进入官网,注册一个账号2、找到对象存储3、新建存储空间4、管理存储空间5、到此基本操作就完成了,接下来我们要在项目中使用方式一:官方的帮助文档,很详细:步骤一:找到开发者中心步骤二:选择对象存储步骤三:找到Java的SDK可以看到我们的官网非常详细!方式二:这里给大家封装好了一个工具类,maven项目可以直接用官网是静态工具类,这里是注入到IOC容器当中!1、导入pom依赖 <dependency>

2021-11-23 15:58:26 1561 15

原创 Vue_03 vue的生命周期、组件、插槽Slot、路由Router

1. Vue 生命周期Vue 实例生命周期 ===> java 对象生命周期(初始化阶段 运行阶段 销毁阶段) 生命周期钩子 ====> 生命周期函数Vue实例从创建到销毁过程中自动触发一些列函数 ====> Vue生命周期函数(钩子)Vue生命周期总结# Vue生命周期总结<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

2021-11-16 11:12:19 1642 17

原创 Vue_02 Axios异步请求详解

1. Axios 基本使用1.1 引言Axios 是一个异步请求技术,核心作用就是用来在页面中发送异步请求,并获取对应数据在页面中渲染 页面局部更新技术 Ajax1.2 Axios 的下载中文网站:https://www.kancloud.cn/yunye/axios/234845安装: https://unpkg.com/axios/dist/axios.min.js1.3 GET方式的请求 //发送GET方式请求 axios.get("http://loca

2021-11-16 10:55:07 979 14

原创 Vue_01 vue的基础指令和修饰符

1. Vue 引言渐进式 JavaScript 框架 --摘自官网# 渐进式 1. 易用 html css javascript 2. 高效 开发前端页面 非常高效 3. 灵活 开发灵活 多样性# 总结 Vue 是一个javascript 框架 js 简化页面js操作 bootstrap 是一个css框架 封装css# 后端服务端开发人员: Vue 渐进式javascript框架: 让我们通过操作很少的DOM,甚至不需要操作页面中任何DOM元素

2021-11-16 10:37:10 245 9

原创 Ajax笔记

参考视频: 狂神说Ajax一、概述AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。G.

2021-11-09 23:44:43 144 7

原创 JSON详解

一、概述JSON(JavaScript Object Notation, JS对象标记)是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:对象表示

2021-11-09 21:34:06 5635 1

原创 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

今天配置SpringMVC遇到的问题直接心态爆炸!控制台起初报的是这个错:org.apache.catalina.startup.HostConfig.deployDirectory但是这个错误百度的方法都用了,并不能解决问题除了控制台我们这里看一看,发现存在java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet这个错误(此时已经改正)解决办法:那么这个时候我们就可以在IDEA中这.

2021-11-09 20:06:34 3208 4

原创 计算机网络笔记(湖科大)_ Part 06 应用层

文章参考于B站:计算机网络微课堂六、应用层我们在浏览器的地址中输入某个网站的域名后,就可以访问该网站的内容,这个就是万维网WWW应用,其相关的应用层协议为超文本传送协议HTTP用户在浏览器地址栏中输入的是“见名知意”的域名,而TCP/IP的网际层使用IP地址来表示目的主机,从域名到IP地址的装转换,由属于应用层范畴的域名系统DNS,在后台帮用户完成常见的应用总结1、客户/服务器方式(C/S方式)和对等方式(P2P方式)1.1、概念1.2客户/服务器方式(C/S方式).

2021-11-05 00:11:08 497

SSM学生成绩管理系统.zip

前端使用Layui,后台是SSM,MVC三层架构,环境idea2019.3 、Tomcat9、mysql5.7、java8

2021-06-27

MySQL笔记.zip

mysql入门笔记,markdown格式

2021-06-27

Redis资料.zip

学完狂神的Redis视频手码的markdown笔记!(内容比狂神只多不少!)

2021-06-27

空空如也

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

TA关注的人

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