自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人像摄影笔记

人像摄影笔记

2022-10-10 17:37:52 3049 1

原创 软考-系统集成项目管理工程师

一、信息化基础国家信息化包含6要素:信息技术应用、信息资源、信息网络、信息技术和产业、信息化人才、信息化法规政策和标准规范。结构如图:

2022-10-08 12:28:57 555

原创 Part2.Vue基础语法汇总

Vue模板语法一、插值操作1.Mustache(也就是双大括号)作用:直接将数据插入到HTML中,并且数据是响应式的我们可以像下面这样来使用:2.v-once作用:该指令表示元素和组件只渲染一次,不会随着数据(data)的改变而改变该指令后面不需要跟任何表达式我们可以像下面这样来使用:3.v-html作用:将绑定的data数据(一般为String类型)用html语法解析并渲染我们可以像下面这样来使用:4.v-text作用:作用和Mustache比较相似:都是用于将数据显

2021-11-10 15:35:23 304

原创 Part1.初识Vue和安装

一、安装Vue方式一:直接CDN引入你可以选择引入开发环境版本还是生产环境版本<!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><!-- 生产环境版本,优化了尺寸和速度 --><script src="https://cdn.jsdelivr.net/npm/vue"></script&g

2021-11-10 10:20:26 494

原创 Vue笔记-WebPack

WebPack前端工程化解决方案

2021-11-10 09:43:35 83

原创 2021软考-信息处理员知识点汇总

countif函数median函数数据处理的目的(重点):从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。知识产权和标准化:国家标准代号:1. 强制性标准代号:GB2. 推荐性标准代号:GB/T3. 指导性标准代号:GB/Z4. 实物标准代号:GSB随着互联网发展,数据的价值密度并不高,但数据量在提高,分析大量数据得出规律Excel图表适用情况:雷达图用于描述多个指标达到的情况,如企业经营状况–收益性、生产性、流动性、安全性、成长

2021-11-10 09:40:49 4359

原创 基于Apache-CXF的WebService代码生成

一、Apache-CXF1. 下载官方下载地址:http://cxf.apache.org/download.html下载 apache-cxf-3.4.4.zip 并解压2. 配置环境变量新增CXF_HOME系统变量 值为上一步解压的路径 (例如:D:\devsoft\apache-cxf-3.4.4)给系统变量Path添加环境变量 %CXF_HOME%\bincmd 输入 wsdl2java -v 验证配置3. 生成代码在Apache-CXF的bin目录下执行# -encod

2021-08-19 11:07:43 483

原创 Linux操作集

一、基础操作二、基础环境1.java-1.8.0-openjdk安装# 查看云端目前支持安装的jdk版本yum search java|grep jdk# 选择版本后,安装(执行以下命令会自动安装jdk相关依赖)yum install -y java-1.8.0-openjdk# 安装完成,验证是否安装成功java -version# 通过搜索java文件,查找jdk默认安装目录find / -name 'java'三、Docker相关...

2021-03-01 15:22:50 124

原创 MySQL深度解析---可重复读的间隙锁

InnoDB的默认事务隔离级别是可重复读一、幻读1.SQL场景复现建一个测试表:CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`)) ENGINE=InnoDB;insert into t values(0,0,0),(5,5,5),(10,10,10),(15,15.

2021-03-01 15:20:22 1285

原创 计算机中数据的表示

一、数据的表示1.各种数制1-1 二进制特点:逢二进一,有两个字符(0和1)符号表示:字母B或下标22的10次方 = 1024 它需要用11位二进制位来表示(包含符号位)1-2 八进制特点:逢八进一,有八个字符(0 ~ 7)符号表示:字母O或 下标81-3 十进制特点:逢十进一,有十个字符(0 ~ 9)符号表示:字母D或 下标101-4 十六进制特点:逢十六进一,有十六个字符(0 ~ 9,A ~ F)符号表示:字母H 或下标16十六进制按权展开:(5C)H =

2021-03-01 10:17:10 1667

原创 知识点汇总

一、考试知识点Internet基础知识URLURL(Uniform Resource Locator)统一资源定位符作用:用于定位网络上的资源,每一个网络资源都有在网上唯一的一个地址组成:资源类型、存放资源的主机域名、资源文件名语法格式:protocol://hostname[:port]/path/filename其中,方括号内为可选项。protocol :指定使用的传输协议,常见的有HTTP或HTTPS,也可以有其他协议,比如:file、ftp、gopher、mms、ed2k等。ho

2020-12-30 09:46:34 230

原创 MySQL深度解析---单行SQL慢查询原因分析

此处讨论不涉及CUP占用高或IO利用率过高导致的SQL执行慢问题一、查询长时间不返回对于一个SQL,如果长时间不返回,可以执行show processlist命令来查看所有线程的状态mysql> show processlist1.等MDL锁执行show processlist命令后,State中显示:Waiting for table metadata lock 表示的是,现在有一个线程正在表t上请求或者持有MDL写锁,把select语句堵住了。处理方式找到谁持有MDL写锁,然.

2020-12-18 09:40:55 214

原创 MySQL深度解析---函数对性能的影响

重点:对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索(索引)功能一、条件字段函数操作交易记录表tradelog 包含交易流水号(tradeid)、交易员id(operator)、交易时间(t_modified)等字段建表语句如下:mysql> CREATE TABLE `tradelog` ( `id` int(11) NOT NULL, `tradeid` varchar(32) DEFAULT NULL, `operator` int(11) DE

2020-12-17 16:51:01 2851

原创 MySQL深度解析---临时表排序规则

一、内存临时表排序内存临时表触发条件:rand() 随机函数mysql> explain select word from words order by rand() limit 3;Extra字段显示Using temporary,表示的是需要使用临时表;Using filesort,表示的是需要执行排序操作。因此这个Extra的意思就是,需要临时表,并且需要在临时表上排序。1.内存临时表排序方式选择对于内存临时表来说,表中的数据都在内存中存储,相当于回表过程只是简单地根据

2020-12-17 14:53:37 1167

原创 MySQL深度解析---OrderBy工作原理

案例前提假设一个表的部分定义是这样的CREATE TABLE `t` ( `id` int(11) NOT NULL, `city` varchar(16) NOT NULL, `name` varchar(16) NOT NULL, `age` int(11) NOT NULL, `addr` varchar(128) DEFAULT NULL, PRIMARY KEY (`id`), KEY `city` (`city`)) ENGINE=InnoDB;要查询城市是

2020-12-17 09:54:36 182

原创 JavaScript开发常用知识

一、JavaScript基础知识1.基本语法每行语句以 ; 结束语句块用 {} 包围行注释用 // 块注释用 /**/ 大小写严格2.数据类型和变量数据类型Number:包括整型和浮点数例如: 123 0.123 1.2345e3 -0.1 NaN 表示无法计算的结果,比如 0/0 Infinity 表示无限大字符串:用 '' 或 "" 包围的一串字符 如果字符串里需要有特殊字符就需要用 \ 来转义 转义字符: \n 换行 \t 制表符 \\ 表示一个\

2020-11-19 15:34:50 151

原创 计算机基础知识

一、计算机软硬件知识1.计算机的发展和应用计算机的诞生: 第一台计算机 ENIAC 于 1946年 诞生于 美国 宾夕法尼亚 大学计算机发展阶段: 以电子元器件划分发展阶段电子管 第一代–1946-1957晶体管 第二代–1958-1964 操作系统刚出现的时期中小规模集成电路 第三代–1965-1970大超大集成电路 第四代–1971-至今 以微处理器为核心、也称个人PC、最广泛使用操作系统的时期计算机应用:科学计算(计算机最早期的用途、也是名字的由来)过程控制(

2020-11-06 08:12:33 21434 5

原创 Vue快速入门

官网 :https://cn.vuejs.org/一、概念Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。二、快速入门1.起步引入JS<!-- 1.开发环境版本,包含了有帮助的命令行警告 --><.

2020-11-05 09:54:53 194

原创 ES6新特性

一、ES6全称 ECMAScript6 是浏览器脚本语言的规范,而JavaScript则是规范的具体实现。1.新特性1.1 let1.1.1 作用域严格 <script> //var 声明的变量往往会越域 //let 声明的变量有严格的局部作用域 { var a = 1; let b = 2; } console.log(a); //1 co.

2020-11-03 17:32:00 234

原创 Gmall环境搭建过程记录

vagrant镜像仓库地址:https://app.vagrantup.com/boxes/search

2020-11-03 10:49:19 1360

原创 MySQL深度解析--Count函数的用法

MySQL中Count(*)的用法1.Count的实现方式MyISAM引擎把一个表的总行数存在了磁盘上,因此执行count(*)的时候会直接返回这个数,效率很高;InnoDB引擎就麻烦了,它执行count(*)的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。这和InnoDB的事务设计有关系,可重复读是它默认的隔离级别,在代码上就是通过多版本并发控制,也就是MVCC来实现的。每一行记录都要判断自己是否对这个会话可见,因此对于count(*)请求来说,InnoDB只好把数据一行一行地读

2020-10-28 11:27:48 533

原创 MySQL深度解析--数据的删除与重建表

Ⅰ.数据存放和数据删除1.MySQL中数据的删除流程(delete)删除一条记录时,InnoDB会将该记录标记为删除(可复用)状态。并不会从磁盘上释放该记录所在的空间,只是如果后面有数据要插入该位置时可以直接复用该存储空间。删掉了一个数据页上的所有记录时,整个数据页就可以被复用了。如果表(任意表)需要新的数据页时,都可以复用这个数据页。数据页的复用和记录的复用是不同的记录的复用,只限于符合范围条件的数据。数据页的复用,可以复用到任何位置。2.数据空洞删除数据或者插入数据会造成数据

2020-10-28 10:52:37 1271

原创 MySQL深度解析--优化器

优化器Ⅰ.优化器的索引选择一些概念:优化器:选择SQL语句执行使用的索引,找到一个最优的执行方案,并用最小的代价去执行语句。优化器的执行代价:扫描行数、是否使用临时表、是否排序扫描行数扫描行数是根据统计信息来估算的一个数。统计信息指索引的区分度,一个索引上,不同的值的个数(基数[cardinality])越多,区分度就越好。基数是通过采样统计的,取N个数据页,统计基数,得到一个平均值,然后再乘以索引的页面数。当修改数据行超过一定阈值后,会自动触发重新统计一次基数。参数 innodb_sta

2020-10-27 15:41:48 311

原创 MySQL深度解析--锁

Ⅰ.MySQL中的锁1.全局锁概念对整个数据库实例加锁。让整个库处于只读状态。开启全局锁后,其他线程的数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句将被阻塞。命令(FTWRL)Flush tables with read lock 使用场景全库逻辑备份(对于使用了不支持事务引擎的表或库)使用FTWRL命令使全库进入只读状态,然后对整个库进行备份。防止备份过程中各表视图不一致的问题。存在的问题:如果你在主库上备份,那么在备份期间都不能执行更新

2020-10-26 14:39:59 130

原创 MySQL深度解析--索引

Ⅰ.索引索引的作用索引的出现就是为了提高查询效率,相当于数据的一个目录。索引的模型选择提高数据读写效率的模型主要有Hash、有序数组、搜索树。Hash 数据结构由Hash函数、数组和链表组成。在写入数据时可以直接找到对应位置存放数据,或者直接在对应位置链表后追加数据。写入效率高。但是查询的时候只有第一层数组的时候较快,如果同一个Hash位置有多个值组成的链表,那么就需要遍历该位置所有链表数据,在范围查询时效率低。所以Hash只适用于只有等值查询的场景,比如NoSQL引擎。有序数组中所有元素都是

2020-10-26 10:48:08 140

原创 MySQL深度解析--事务隔离级别

MySQL事务隔离Ⅰ.四种隔离级别1.读未提交一个事务还没提交时,它做的变更就能被别的事务看到。2.读已提交一个事务提交之后,它做的变更才会被其他事务看到。3.可重复读一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的。4.串行化顾名思义是对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。Ⅱ.隔离机制分析读未提交直接返回记

2020-10-23 16:13:05 479

原创 MySQL深度解析---日志系统

一、日志系统redo log (重做日志)1.功能作用InnoDB引擎特有的日志,用来临时的记录数据库的更新操作。记录的是“在某个数据页上做了什么修改”。2.原理解析redo log 是物理日志,它分为两部分,一部分是在内存中的日志缓冲redo log buffer,另一部分是在磁盘上的重做日志文件 redo log file。而每次把日志从内存持久化到磁盘都需要经过操作系统内核空间os buffer 并且调用一次操作系统的fsync()操作,调用fsync()的作用就是将OS buffer中的日

2020-10-23 15:20:37 398

原创 MySQL深度解析----基础架构

一、MySQL基础架构大体来说MySQL可分为Server层和存储引擎层1、Server层Server层包含了所有跨存储引擎的功能,比如存储过程、触发器、视图、还有所有内置函数(如日期、时间、数学等),此外Server层还包含了几个重要的组件,下面会逐个介绍它们的功能。连接器功能和客户端 建立连接、获取权限、维持和管理连接。特点在连接建立时一次性的获取权限,之后 此连接的权限都将取决于建立连接时获取的权限。常用命令mysql -h$ip -P$port -u$user -p --建

2020-10-22 14:37:11 198

原创 API开发实战----调用高德API实现轨迹纠偏里程校准

一、前言在一些和车辆设备有关的项目中需要用到回显车辆的运行轨迹、或者是显示车辆的详细信息(比如里程值、速度等等),但是有些时候,安装在车辆上的GPS上报设备上报的数据并不是百分之百的精准,可能的情况有:个别点的经纬度有偏差(并没有在道路上),车辆的里程值有误等等。本实例要解决的就是车辆的轨迹点偏移和里程值的更新校准。二、 总体思路在了解实现流程之前,需要对几个属性进行说明。设备号:安装在车...

2020-08-06 10:41:41 2442 1

原创 SpringBoot热部署

108-devtools开发热部署只需要引入Spring-devtools依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>引入依赖后 重新编译

2020-08-04 15:35:08 76

原创 SpringBoot与分布式(Dubbo、SpringCloud)

分布式一般使用zookeeper+dubbo或者Spring Boot+Spring Cloud102、103-Dubbo简介、安装关于Dubbo详见Dubbo篇docker安装zookeeperdocker pull zookeeper104-分布式-SpringBoot整合Dubbo、zookeeper服务提供者:1.引入dubbo、zkClient依赖 <dependency> <groupId>com.alibaba.boot</grou.

2020-08-04 15:24:19 154

原创 SpringBootSecurity安全相关

99~101-安全-登录&认证&授权&权限控制&注销&记住我&定制登录页安全部分内容主要以演示功能为主,实际项目中用户信息和权限都存在数据库中。1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId>

2020-08-02 17:51:16 107

原创 SpringBoot任务相关(定时、异步、邮件)

95-任务-异步任务在处理与第三方进行交互的时候,可以使用异步任务来交互,避免过长的等待时间。Spring在3.x之后就使用了@Async来使用异步。在主程序上开启异步注解@EnableAsync //开启异步注解功能@SpringBootApplicationpublic class Springboot04TaskApplication { public static void main(String[] args) { SpringApplication.run(Springbo

2020-08-02 16:42:53 178

原创 SpringBoot与ElasticSearch整合

91、92-ES安装、入门详见ES篇。93-检索-SpringBoot整合Jest操作ESSpringBoot默认是用Spring-Data-ElasticSearch模块进行操作1.使用Jest来操作ES导入依赖 <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</artifactId> <version>5.3.3</ve

2020-08-02 16:06:07 224

原创 SpringBoot与消息中间件RabbitMQ

84-JMS&AMQP消息协议1.消息队列一般用来解决:异步处理应用解耦流量削峰(秒杀)2.消息队列的两种主要形式:点对点发布/订阅3.两种不同的消息协议JMS(Java Message Service)基于JVM消息代理的规范,ActiveMQ是JMS实现AMQP(Advanced Message Queuing Protocol)高级消息队列协议,也是一个消息代理的规范,兼容JMS,RabbitMQ是AMQP的实现两种消息协议的对比4.Spring支持

2020-08-02 14:47:50 151

原创 SpringBoot中缓存的使用

72-JSR107缓存规范JSR是一种缓存规范1.Java Caching定义了5个核心接口CachingProvider: 定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。CacheManager: 定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中。一个CacheManager仅被一个CachingProvider所拥有。Cache: 是一个类似Map的数

2020-07-27 22:45:09 534

原创 SpringBoot应用启动原理

67-启动原理-创建SpringBootApplication对象的初始化几个重要的事件回调机制:配置在META-INF/spring.factories—(代表重写时需要在静态文件夹下新建META-INF/spring.factories文件,参照源码的配置格式配置重写的类)ApplicationContextInitializerSpringApplicationRunListener只需要放在ioc容器中—(代表重写时需要在重写类上加@Compont注解)ApplicationRu

2020-07-21 20:37:15 173

原创 SpringBoot数据访问

59-SpringBoot数据访问简介SpringBoot中的数据访问都是使用了Spring全家桶中的SpringData。启动器中带data的就表示使用了SpringData。数据访问主要介绍:JDBC、MyBatis、JPA60-JDBC&自动配置原理构建项目时勾选MySql和JDBC等等,导入依赖。1.JDBC依赖:<dependency> <groupId>org.springframework.boot</groupId> &

2020-07-21 09:37:19 150

原创 Docker快速入门

51- web开发-外部Servlet容器启动SpringBoot应用原理1.使用外部Servlet容器的启动过程SpringBoot打成jar包的执行过程:执行SpringBoot主类的main方法,启动ioc容器,创建嵌入式的Servlet容器;SpringBoot打成war包的执行过程:启动服务器,服务器启动SpringBoot应用【SpringBootServletInitializer】,最后启动ioc容器;war包的执行具体流程:启动Tomcat(先启动Servlet容器)服务

2020-07-18 15:57:52 211

原创 SpringBoot-Controller和前后端交互相关

41-【实验】-员工修改-重用页面-修改完成1.回显员工信息:用get的方式获取单个员工信息Controller中使用@GetMapping("emp/{id}")使用@PathVariable("id")来获取请求路径中的id获取后把获取到的对象放入model的数据对象中:model.setAttribute("emp",employee);2.重用页面:使用以下标签实现重用th:value="${emp!=null}?${emp.lastName}"//如果回显对象不为空就

2020-07-17 12:17:17 1215

空空如也

空空如也

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

TA关注的人

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