自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mybatis开发部分核心代码

mybatis 入门案例

2023-10-07 19:15:05 193

原创 springboot配置maven仓库pom文件部分包不能导入问题

经分析settings.xml若不放在默认的路径下 (C:\Users\xxx\.m2 )则有可能导致无法正确加载settings.xml文件的现象,具体原因不详,xml文件中本地仓库路径可以修改到任意目录下。问题描述:在配置springboot maven仓库时,使用本地安装的maven settings.xml,在确保正确配置了本地仓库位置,中央仓库位置的情况下,项目pom 文件中包爆红,且不能显示如下结构。解决方式:如下目录中 勾选框框中内容。表示将项目移交给maven运行,且设置它的JDK。

2023-08-15 16:16:54 832

原创 python中变量命名单/双下划线的含义和区别

本文介绍了python中单下划线和双下划线各种含义和命名约定,名称修饰的工作原理以及他如何影响你的Python类在文中我们将讨论五中下划线模式和命名约定,以及他们如何影响python程序的行为1._var2.var_3.__var4.__var__5._当涉及到变量和方法名称时,单下划线前缀有一个约定俗成的含义:以单下划线开头的变量或方法仅供内部使用。(注意程序的行为不受影响)注意:你会看到_并没有影响到我们访问属性,但是前缀下划线会影响从模块中导入名称的方式如:当我们使用from my_module

2022-07-07 11:36:24 832 1

转载 Python占位符 %d %s %f %r的使用

python 占位符介绍

2022-07-01 19:31:11 15050 1

原创 python中dot函数总结

本文结合其他博主的一些介绍总结了dot函数运算过程基本简介dot函数为numpy库下的一个函数,主要用于矩阵的乘法运算,其中包括:向量内积、多维矩阵乘法和矩阵与向量的乘法。1. 向量内积向量其实是一维的矩阵,两个向量进行内积运算时,需要保证两个向量包含的元素个数是相同的。例1:import numpy as npx = np.array([1, 2, 3, 4, 5, 6, 7])y = np.array([2, 3, 4, 5, 6, 7, 8])result = n

2022-05-30 13:19:24 27613 4

原创 App推荐系统

协同过滤 协同过滤(Collaborative Filtering)技术,是推荐系统中应用最为广泛的技术之一,协同过滤算法主要有两种,一种是基于用户的协同过滤算法(UserBaseCF),另一种是基于物品的协同过滤算法(ItemBaseCF)。1.基于用户的协同过滤基于用户的协同过滤:跟你喜好相似的人喜欢的东西你也很有可能喜欢。如图假设用户A喜欢商品A,C。用户B喜欢商品B。用户C喜欢商品A,C,D。我们可以发现用户A和C的行为和偏好是比较类似的。用户C喜欢物品D,那么就可以将物品D推荐给用..

2022-05-20 15:13:50 881

原创 决策树和随机森林

决策树和随机森林都是非线性有监督的分类模型决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别。通过训练数据构建决策树,可以对未知数据进行分类,随机森林是由多个决策树组成,随机森林中每一棵决策树之间没有关联,在得到一个随机森林后,当有新的样本进入的时候,随机森林中的每一棵决策树分别进行判断,分析出该样本属于哪一类,然后最后看哪一类被选择最多,就预测该样本属于这一类。 认识决策树 术语:根节点:最顶层的分类条件叶节点:代表每

2022-05-19 17:27:46 7785

原创 逻辑回归算法

逻辑回归又叫logistic回归分析,是一种广义的线性回归分析模型。线性回归要求因变量必须是连续性的数据变量,逻辑回归要求因变量必须是分类变量,可以是二分类或者多分类(多分类都可以归结到二分类问题),逻辑回归的输出是0~1之间的概率。比如要分析年龄,性别,身高,饮食习惯对于体重的影响,如果体重是实际的重量,那么就要使用线性回归。如果将体重分类,分成了高,中,低三类,就要使用逻辑回归进行分类。逻辑回归公式:逻辑回归公式又叫逻辑函数(Logistic function)或者S形函数(Sigmo.

2022-05-18 15:20:21 6425

原创 K-Means聚类算法

K-means聚类算法机器学习中有两类的大问题,一个是分类,一个是聚类。分类是监督学习,原始数据有标签,可以根据原始数据建立模型,确定新来的数据属于哪一类。聚类是一种无监督学习,聚类是指事先没有“标签”,在数据中发现数据对象之间的关系,将数据进行分组,一个分组也叫做“一个簇”, 组内的相似性越大,组间的差别越大,则聚类效果越好,也就是簇内对象有较高的相似度,簇之间的对象相似度比较低,则聚类效果越好。K-means就是一个聚类算法。K-means聚类算法中K表示将数据聚类成K个簇,means表示每个聚

2022-05-07 17:35:09 8858

原创 KNN最近邻算法

KNN最邻近算法 K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一,有监督算法。该方法的思路是:如果一个样本在特征空间中的k个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法由你的邻居来推断出你的类别,KNN算法就是用距离来衡量样本之间的相似度。如果K = 3,绿色圆点的最近的3个邻居是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类..

2022-05-07 17:09:07 1783

原创 贝叶斯算法

第一节:朴素贝叶斯算法朴素贝叶斯(Naive Bayes ,NB)算法是基于贝叶斯定理与特征条件独立假设的分类方法,该算法是有监督的学习算法,解决的是分类问题,是将一个未知样本分到几个预先已知类别的过程。朴素贝叶斯的思想就是根据某些个先验概率计算Y变量属于某个类别的后验概率,也就是根据先前事件的有关数据估计未来某个事件发生的概率。 举例: 一个学校内有60%的学生是男生,40%的学生是女生。根据统计,男生总是穿长裤,女生则有一半穿长裤,一半穿裙子。问题:假设在校园中随机抽取一个穿长

2022-05-03 15:26:57 7900 3

原创 机器学习算法-线性回归

什么是回归?从大量的函数结果和自变量反推回函数表达式的过程就是回归。线性回归是利用数理统计中回归分析来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。一元线性回归:只包括一个自变量(x1)和一个因变量(y1),且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。公式:y=w0+w1x1多元线性回归:如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。公式:y=w0+w1x1+w2x2+w3x3+w4x4.....

2022-05-01 18:48:31 1168

转载 【Flink】Flink 底层RPC框架分析

1. 前言对于Flink中各个组件(JobMaster、TaskManager、Dispatcher等),其底层RPC框架基于Akka实现,本文着重分析Flink中的Rpc框架实现机制及梳理其通信流程。2. Akka介绍由于Flink底层Rpc是基于Akka实现,我们先了解下Akka的基本使用。Akka是一个开发并发、容错和可伸缩应用的框架。它是Actor Model的一个实现,和Erlang的并发模型很像。在Actor模型中,所有的实体被认为是独立的actors。actors和其他

2022-03-18 19:48:55 847 1

原创 Window Apply,Process Function,ReduceFunction,AggregateFunction分析

本文全部来源于官方文档解释。Window Apply#WindowedStream → DataStream#AllWindowedStream → DataStream#Applies a general function to the window as a whole. Below is a function that manually sums the elements of a window.解释:将一个通用的函数应用到整个窗口。可见apply用于窗口函数之后。举例:...

2022-03-07 15:30:12 2359

转载 什么是JAVA NIO

NIO(Non-Blocking I/O,java中,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,是解决高并发、I/O处理问题的有效方式。一、传统的BIOBIO(Blocking I/O)即同步阻塞I/O,在NIO出现之前主要使用BIO及新建线程的方式来解决并发请求,但这样很容易因线程瓶颈而造成限制。之所已使用多线程,因为accept()、read()、write()三个函数都是同步阻塞的,当一个连接存在的时候,系统是阻塞

2021-12-29 11:24:04 649

转载 Java NIO 的前生今世 之四 NIO Selector 详解

SelectorSelector 允许一个单一的线程来操作多个 Channel. 如果我们的应用程序中使用了多个 Channel, 那么使用 Selector 很方便的实现这样的目的, 但是因为在一个线程中使用了多个 Channel, 因此也会造成了每个 Channel 传输效率的降低.使用 Selector 的图解如下:为了使用 Selector, 我们首先需要将 Channel 注册到 Selector 中, 随后调用 Selector 的 select()方法, 这个方法会阻塞, 直到注

2021-12-29 09:10:38 205

转载 Java NIO 底层原理

目录写在前面 1.1. Java IO读写原理 1.1.1. 内核缓冲与进程缓冲区 1.1.2. java IO读写的底层流程 1.2. 四种主要的IO模型 1.3. 同步阻塞IO(Blocking IO) 1.4. 同步非阻塞NIO(None Blocking IO) 1.5. IO多路复用模型(I/O multiplexing) 1.6. 异步IO模型(asynchronous IO)​ 此文,从底层入手,给各位小伙伴,起底一下,java的四大io模型。需要面试的,或者没有弄

2021-12-22 15:48:55 136

转载 JUC基础知识

JUC基础部分知识

2021-12-22 09:49:50 668

转载 设计模式之命令模式

命令模式的定义:将请求封装成一个对象,从而让用户使用不同的请求把客户端参数化,以及支持可撤销和恢复的功能。命令也是类,将命令作为一个类来保存,当要使用的时候可以直接拿来使用,比如脚本语言写出的脚本,只需要一个命令就能执行得到我们想要的需要操作很长时间才能得到的结果。这是一个非常有意思的模式,将操作的步骤保存下来。是一种非常重要的开发理念,在需要保存历史纪录并恢复的场合是非常有用的。从定义上来看着实令人一脸懵逼,在这里描述一下博主个人的理解:请求:客户端要求系统执行的操作,在java的世界里面就是

2021-12-16 15:28:57 102

原创 组件hdfs 进程nameNode 内存元数据空间directory 写入元数据一段代码赏析(重试机制)

通过客户端client向namenode写入元数据时发现了一段很有意思的重试机制特记录以待日后学习查阅:代码如下:boolean shouldRetry = true;int retryCount = CREATE_RETRY_COUNT; --10//TODO 重试的代码结构while (shouldRetry) { shouldRetry = false; try { stat = dfsClient.namenode.create(src, m

2021-12-10 10:29:53 1413

原创 hdfs中一处装饰者模式代码

阅读hdfs源码时发现了很多地方用到了装饰者模式 特记录分析以便日后复习之用源码部分EditLogFileInputStream.javareader = new FSEditLogOp.Reader(dataIn, tracker, logVersion);这句源码来自 standbyNameNode 通过HTTP读取日志写入自己元数据中部分我们来点开这段代码的实现类进行学习1.public abstract class FSEditLogOp{}这个类为被装饰者类,其下有

2021-12-09 11:22:07 120

转载 设计模式之建造者模式(Builder pattern)

前言在软件工程领域,设计模式是一套通用的可复用的解决方案,用来解决在软件设计过程中产生的通用问题。它不是一个可以直接转换成源代码的设计,只是一套在软件系统设计过程中程序员应该遵循的最佳实践准则。定义将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示使用场景当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。例如我们现在有如下一个类计算机类Computer,其中cpu与ram是必填参数,而其他3个是可选参数常规方式不再距离我们.

2021-12-08 16:50:22 153

原创 hdfs中一处构造者模式的应用

关于构造者的基础知识另一篇文章中有记录秒懂设计模式之建造者模式(Builder pattern) - 知乎在阅读Hdfs源码中发现构造者模式,特记录下来,以便日后回顾留存。源码位置/** * Add create directory record to edit log */public void logMkDir(String path, INode newNode) { PermissionStatus permissions = newNode.getPermission.

2021-12-08 12:00:08 105

转载 设计模式之装饰者模式

设计模式--装饰模式

2021-12-05 18:00:51 371

转载 final浅谈

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:  一.final关键字的基本用法  二.深入理解final关键字  若有不正之处,请多多谅解并欢迎指正。  请尊重作者劳动成果,转载请标明原文链接:  http://www.cnblogs.com/dolphin0520/p/3736238.html一.final关

2021-12-02 15:50:28 79

转载 ==与equals源码角度分析

分析前基础了一)JVM把内存划分成两种:一种是栈内存,一种是堆内存。 ①在函数中定义的一些基本类型的变量和对象的引用变量(变量名)都在函数的栈内存中分配。 ②当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用 ③堆内存用来存放由new创建的对象(包括由基本类型包装起来的类:Integer、String、Double,实际上每个基本类型都有他的包装类)和数组二)Obj...

2021-12-02 15:26:43 91

转载 java线程副本--ThreadLocal

 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性.多线程并发之所以会不安全,就是因为线程不拥有资源,它们共享竞争着进程的资源,这样线程并发起来不安全,一般的解决方案便是用锁,保证每时每刻一个资源最多只能被一个线程拥有。而在java的多线程中,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。  ThreadLocal解决多线程的并发问题的思路很简单:就..

2021-11-30 18:14:05 621

转载 Java并发编程:volatile关键字解析

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volati

2021-11-30 14:25:13 112

转载 RPC框架相关知识

RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有:应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON)。 通信框架:MINA 和 Netty。目前流行的开源 RPC

2021-11-22 21:41:38 205

原创 kill defunct(僵尸进程)

kill -9 只能杀死用户级别的进程,对于一些僵尸进程,需要 找到其对应父进程将其kill掉,方可奏效例如如下图kill -9 26993 27076 26976 26394 27019 无法杀掉使用ps -ef | grep defauct 找到僵尸进程及其对应父进程第三列为其父进程 kill -9 26389 等 等效果展示完美杀掉...

2021-07-30 10:05:15 412

原创 springBoot类中无法识别get,set方法

今天导入springBoot项目时发现类中无法识别get,set方法,先将现象和解决方法总结如下@Datapublic class DataXJsonBuildDto implements Serializable { private Long readerDatasourceId; private List<String> readerTables; private List<String> readerColumns; priv..

2021-07-28 10:10:33 2029

转载 python2和python3同时安装详细步骤

整理下python2和python3同时安装详细步骤希望对大家有帮助坑已踩过1、下载python3和python2进入python官网,链接https://www.python.org/选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本本文选择的是:Python3.5.2,点击后面链接可直接下载,https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exePython.

2021-07-21 17:28:32 4728

转载 Scala 隐式(implicit)详解

1、Spark 中的隐式思考隐式转换是Scala的一大特性, 如果对其不是很了解, 在阅读Spark代码时候就会很迷糊,我们经常会碰到这么一个问题RDD这个类没有reduceByKey,groupByKey等函数啊,并且RDD的子类也没有这些函数,但是好像PairRDDFunctions这个类里面好像有这些函数 为什么我可以在RDD调用这些函数呢?答案就是Scala的隐式转换;这里把RDD源码贴出来供大家参考object RDD { private[spark] val CH

2021-07-16 18:38:43 644

转载 mysql三大日志-binlog、redo log和undo log

目录binlogbinlog使用场景binlog刷盘时机binlog日志格式redo log为什么需要redo logredo log基本概念redo log记录形式redo log与binlog区别undo log日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo lo...

2021-07-15 18:48:49 67

原创 datax之txtfilereader

声明:本文来源于datax源码包# DataX TxtFileReader 说明------------## 1 快速介绍TxtFileReader提供了读取本地文件系统数据存储的能力。在底层实现上,TxtFileReader获取本地文件数据,并转换为DataX传输协议传递给Writer。**本地文件内容存放的是一张逻辑意义上的二维表,例如CSV格式的文本信息。**## 2 功能与限制TxtFileReader实现了从本地文件读取数据并转为DataX协议的功能,本地文件本身

2021-07-13 18:02:46 2223

原创 datax快速搭建及常见问题

声明:本文来源datax源码包DataXDataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。FeaturesDataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时Data

2021-07-13 16:32:58 501

原创 datax之mysqlWriter

声明:本篇文章来源于datax源码包# DataX MysqlWriter---## 1 快速介绍MysqlWriter 插件实现了写入数据到 Mysql 主库的目的表的功能。在底层实现上, MysqlWriter 通过 JDBC 连接远程 Mysql 数据库,并执行相应的 insert into ... 或者 ( replace into ...) 的 sql 语句将数据写入 Mysql,内部会分批次提交入库,需要数据库本身采用 innodb 引擎。MysqlWriter 面向

2021-07-13 16:20:12 2142

转载 DB2行列转置之行转列

CREATE TABLE SalesAgg( year INTEGER ,q1 INTEGER ,q2 INTEGER ,q3 INTEGER ,q4 INTEGER);insert into SalesAgg values(2004,20,30,15,10);insert into SalesAgg values(2005,18,40,12,27);Select * from SalesAggYEAR Q1 Q2 Q3 Q4---- -- -- -- ...

2021-07-12 09:53:26 937 1

转载 一篇就够了-带你走进DB2分区

今天花了两个小时研究了一下DB2分区的一些相关内容,先总结如下DB2分区有三个特性+ MQT(物化查询表)DISTRIBUTE BY HASH DPF —— 数据库分区特性 ORGANIZE BY DIMENSION MDC —— 多维聚类 PARTITION BY RANGE TP —— 表分区 接下来我们将会按照三个特性和MQT进行细致讲解先决条件:先带大家认识DB2数据库分区的概念和意义参考文献https://blog.51cto.com...

2021-07-09 17:06:12 4500 1

转载 db2中的常用数据类型

目录DB2的常用数据类型:一.数字型二.字符型三.时间型DB2的常用数据类型:一.数字型1. SMALLINT 短整型,范围为-32768~+32767,一遍用的较少。2. INT整型,4个字节,范围为-2147483648~+2147483647,一遍多用于做自动生成的序列,或者用作表记录的id使用。3. BIGINT 大整型,8个字节,精度为19位,够大了,一般较少使用。4. DECIMAL(P,S)...

2021-07-06 15:24:31 1214

空空如也

空空如也

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

TA关注的人

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