自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

healer的博客

不要让借口阻止你的前行--海的男人

  • 博客(51)
  • 收藏
  • 关注

转载 MYSQL索引那些事

缺点:磁盘 I/O 是并发的瓶颈 ,海量数据查询效率低 ,横向扩展困难,无法简单的通过添加硬件和服务节点来扩展性能和负载能力, 需要对数据库进行升级和扩展时,需要停机维护和数据迁移 ,多表的关联查询以及复杂的数据分析类型的复杂 sql 查询,性能欠佳。因为name字段在学号索引树上不存在,需要拿着学号索引树上的主键值去主键索引树中找姓名,这就是一次回表查询。建了一个(a,b,c)的复合索引,那么实际等于建了(a),(a,b),(a,b,c)三个索引,因为每多一个索引,都会增加写操作的开销和磁盘空间的开销。

2022-10-14 17:42:37 586 1

原创 图像处理系列之python的PIL库

Pillow 是 Python 中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像、调整图像大小和图像颜色处理等。与 Pillow 相比,OpenCV 和 Scikit-image 的功能更为丰富,所以使用起来也更为复杂,主要应用于机器视觉、图像分析等领域,比如众所周知的“人脸识别”应用。...

2022-08-04 15:51:26 322

原创 anaconda 安装应用包时报错:Solving environment: failed with initial frozen solve. 解决

在pycharm开发软件上做pytorch深度学习的时候,安装openCV提示:但是也不会影响opencv的安装,我查了一下,因为我是用anaconda管理包的 ,查了一下说是anaconda需要更新,所以执行如下:1.管理员模式运行anaconda prompt2.conda update conda # 升级 conda(升级 Anaconda 前必需)3.conda update --all # 更新所有包,包括 Anaconda 和 conda这样会把所有的包更新一遍,过程比较慢,但是如果明确

2022-06-16 16:33:26 2036

原创 pytorch学习7:torch.gather()函数

gather可以对一个Tensor进行聚合,声明为:torch.gather(input, dim, index, out=None) → Tensor一般来说有三个参数:输入的变量input、指定在某一维上聚合的dim、聚合的使用的索引index,输出为Tensor类型的结果(index必须为LongTensor类型)。#参数介绍:input (Tensor) � The source tensordim (int) � The axis along which to indexindex (Lo

2022-06-13 16:06:23 296

原创 pytorch学习6:norm函数--范数的理解和计算

找了半天的博客讲解,发现这一篇还不错,上半部分讲解了范数,下半部分讲解了torch.norm()函数的使用。地址:【Pytorch】data.norm(几种范数(norm)的详细介绍)_ZSYL的博客-CSDN博客_norm pytorch

2022-05-23 16:44:45 1001

原创 pytorch学习3:张量的加减乘除

一、先介绍乘法,张量的 乘法有两种,分别是元素乘法和矩阵乘法,不清楚矩阵乘法的看这个视频(https://www.bilibili.com/video/BV1TJ411s7dk/?spm_id_from=333.788.recommend_more_video.1)一、函数介绍pytorch中两个张量的乘法可以分为两种:(1)两个张量对应元素相乘,在PyTorch中可以通过torch.mul函数(或*运算符)实现;(2)两个张量矩阵相乘,在PyTorch中可以通过torch.matmul函数

2022-05-18 17:38:49 3505

原创 pytorch学习5:合并和拼接

一、cat函数,cat([a,b,c],dim=N),合并函数。举例:a = torch.rand(4,3,32,32)b = torch.rand(5,3,32,32)d = torch.rand(6,3,32,32)c = torch.cat([a,b,d],dim=0)print(c.shape) #torch.Size([15, 3, 32, 32])上述代码中:[a,b,c]表示维度相同的张量,可以是任意多个。dim=0表示以第一个维度为基准来进行合并,所以看到三个

2022-05-18 13:47:29 1764

原创 pytorch学习4:Broadcast自动拓展

broadcast的两个特点broadcast的两个特点:1.能够进行维度的扩展,相当于expand,但是是自动扩展2.扩展的时候不需要拷贝数据注意broadcast并不是函数,而是在不同size的tensor之间进行加减操作会自动进行的一种机制主要思想:1.依次从最后一个维度开始匹配,若前面没有维度则插入一个新的维度,size为12.自动调用Expand函数使得维度size相同假设有如上图的一个feature map,要加上一个bias,把后面的维度理解为小维度,前面的维度理解为大

2022-05-18 10:14:14 174

原创 机器学习中,fit_transform,fit,transform三个函数的区别和作用

写在前面fit和transform没有任何关系,仅仅是数据处理的两个不同环节,之所以出来fit_transform这个函数名,仅仅是为了写代码方便,会高效一点。sklearn里的封装好的各种算法使用前都要fit,fit相对于整个代码而言,为后续API服务。fit之后,然后调用各种API方法,transform只是其中一个API方法,所以当你调用transform之外的方法,也必须要先fit。fit原义指的是安装、使适合的意思,其实有点train的含义,但是和train不同的是,它并不是一个训练的过

2022-03-30 09:51:39 5067

原创 在机器学习中标准化/归一化的目的及作用和场景

(一)归一化的作用在机器学习领域中,不同评价指标(即特征向量中的不同特征就是所述的不同评价指标)往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。其中,最典型的就是数据的归一化处理。(可以参考学习:数据标准化/归一化)简而言之,归一化的目的就是使得预处理的数据被限定在一定的范围内(比如[0,1]或者[-1,1]),从而消除奇异样本数

2022-03-25 17:03:31 1387

原创 TF-IDF算法介绍和实现

1、TF-IDF算法介绍 TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)是一种用于信息检索(information retrieval)与文本挖掘(text mining)的常用加权技术。 TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。 TF-IDF...

2022-03-25 17:02:01 603

原创 conda 命令和pip命令的区别,以及conda命令大全

一、conda 命令和pip命令的区别pip是用来安装python包的,安装的是python wheel或者源代码的包。从源码安装的时候需要有编译器的支持,pip也不会去支持python语言之外的依赖项。conda是用来安装conda package,虽然大部分conda包是python的,但它支持了不少非python语言写的依赖项,比如mkl cuda这种c c++写的包。然后,conda安装的都是编译好的二进制包,不需要你自己编译。所以,pip有时候系统环境没有某个编译器可能会失败,conda不

2022-03-25 14:52:35 7333

转载 One-hot编码

什么是Onehot编码?onehot编码又叫独热编码,其为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。Onehot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。举个例子:在机器学习算法中,我们经常会遇到分类特征。例如:人的性别有男女,祖国有中国,美国,法国等。这些特征值并不是连续的,而是离散的,无序的。通常我们需要对其

2022-03-23 17:45:18 6104

原创 二、python入门,Anaconda的使用

一、anncoda的用途是什么?

2022-03-22 17:21:39 1089

原创 线上项目出问题,如何在本地进行线上代码调试?这里有答案

做过项目开发的小伙伴都知道,时不时的会遇到这种情况:小王,线上有个问题,你帮忙看一下。这时候有两种情况:1、自己开发的功能出现问题2、别人开发的功能出险问题(比如这人离职了)第一种情况,自己开发的功能自己了解,只要是代码中日志加的合理,一定能快速的定位出问题,当然,这也要求自己的开发功底别太差。第二种情况,别人的功能出了问题,我也建议,先通过日志来定位问题,再去读读对应的代码,代码只要写的不是太差,也能看出问题所在。如果真找不出问题,那就干!在本地进行线上代码调试。。。。前提:线

2021-12-06 15:31:38 1284

原创 一、Camunda工作流的学习路线(开局一把刀,学完后青铜变王者)

前言 我写这篇文章的目的是为了将camunda工作流的相关知识系统化,目前网上的文章知识点很散,有些文章也不适合目前的企业级项目开发。学习路线:一、如果你是小白,你需要自己去理解什么是工作流?其作用是什么?它的应用范围是什么?目前主流的技术有哪些?明白了这几个问题,你才能继续学习camunda,任何技术的学习都不能脱离实际应用。二、技术选型,就是我们为什么会学习使用camunda,而不是activiti5,这就要求我们要懂得两者之间的区别,有些特性我们也能从区别中很好的识别出来,这些区..

2021-03-26 17:08:13 2590 4

原创 三、Camunda工作流的表和用途说明(实践是检验真理的唯一标准)

本人在工作中用的Camunda7.11版本共47张表。camunda工作流的表大体上分为 5类:ACT_RE_*: 'RE’表示流程资源存储,这个前缀的表包含了流程定义和流程静态资源(图片,规则等),共5张表。ACT_RU_*: 'RU’表示流程运行时。 这些运行时的表,包含流程实例,任务,变量,Job等运行中的数据。 Camunda只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录, 这样运行时表的数据量最小,可以最快运行。共15张表。ACT_ID_*: 'ID’表示组织用户信.

2021-03-24 18:53:36 5849 3

原创 一、学习python笔记:了解python语言特性

一、python的语言特性(python是完全面对对象的一门语言)为了偷懒,我截了图说明了其特点,本人是Java开发,所以下面很多的对比我拿Java来做例子:1、它是 解释型语言,作为对比,我们经常使用的Java是编译型语言。编译型语言是编写完代码之后,通过编译器来编译成操作系统可执行的文件,如果一行代码出错,是编译不过的。先全部编译成功,然后再统一执行,是两部分开的过程。解释型语言是通过解释器解释一行成为操作系统可以可执行的命令,立刻执行这一行,就是边解释边执行,那么跟对比一下,程序的

2021-03-03 13:53:18 164

转载 MySQL的体系结构

背景:本篇博文,目的是让大家了解一下mysql的内部结构,不谈细节,文章是转载的,看着很不错!MySQL的体系结构概述猛眼一看这个结构体系图好像很繁琐,其实这个体系和我们在做web开发时的三层架构是有些类似的。用户发起一个请求到控制处理层,控制处理层调用service服务进行服务处理,service服务再调用dao层为service提供数据层的支持返回对应的数据(内容),最终响应给用户。类似这样,详细的来分析这个结构图。先讲这个结构图分成两部分,如下图所示:1、Co

2021-01-07 16:02:54 122

原创 spring 多个切面的执行顺序及原理

最近和同事聊起来了springAOP的话题,说了到多个切面的时候程序是怎么执行的,我们常用的spring事务本身也是一个切面,使用的AOP原理,本人从网上找了一些资料,然后根据这些资料进行一下总结。资料地址:1.https://blog.csdn.net/stpice/article/details/102733782 2.https://www.jb51.net/article/179078.htm另外,如果有些朋友不是很清楚aop原理,可以去...

2021-01-07 14:54:34 11136 1

原创 JVM之栈详解,换种表达一点就透

在讲解之前,首先你要对JVM的内存模型有一个初步理解,并对一个项目从启动到某个方法的调用有一个大致的流程理解,要不然即使知道了JVM有哪些模块,也不能学以致用。见下图:Java栈:栈描述的是方法执行的内存模型,每个方法调用都会创建一个栈帧(存储局部变量,操作数和方法入口等),每个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。 虚拟机只会直接对Java栈执行两种操作:以帧为单位的压栈或出栈。当线程调用java方法时,虚拟机压入一个新的栈帧到该线程的java栈中。当

2020-12-22 18:44:42 239

原创 JVM之程序计数器,精华之处,你值得拥有

一、先来看看概念多线程的Java应用程序:为了让每个线程正常工作就提出了程序计数器(Programe Counter Register),每个线程都有自己的程序计数器这样当线程执行切换的时候就可以在上次执行的基础上继续执行,仅仅从一条线程线性执行的角度而言,代码是一条一条的往下执行的,这个时候就是程序计数器;JVM就是通过读取程序计数器的值来决定下一条需要执行的字节码指令,进而进行选择语句、循环、异常处理等;这个还没看懂的话不要紧,继续往下走咯。二、作用:​ PC寄存器用来存...

2020-07-13 14:29:02 332 2

原创 Redis 主从复制原理,以及普通主从复制存在的问题

redis的基本用途,一些基础的数据类型等这些我都不多讲了,我写这篇文章的出发点是和大家一起学习一下redis的主从复制的一些逻辑,不讨论主从服务器的搭建和具体配置。

2020-05-28 11:59:07 622

原创 设计模式讲解1:目的和七大原则

这边文章我是一边看着教学视频一边写的,可能某些地方解释的不够详细,我们进入正文:一、目的:二、原则:1.单一职责原则对于类来说,一个类应该只负责一项职责!!有过开发经验的人应该秒懂,比如有个订单类order.java,张三用作RPC接口,在这个类里加了a字段;李四也用到了这类,在这个类里加了b字段;后来这两人都离职了,王五接手后用到了b字段,但是修改了b字段的返回值标...

2019-11-19 15:48:14 301

转载 白话阿里巴巴Java开发手册高级篇

不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进...

2019-11-08 17:39:08 194

原创 SpringBoot创建maven多模块项目(简单标准!!)

使用工具:idea详细步骤:file->new -> project然后一路next即可,最后finish最后我们看到创建后的项目只有项目名称和pom.xml就对了:二:接下来创建我们的多模块mave子项目:next -> finish接下来可以看到我们的两个子模块...

2019-11-08 10:00:12 1591 1

转载 MySQL查询语句的执行顺序

前言:本来想自己写,发现这篇文章不错,就直接转载了正文:首先来看一个完整的sql语句组成部分:SELECT DISTINCT <column> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <w...

2019-10-31 17:13:00 222

原创 Mysql-索引的创建规则和使用场景以及组合索引的重点讲解!(入木三分,简洁明了)

前言:之前的项目中一直用Oracle数据库,所以对Oracle的细节理解方面要远胜于MySQL,这家公司用的MySQL,这几天在做项目优化,看到之前的表中有的没建索引,有的乱建索引(建了没用到),所以我又重新梳理了一遍,正好对MySQL索引研究了研究,特写下此文,供后来者参考。这里我不会讲到索引的概念还有内部的详细原理,我会根据场景讲解什么时候要建索引,怎么建索引,怎么用索引,索引在什么查询语...

2019-10-31 17:05:16 1160

原创 java高效编程----Filter讲解 通俗易懂!

一、Filter简介我先讲一下filter,英文翻译:过滤器!它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。  Servlet API中提供了一...

2019-07-31 16:20:12 382

原创 Java-生成二维码-两种方式:普通二维码和带有中间log(简单,高效,通俗,易懂)

最近公司里项目要求生成二维码来提供给用户扫码跳转页面,需求很简单,正好自己还是第一次做二维码这一块,所以写了此文章,供后来者借鉴!这里我多啰嗦几句,其实二维码就是某个URL的另一种呈现形式,按照逻辑思考,第一,怎么样生成二维码?第二,二维码的时效性或者说有效性如何保持?那我们来带着问题往下看:其实网上有很多二维码生成的示例或者工具类,但是我在使用的时候总觉得不是很好,有的生成的带有中间LO...

2019-07-30 16:03:18 1262

原创 一、Redis数据结构之【字符串】,掌握它的实际应用场景(3)--学以致用

上面几章讲到了字符串结构类型的一些命令和执行效率,本章讲一下字符串结构类型,能使用在哪几种典型的场景中。一、缓存功能图2-10是比较典型的缓存使用场景,其中Redis作为缓存层,MySQL作 为存储层,绝大部分请求的数据都是从Redis中获取。由于Redis具有支撑高并发的特性,所以缓存通常能起到加速读写和降低后端压力的作用。下面伪代码模拟了图2-10的访问过程: ...

2019-03-26 15:03:42 261 1

原创 一、Redis数据结构之字符串,掌握基本命令(2)--简单透彻!

第一章中我讲到了redis的常用的全局命令(地址:https://blog.csdn.net/qq_32317661/article/details/88663527),这一章我们继续,废话不多说,直接干!1.批量设置值mset key1 value1 key2 value2 key3 value3 ...设置成功返回 OK2.批量获取值mget ke...

2019-03-21 16:34:39 152

原创 一、Redis数据结构之字符串,掌握基本命令(1)--简单透彻!

上一章节我讲到了在Linux系统中如何安装redis,如何启动和关闭redis。这一章我讲一下redis一些全局命令的使用,简单说一下它的几种数据结构,另外我们都说redis缓存很快很高效,高效的原理是什么?学东西我们要知其然知其所以然,这一章我也讲一下!前置步骤:当我们启动了redis-server服务以后,我们先连接到redis进行命令操作,方式:使用redis-cli(redis客户端)...

2019-03-19 17:48:17 171

原创 Linux系统下安装redis,详细、简介、通俗易懂,亲自验证通过!

前言在Linux系统中安装Redis需要知道自己需要哪个版本,有针对性的安装,比如如果需要redis GEO这个地理集合的特性,那么redis版本就不能低于3.2版本,由于这个特性是3.2版本才有的。另外需要注意的是,Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版、3.0版),奇数版本是非稳定版(如2.7版、2.9版),生产环境下一般需要使用稳定版本。环境...

2019-03-19 10:11:33 203

原创 四、SpringBoot配置devtools实现热部署

在使用springboot项目开发过程中,我们会在本地不断地修改代码,然后不断地重启tomcat实现项目的重新发版,这个过程占用了我们很大的时间,所以我们今天来讲一下如何实现热部署(就是改了代码它会自动重启,不用我们手动重启)一、在pom文件中添加如下配置:1.在&lt;dependencies&gt;&lt;/dependencies&gt;中添加:&lt;!-- 热部署 --&gt...

2019-01-07 18:27:24 295

原创 三、springboot项目+mybatis+mysql整合(一学就会,超简单!!!)

如果你还没有搭建一个springBoot 项目,请阅读我的文章(https://blog.csdn.net/qq_32317661/article/details/85295625),能够让你在十分钟之内搭建起一个springBoot项目!并且能够自动的加入了mybatis和mysql的pom依赖,如果你使用的数据库是Oracle,在构建项目的时候选择上oralce依赖就可以了。在我们搭...

2019-01-07 15:11:24 6945 1

原创 二、替换掉springBoot自带的tomcat容器,使用自己的tomcat进行项目发布

上一章我讲到了如何去创建一个springBoot项目,地址:https://blog.csdn.net/qq_32317661/article/details/85295625在实际项目中,我们会使用自己的tomcat容器进行打包发布项目,那么如何替换掉springBoot自带的tomcat容器,使用自己的tomcat进行项目发布,我们直接看步骤:1.明白是哪一个依赖让我们使用了sprin...

2019-01-04 16:44:05 6297

原创 一、手把手教你创建springBoot项目

之前就接触过springboot作为框架的项目,但是不是我自己搭建的,当时看了一下结构,和spring项目比,springboot采用注解方式简化了配置,废话不多说,咱们就手动搭建一个简单的springboot项目。注意:现在springboot几个新版本都是基于JDK1.8的,所以我接下来的几篇文章的讲解,也全部围绕JDK1.8来。我先讲怎么利用eclipse工具常规的创建一个sprin...

2019-01-03 17:36:35 3080 2

原创 Java 对象copy之BeanCopier工具类的使用

对象拷贝的应用现状简介:业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度,代码因此变得臃肿不堪,使用一些方便的对象拷贝工具类将是很好的选择。目前流行的较为公用认可的工具类:Apache的两个版本:(反射机制)org.apache.commons.beanutils.PropertyUtils.c...

2018-11-23 15:20:01 15664 3

原创 同一service中不同方法调用,spring事务无效的问题以及解决方案(简单明了)

小伙伴可能在项目中遇到这样的问题,比如serviceA中有两个methodA()和methodB()方法(A,B方法是通过接口来实现的,这一点很重要!),其中methodA方法没有事务,methodB方法有事务,在methodA方法体中调用了methodB,实际methodB是不会开启事务的!如下:public class ServiceAImplimplements ServiceA...

2018-09-30 14:52:36 5069

空空如也

空空如也

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

TA关注的人

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