自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 安装本地jar包到maven仓库时报NullPointerException

问题:用cmd命令执行mvn install将本地jar包安装到仓库时报了NullPointerException。

2023-05-06 08:59:16 1177 2

转载 MySQL中的Redo log Undo log的作用

阅读目录(Content)1 undo 1.1 undo是啥 1.2 undo参数 1.3 undo空间管理 2 redo 2.1 redo是啥 2.2 redo 参数 2.3 redo 空间管理 3 undo及redo如何记录事务 3.1 Undo + Redo事务的简化过程 3.2 IO影响 3.3 恢复 在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要...

2022-03-03 09:42:07 338

转载 优雅停机之主动从Nacos下线实例

问题场景服务提供方采用了 SpringCloud Alibaba 框架,将服务注册到 Nacos 上,部署采用的是 k8s + docker 容器部署。当服务升级发布时,新的 pod 被创建——Nacos 上服务实例加 1,旧的 pod 被关闭——Nacos 上服务实例减 1。Nacos 通过心跳检测机制,将旧的 pod 实例下线。在关闭旧的 pod 到下线 pod 之间,存在一定的时间差,导致服务消费方调用接口会发生报错的情况,对业务操作造成一定影响。向 Nacos 上注册服务实例流程

2022-03-02 13:17:09 6780 4

原创 ​基于分布式锁解决xxl-job分布式定时任务重复执行的方法​

遇到的问题及使用场景对将要过期(倒计时10天)的优惠券使用用户进行发短信提醒,每天上午10点发一次,发短信的服务有3个实例,如果不进行处理,用户每天会受到3条相同的短信,既影响用户体验,又浪费短信资源,那该怎么处理呢,我现在使用的Spring自带的定时任务组件Scheduled,可能Elastic-Job,XXL-Job开源框架已经很好的解决了这些问题,笔者只讨论是用Spring Task的情况。Redis分布式锁的构建@Slf4jpublic class RedisLock impleme

2022-02-24 16:00:09 3883 1

原创 Springboot知识点总结

1.什么是 SpringBootSpringBoot 是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Springmvc和Springboot区别:SpringMVC是Spring的一个模式,是一个Web框架,提供了一个轻度耦合的方式来开发Web应用; SpringBoot是习惯优于配置,降低了项目搭建的难度; SpringMVC需要使用到TomCat服务器,SpringBoot的话是

2022-02-22 16:29:27 1200

原创 Java垃圾回收机制

引入垃圾回收 哪些内存需要回收? 引用计数法 可达性分析 如何回收 Marking 标记 Normal Deletion 清除 Deletion with Compacting 压缩 为什么需要分代收集? JVM的分代 新生代 老年代 永久代 分代垃圾收集过程详述引入垃圾回收程序计数器、 虚拟机栈、 本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。 每一个栈帧中分配多少内存基本上是在类结构确

2022-02-22 09:20:02 230

原创 MYSQL——事务(ACID,使用,隔离的4个级别)

一、事务1、数据库事务是指:作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行2、事务管理是每个数据库(oracle、mysql、db等)都必须实现的。3、作用:保证了对数据操作的安全性#还钱的例子 A用银行卡给B的支付宝转账1000 1 将A银行卡账户的数据减1000块 2 将B支付宝账户的数据加1000块 在操作多条数据的时候可能会出现某几条操作不成功的情况

2022-01-26 15:35:27 155

原创 如何设计Java框架? 一个简单的例子

你可能对框架如何工作感到好奇?这里将通过一个简单的框架示例来说明框架的思想。框架目标首先,为什么我们需要一个除普通库以外的框架?框架的目标是定义一个过程,使开发人员可以根据个人需求实现某些功能。换句话说,框架定义了框架,开发人员在使用框架时填充了框架。最简单的框架在下面的示例中,前3个类被定义为框架的一部分,第4个类是框架的客户端代码。Main.java是框架的入口点。 这是无法更改的。 //imagine this is the entry point for a...

2020-07-29 13:44:29 245 1

转载 真没想到,Springboot能这样做全局日期格式化,有点香!

转载自:https://www.jianshu.com/p/2592413ece0b说在前边最近部门几位同事受了一些委屈相继离职,共事三年临别之际颇有不舍,待一切手续办妥帖,寒暄过后送他们出公司,几个老哥临别时冲我鬼魅一笑,我顿时心里一紧有种不好的预感,这事绝对没有这么简单。等我接手这几个大佬的项目后,应验了我的预感,此刻我居然有点后悔,为啥送别之时没揍他们一顿!哈哈哈~ 而这种打人的冲动,在我开始优化几位老哥的项目时候,变得越来越强烈。有个坑技术部每个月都会组织一下代码走查及优化,以前是各

2020-07-13 09:56:34 157

原创 spring cloud项目mybatis集成Hbase/MySql多数据源

公司最近的项目需要在spring cloud 上集成Hbase和mysql,连接Hbase使用Phoenix来连接先来看看项目结构:核心pom依赖如下,其中 phoenix-4.7.0.2.5.3.0-37-client.jar使用的是本地的jar包其他spring sloud所需依赖自行添加即可 <dependency> &...

2019-10-16 17:07:46 1546 1

原创 Spring Cloud Feign的两种使用姿势

概述最近结合一些别人的开源项目来学习Spring Cloud,其中关于服务消费这方面的一个很便利的工具 Feign让我记忆颇深。虽然网上的Demo和例子不胜枚举,但大多比较分散,本文就来集中记录一下声明式客户端 Feign的一些使用姿势。创建基于 Eureka的服务注册中心三个步骤即可搞定:建工程创建一个名为eureka_server的 SpringBoot工程,并...

2019-09-26 14:26:13 202

转载 RabbitMQ面试题

1.什么是rabbitmq采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦2.为什么要使用rabbitmq1.在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2.拥有持久化的机制,进程消息,队列中的信息也可以保存下来。3.实现消费者和生产者之间的解耦。4.对于高并发场景下,利用消息队列可以使得同步访问变为串行访...

2019-08-29 20:23:27 271

转载 Java的三种代理模式

1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明...

2018-11-26 10:12:39 121

转载 史上最全最强SpringMVC详细示例实战教程

SpringMVC学习笔记----一、SpringMVC基础入门,创建一个HelloWorld程序1.首先,导入SpringMVC需要的jar包。2.添加Web.xml配置文件中关于SpringMVC的配置 &lt;!--configure the setting of springmvcDispatcherServlet and configure the mapping...

2018-11-21 16:06:01 132

原创 使用maven创建javaWeb项目及运行web项目

网上的版本多而杂,自己实践才是关键!!!1.新建一个Maven Project选择Maven Project选择maven-archetype-webappGroup Id是项目组织唯一的标识符,实际对应 Java 的包的结构,是 main 目录里 java 的目录结构。 Artifact Id就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。新建的...

2018-11-21 11:09:30 1364

转载 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

1、基本概念 1.1、Spring         Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成...

2018-11-16 17:06:22 141 1

转载 Mybatis3+Spring4+SpringMVC4 整合

首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些。然后我们就细细的一步一步来整合。1  创建一个Web项目。2  导入Mybatis3、Spring4、SpringMVC4、连接数据库(我使用的数据库是mysql)的jar包。 我所用的包:   spring-websocket-4.2.0.RELEASE...

2018-11-16 15:11:17 155

转载 MyBatis学习笔记(三) 关联关系

 首先给大家推荐几个网页:http://blog.csdn.net/isea533/article/category/2092001 没事看看 - MyBatis工具:www.mybatis.tkhttp://www.mybatis.org/mybatis-3/zh/getting-started.html 入门http://www.mybatis.tk/http://mbg....

2018-11-15 17:50:33 205

转载 MyBatis学习笔记(二) 关联关系

首先给大家推荐几个网页:http://blog.csdn.net/isea533/article/category/2092001 没事看看 - MyBatis工具:www.mybatis.tkhttp://www.mybatis.org/mybatis-3/zh/getting-started.html 入门http://www.mybatis.tk/http://mbg.cnd...

2018-11-15 16:48:02 179

转载 MyBatis学习笔记(一)入门

首先给大家推荐几个网页:http://www.mybatis.cn/http://blog.csdn.net/isea533/article/category/2092001   http://www.mybatis.org/mybatis-3/zh/index.htmlhttp://www.mybatis.org/spring/zh/index.htmlhttp://www....

2018-11-15 15:12:51 152

转载 Bagging与随机森林算法原理小结

 在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。    随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法,尤其是它可以很方便的并行训练,在如今大数据大样本的的时代很有诱惑力。1....

2018-06-05 21:53:37 3711

转载 随机森林算法学习(RandomForest)

随机森林算法学习最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好。因此想琢磨琢磨这个算法的原理。要学随机森林,首先先简单介绍一下集成学习方法和决策树算法。下文仅对该两种方法做简单介绍(具体学习推荐看统计学习方法的第5章和第8章)。Bagging和Boosting的概念与区别该部分主要学习自:http://www....

2018-06-05 21:52:15 384

转载 决策树-剪枝算法(二)

ID3算法的的原理,它是以信息熵为度量,用于决策树节点的属性选择,每次优选信息量最多的属性,以构造一颗熵值下降最快的决策树,到叶子节点处的熵值为0,此时每个叶子节点对应的实例集中的实例属于同一类。理想的决策树有三种:1.叶子节点数最少2.叶子加点深度最小3.叶子节点数最少且叶子节点深度最小。在实际的操作中还会设计到ID3算法的收敛,过度拟合等问题下面依次进行描述1.ID算法收敛2.过度拟合问题1....

2018-06-05 21:37:44 814

转载 决策树—CART算法及剪枝处理

前言:上篇博文已经介绍了ID3、C4.5生成决策树的算法。由于上文使用的测试数据以及建立的模型都比较简单,所以其泛化能力很好。但是,当训练数据量很大的时候,建立的决策树模型往往非常复杂,树的深度很大。此时虽然对训练数据拟合得很好,但是其泛化能力即预测新数据的能力并不一定很好,也就是出现了过拟合现象。这个时候我们就需要对决策树进行剪枝处理以简化模型。另外,CART算法也可用于建立回归树。本文先承接上...

2018-06-05 21:24:40 558

转载 决策树—从原理到算法实现

前言:决策树(Decision Tree)是一种基本的分类与回归方法,本文主要讨论分类决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。相比朴素贝叶斯分类,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。一、决策树模型 ...

2018-06-03 21:02:00 622

转载 信息熵

信息是我们一直在谈论的东西,但信息这个概念本身依然比较抽象。在百度百科中的定义:信息,泛指人类社会传播的一切内容,指音讯、消息、通信系统传输和处理的对象。但信息可不可以被量化,怎样量化?答案当然是有的,那就是“信息熵”。早在1948年,香农(Shannon)在他著名的《通信的数学原理》论文中指出:“信息是用来消除随机不确定性的东西”,并提出了“信息熵”的概念(借用了热力学中熵的概念),来解决信息的...

2018-06-02 21:11:42 22605 6

转载 机器学习中正则化项L1和L2的直观理解

正则化(Regularization)机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的...

2018-06-02 17:15:34 131

转载 机器学习算法--逻辑回归原理介绍

一、逻辑回归基本概念1. 什么是逻辑回归逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件...

2018-06-01 21:40:20 468

转载 欠拟合、过拟合及其解决方法

在我们机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题,但是,一开始我们的模型往往是欠拟合的,也正是因为如此才有了优化的空间,我们需要不断的调整算法来使得模型的表达能拿更强。但是优化到了一定程度就需要解决过拟合的问题了,这个问题也在学术界讨论的比较多。(之前搜了很多有的博客,讲的都不太全,因此我重新整理总结了一遍,同时加入了自己的理解,方便自己和后来人查阅)首先就是我们在进行模...

2018-06-01 21:38:20 335

转载 线性回归详解

说句废话哈,相信大多数人和我一样,最开始学习机器学习遇到的第一个模型便是线性回归,而且是一元线性回归,但就这个模型,其实包含了很多的知识点,矩阵计算,最小二乘、梯度下降等知识点,在这篇文章中,对回归模型在此进行阐述,在学习了之前的分类算法基础上,来看回归模型,也许另有体验。好了不废话了,进入正题。 1 摘要      本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识。前四节主...

2018-06-01 21:20:08 631

转载 梯度下降(Gradient Descent)小结

前言:不得不感谢互联网的蓬勃发展,让知识与思维有充分的交流,让我有幸看到一些卓越的人他们的见解与思维总结,此文是学习BP神经网络(面向数学建模,比较浅显)中遇到梯度下降法,ML小白,因此查到此文,现在才感叹当初大一线代高数并没有深入研究,只是面向应试而学习,因此此文许多地方一知半解,但此文强大的逻辑与清晰的调理性让人敬佩,存下来如果以后真的如愿研究ML,再来研究每一个细节!转自:点击打开链接 在求...

2018-06-01 21:17:59 437

原创 最小二乘法 来龙去脉

最小二乘是每个上过大学的同学都接触过的概念与知识点(当然可能纯文科的同学没接触过,但是一般纯文科的同学也不会看这篇文章好像)。最小二乘理论其实很简单,用途也很广泛。但是每次说到最小二乘,总感觉差了点什么似的,好像对于最小二乘的前世今生没有一个特别详细与系统的了解。so,本博主趁着周末的时间,赶紧给详细整理整理,力争把最小二乘是个什么鬼做一个特别详细的说明,争取让学英语学中文学历史学画画唱歌的同学都...

2018-06-01 21:16:34 214

转载 Spark troubleshooting

1.yarn-client模式引起网卡流量激增问题?   一个Driver和Executor中的task频繁进行通信,通信消息特别多,通信的频率特别高,运行完一个stage,接着运行下一个stage,又是频繁的通信。    解决:yarn-cluster     yarn-client模式,通常咱们就只会使用在测试环境中,你写好了某个spark作业,打了一个jar包,在某台测试机器上,用yarn-...

2018-03-26 20:36:24 137

原创 sparkstreaming性能调优

数据接收并行度调优(一)通过网络接收数据时(比如Kafka、Flume),会将数据反序列化,并存储在Spark的内存中。如果数据接收称为系统的瓶颈,那么可以考虑并行化数据接收。每一个输入DStream都会在某个Worker的Executor上启动一个Receiver,该Receiver接收一个数据流。因此可以通过创建多个输入DStream,并且配置它们接收数据源不同的分区数据,达到接收多个数据流的...

2018-03-26 20:28:21 467

原创 Spark笔记之Scala语法基础

1.Scala与Java的关系:因为Scala是基于Java虚拟机,也就是JVM的一门编程语言。所有Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行。所以Scala和Java是可以无缝互操作的。Scala可以任意调用Java的代码。所以Scala与Java的关系是非常非常紧密的。2.函数:如果函数体中有多行代码,则可以使用代码块的方式包裹多行代码,代码块中最后一行的返回值就是...

2018-03-26 20:15:50 211

原创 大数据工程师面试题

1. 选择题1.1. 下面哪个程序负责 HDFS 数据存储。a)NameNode  b)Jobtracker  c)Datanode d)secondaryNameNode e)tasktracker答案 C datanode1.2. HDfS 中的 block 默认保存几份?a)3 份 b)2 份 c)1 份 d)不确定答案 A 默认 3 份1.3. 下列哪个程序通常与NameNode在一个节点...

2018-03-22 21:22:16 7891 2

原创 storm架构原理

课程介绍课程名称:Storm是什么课程目标: 通过该课程的学习能够了解离线计算与流式计算的区别、掌握Storm框架的基础知识、了解流式计算的一般架构图。课程大纲:1、 离线计算是什么?2、 流式计算是什么?3、 流式计算与离线计算的区别?4、 Storm是什么? 5、 Storm与Hadoop的区别?6、 Storm的应用场景及行业案例7、 Storm的核心组件(重点掌握)8、 Storm的编程模...

2018-03-20 21:39:17 2894

转载 Oozie工作流程定义详解

Oozie工作流程定义是一个DAG(Directed Acyclical Graphs)图,它由控制流节点(Control Flow Nodes)或动作节点(Action Nodes)组成,各个节点又是通过表征转移的箭线(transitionsarrows)互相连通。对于工作流一般对应存在流程定义语言,例如jBPM是jPDL,大多数都是基于XML定义的,Oozie流程定义语言也是基于XML定义的,...

2018-03-20 20:01:21 240

转载 Zookeeper工作原理(详细)

1、Zookeeper的角色  » 领导者(leader),负责进行投票的发起和决议,更新系统状态  » 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票  » Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,o...

2018-03-20 19:55:47 564

转载 kafka原理

一、基本概念介绍Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢?首先让我们看几个基本的消息系统术语:Kafka将消息以topic为单位进行归纳。将向Kafka topic发布消息的程序成为producers.将预订topics并消费消息的程序成为consumer.Kafka以集群的方式运行,可以由一个或多个服务组成...

2018-03-20 19:53:52 146

spark 113-190课件

中华石衫 spark 113-190课件

2017-11-15

spark 191-245课件

中华石衫 spark 191-245课件 中华石衫 spark 191-245课件

2017-11-15

空空如也

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

TA关注的人

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