自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

节至

节而有度,无所不至!

  • 博客(196)
  • 资源 (8)
  • 收藏
  • 关注

原创 排序算法(2)

本文介绍插入排序和希尔排序,插入排序是较为常见的排序算法,希尔排序也是基础的排序算法,废话不多说,具体来看一下两种算法。插入排序插入排序的基本思想是拿到下一个插入元素,在已经有序的待排数组部分找到自己的位置,然后进行数据的移动,完成该元素的排序,依次类推,直到整个待排数组有序,初始状态待排数组的有序部分仅有一个元素。代码如下:public static void sort(int[] num...

2019-10-23 22:26:55 416 1

原创 排序算法(1)

本片文章是算法排序系列的第一章,也是我在平台上的第一篇文章,希望自己能够坚持下去,同时本部分算法学习中一定会给出Java或者scala的实现方式(心情好的话也可能是两种语言都有),好了废话不多说,我们切入正题,冒泡排序和选择排序是排序算法中最为基础的两种算法,个人感觉也是最为形象的算法,属于那种看了名字就基本知道大致思路,下面详细介绍。冒泡排序你真的理解了冒泡排序吗?冒泡排序的基本思想是依次比...

2019-10-23 00:09:17 488

原创 springboot整合mybatis以及mybatisplus

这篇文档介绍整合的过程

2019-09-19 19:51:58 532

原创 mybatis-plus

这篇文档主要介绍mybatis plus

2019-09-19 19:50:33 255

原创 重新审视技术

这篇博客总结对技术的看法

2019-09-18 17:19:28 156

原创 idea常用插件总结

导语 : 对idea IDE自己常用的插件进行一个记录, 同时也给大家分享一下;下面就是正文了, 其实也没有几行csv plugin 方便查看;Power Model II 让你的代码动起来,酷炫;AIXCoder 让机器人帮你写代码;lombok 让你的Java代码短到难以置信;git 比git客户端还好用的git GUI;maven 自动导入, 已经好几年没有见过手动lib目录...

2019-08-22 20:25:00 732 2

原创 史上postgres元数据表最详细信息!

最近在做元数据相关的工作,下面是postgres最全的元数据列表,使用版本9.4+namedescriptionpg_aggregate存储聚合函数的信息pg_am存储访问方法关系信息,当前只有索引有访问方法pg_amop所在operator family的operator和访问方法的关联,备注一下这里的operator类似于search、ordering等...

2019-06-24 16:59:24 6742 8

原创 Crontab使用注意

在linux环境中,经常会使用crontab命令来进行定时操作,在配置crontab时,要注意以下问题:脚本或者文件路径使用全路径配置在执行脚本中引入系统环境变量或用户环境变量查询crontab执行的日志在/var/log/cron中进行查看重启crond服务,service crond restart/start/status...

2019-03-14 14:49:09 244

原创 scala问题记录

问题描述value filter is not a member of *这种问题一般是由于scala和java的相互转换没有成功造成的,可以引入scala的工具类进行隐式转化。解决方案添加代码“import collection.JavaConversions._完成!...

2018-11-23 16:37:12 252 2

原创 scala排序——ordering vs ordered

在最近探索scala的过程中,发现一个比较重要的问题,那就是排序,排序在业务代码中还是很常见的,最常用的排序就是对集合调用sorted[B >: A](implicit ord: Ordering[B])接口,但是用久了很想问为什么,这篇博客目的是解释清楚scala中的排序问题。两大神器scala中提供的排序比较接口,ordering和ordered。话不多说,先贴一点源码看看:tra...

2018-09-26 17:46:45 3486 3

原创 Disruptor以及@Contended注解

Disruptor感想很早之前阅读过Disruptor的使用,这里有篇美团团队的文章很详细的介绍了这种队列的相关原理以及为什么这么设计和这么设计为什么处理速度很快,https://tech.meituan.com/disruptor.html,不想再“拿来主义”,本篇文章只最为记录,同时针对文章中说的相关测试,这里我会将数据插入比较大的测试贴出来;其中对这篇文章中提到但是限于篇幅没有说明的jav...

2018-09-21 16:25:15 4464 2

原创 scala中的测试组件——scalatest之FlatSpec

org.scalatestFlatSpecclassFlatSpec extends FlatSpecLikeFacilitates a “behavior-driven” style of development (BDD), in which tests are combined with text that specifies the behavior the tests...

2018-09-14 18:59:27 2582

原创 spark中的聚合函数总结

PairRDDFunctions中的函数:def aggregateByKey[U](zeroValue: U)(seqOp: (U, V) ⇒ U, combOp: (U, U) ⇒ U)(implicit arg0: ClassTag[U]): RDD[(K, U)]Aggregate the values of each key, using given combine func...

2018-09-13 19:40:25 2604 1

原创 eclipse、idea重定义目录结构

在两种idea进行写程序的时候,经常会遇到这种问题,就是新建的工程目录不能满足项目需求或者是不能更好的满足习惯,举一个简单的例子,在eclipse中新建一个普通的java工程,那么会遇到一个问题就是源码路径默认是在src下面的,而我们想要一个包含测试、外部文件resource的目录结构,类似于maven,那我们应该怎么办呢?本文章介绍在eclipse和idea中操作目录结构的方式。1、idea...

2018-09-12 14:02:59 986

原创 jvm(四)——JVM自带内存分析工具详解

在进行java程序问题定位时,内存问题定位是很关键的一招。jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,工具的使用会有所限制。所有的工具几乎都是依赖于jdk的接口和底层的这些命令,研究和掌握这些命令的使用也让我们更...

2018-09-09 18:10:30 43881 5

原创 jvm(三)——jvm垃圾回收算法以及实现

一、概述java中,垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是都是线程私有的,随线程而生随线程而灭,栈帧(栈中的对象)随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区...

2018-09-04 20:33:15 15855 8

原创 scala中的sealed

sealed关键字在scala的集合和模式匹配上面应用较多,本篇文章说明sealed的使用场景以及为什么使用sealed。A sealed class cannot have any new subclasses added except the ones in the same file.这是sealed关键字比较官方的解释,意思是只在同一个文件中的添加其子类,除此以外不能有任何的子类(区别...

2018-09-03 15:07:43 2714

原创 jvm(二)——类的加载过程

本文对类的整体加载步骤进行说明,包含了什么是类的加载,类加载的步骤,类的生命周期, 类加载实现,双亲委派模式以及自定义类加载器,通过本篇文章可以较为细致的了解类加载的全过程,以及这样加载的原因。1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构...

2018-08-31 19:49:21 2894 3

原创 jvm(一)——内存区域划分

前言:jvm内存划分为多个区域,每个不同的区域分别有着不同的功能和不同的用途,本篇博客旨在说清楚区域的划分、名称、属性以及作用,本篇博客是参考了多篇博客的结果,参考博客会在文章结尾进行说明。上图中说明了堆中对象的分配来源,对象实例化在堆中,但是其引用可能在方法区(常量实例),或者虚拟机的栈帧中(java方法中的实例化)和本地方法栈中(本地方法对象的实例化),在下面有详细说明。一.程...

2018-08-31 19:29:16 1772 2

原创 scala实现球面插值(Slerp)

一、球面插值球面插值的原理大概就如下图所示,大致理解就是计算球面角度的占比,计算公式不是太复杂,如下所示: 当角度无限接近于0的时候,这个时候球面插值就演变为线性插值 下面用scala对球面插值进行一个简单的实现:class Slerp4scala[T <: Double](start: Vector[T], end: Vector[T], t: Double, om...

2018-08-30 19:09:25 1875

原创 spark中返回结果的误用——Array,Set,HashSet

今天在写spark代码时,遇到一个问题,在进行数据过滤时,总是特别的慢,后来分析了一下代码。 主业务逻辑就是用一个较小的文本数据过滤“大数据”,然后我用spark textFile进行加载然后collect形成一个集合,可能是java写多了,看到这个集合有contains方法,就使用了没有多想,然后就特别慢,排查代码发现,collect返回的是Array(scala中Array也有contain...

2018-08-27 13:02:36 1595

原创 HDFS回顾(一)——概念以及执行流程

最近在对大数据以往的学习过的东西进行整理,本篇博客总结一下hdfs的相关概念以及其执行流程一 HDFS概念HDFS是一个文件系统,用于存储和管理文件,通过统一的命名空间(类似于本地文件系统的目录树)。是分布式的,服务器集群中各个节点都有自己的角色和职责。 1. HDFS集群分为两大角色:NameNode、DataNode 2. NameNode负责管理整个文件系统的元数据(元数据就...

2018-08-20 22:58:43 919 1

原创 CentOS6.8下配置MySQL8.0.12的主从同步详解

最近由于公司需要,自己在本地尝试了一下MySQL最新社区版本的主从同步的搭建配置过程,在搭建的过程中还是遇到了很多的问题,现在记录如下:一、MYSQL主从配置1.1 部署环境 主(master): 192.168.11.179 OS:CentOS 6.8 从(slave2): 192.168.11.177 OS:CentOS 6.8 ...

2018-08-20 14:13:56 5400 3

原创 HDFS回顾(二)——命令详解

对hdfs中的操作命令进行详细描述

2018-08-19 10:31:02 180

原创 CentOS6安装MySQL8.0.12

最近搭建了一个mysql的服务器,采用最新的mysql版本,安装过程中还是遇到了问题,现对其搭建过程进行记录。一.环境  CentOS6.8 64位 MySQL8.0.11 最小化安装二.准备工作1、源码安装过程1.安装依赖 yum -y install wget cmake gcc gcc-c++ ncurses ncurses-dev...

2018-08-16 13:53:44 3204

原创 YARN回顾(七)——Spark在YARN上的运行模式

Spark On Yarn在YARN上启动Spark应用有两种模式。在cluster模式下,Spark驱动器(driver)在YARN Application Master中运行(运行于集群中),因此客户端可以在Spark应用启动之后关闭退出。而client模式下,Spark驱动器在客户端进程中,这时的YARN Application Master只用于向YARN申请资源。1 clus...

2018-08-14 18:41:24 437

原创 YARN回顾(六)——调度器

在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler。FIFO SchedulerFIFO Scheduler把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。Capacity Scheduler...

2018-08-14 18:24:11 219

原创 YARN回顾(五)——通信协议

一、YARN通信协议YARN通信协议,RPC协议是连接各个组件的“大动脉”,了解不同组件之间的RPC协议有助于我们更深入地学习YARN框架。在YARN中,任何两个需相互通信的组件之间仅有一个RPC协议,而对于任何一个RPC协议,通信双方有一端是Client,另一端为Server,且Client总是主动连接Server的,因此,YARN实际上采用的是拉式(pull-based)通信模型。如图,箭...

2018-08-14 17:04:16 1167

转载 YARN回顾(四)——CPU资源隔离

yarn默认只管理内存资源,虽然也可以申请cpu资源,但是在没有cpu资源隔离的情况下效果并不是太好.在集群规模大,任务多时资源竞争的问题尤为严重,还好yarn提供的LinuxContainerExecutor可以通过cgroup来隔离cpu资源。一、cgroupcgroup是系统提供的资源隔离功能,可以隔离系统的多种类型的资源,yarn只用来隔离cpu资源1.1 安装cgro...

2018-08-14 16:24:25 1897

原创 YARN回顾(三)——资源管理、配置

一、YARN的资源管理1、资源调度和隔离是yarn作为一个资源管理系统,最重要且最基础的两个功能。资源调度由resourcemanager完成,而资源隔离由各个nodemanager实现。2、Resourcemanager将某个nodemanager上资源分配给任务(这就是所谓的“资源调度”)后,nodemanager需按照要求为任务提供相应的资源,甚至保证这些资源应具有独占性,为任务运行...

2018-08-14 15:44:51 479

原创 YARN回顾(二)——作业执行流程

一、YARN的执行流程YARN最为主流的集群管理平台,现已成为大数据处理的平台的主流管理框架,包括storm、Hadoop、spark等都支持,而运行在YARN上的应用程序主要分为两类:短应用程序和长应用程序,其中,短应用程序是指一定时间内(可能是秒级、分钟级或小时级,尽管天级别或者更长时间的也存在,但非常少)可运行完成并正常退出的应用程序,比如MapReduce作业、Spark作业(非str...

2018-08-14 15:23:08 953

原创 YARN回顾(一)——相关概念

一、YARN基本服务组件​ YARN全称yet another resources negotiator,是Hadoop 2.0中的资源管理系统,它的基本设计思想是由于MapReduce v1中的JobTracker管理的事情太多,负载太重,所以将其拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster...

2018-08-14 14:52:48 490

原创 mongodb错误记录

1.问题描述今天在使用MongoDB进行数据插入的时候,出现插入不成功的情况,显示出的异常如下所示:Interrupted acquiring a permit to retrieve an item from the pool in MongDBcom.mongodb.MongoInterruptedException: Interrupted acquiring a permi...

2018-08-10 11:30:52 9472

原创 postgres的时间转换

天下苦postgres时间转换久已!最近在操作数据库时,遇到频繁的时间操作,每次弄完了就忘了,今天痛定思痛,下定决心(终于自己也受不了自己的lazy了)对postgres的时间操作进行一下总结。本文竟可能详尽的记录postgres中涉及到date、timestamp以及和字符串之间的转换进行说明。1.utc对timestamp的转换在postgres中没有utc这个概念,为什么?这...

2018-08-09 18:23:51 17367

原创 AutoValue使用那点事

AutoValue是Google几个工程师写的一个小的java实体类生成工具,可以让你拜托繁琐而且容易出错的字段判断,下面对这个工具进行如下说明,maven的配置信息,依赖包导入: <dependency> <groupId>com.google.auto.value</groupId> &l...

2018-08-07 19:23:15 7311

原创 设计模式(1)——概述

本系列将对23中设计模式进行详细说明,本片博客为绪论,旨在说明是什么和有什么两个问题。1、概念引用《设计模式-可复用的面相对像设计》对设计模式的定义如下: Christopher Alexander 说过: “每一个设计模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”, 尽管Alexander所指的...

2018-08-03 17:36:37 236

原创 linux下包管理工具

包管理介绍大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。包管理系统除了安装软件外,它还提供了工具来更新已经安装的包。包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的...

2018-07-26 21:46:21 2172

原创 linux修改时间、时区

前段时间公司安装集群,遇见了统一时间的问题,特此记录一下1、date查看系统时间 date设置系统时间 date --set “07/07/06 10:19" (月/日/年 时:分:秒)将当前时间和日期写入BIOS,避免重启后失效命令 : "hwclock -w"2、hwclock/clock查看硬件时间 hwclock --show...

2018-07-24 10:55:17 567

原创 hadoop日常问题记录(1)

今天在操作HDFS的时候,碰到如下问题:HDFS采用的异构的方式,新增服务器的磁盘数量和大小与原集群中的磁盘数量和大小是不一样的,一般在集群扩展的过程中都会出现这个问题,不过Hadoop支持这种异构的方式,回去查看问题原因的时候,发现是在配置文件中挂载磁盘的目录最后一个没有分清楚, and .的区别,直接启动导致的HDFS中的VERSION文件中的datanodeUuid不一致造成的,然后...

2018-07-23 20:27:07 260

原创 postgres存储过程实践

postgres存储过程根据项目需要,用SQL写了一个postgres的存储过程,记录如下。CREATE OR REPLACE FUNCTION GoodsInquiryCondition ( sCountry VARCHAR, sPort VARCHAR, cClass CHAR, cStatus CHAR, iStartTime INT4, iEndTime INT4 )RETU...

2018-07-12 11:04:09 1693

linux shell中文第二版

上传一本人人都能看的起的linux shell学习书籍,希望对大家能够有帮助

2018-08-08

robot mongo操作手册

MongoDB 教程 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

2018-03-16

scala实战高清讲解

scala编程进阶过程中不可或缺的书籍之一,详细介绍了scala语言的各种中高级语法,对于初学和高级开发人员有很大帮助

2018-03-16

weka算法库以及操作的详细说明

weka算法以及预处理的详细说明文档,方便查阅,版本为3.9.0,最新版

2017-11-21

Python网络数据收集

2017-01-12

Architectural Styles and the Design of Network-based Software Architectures

rest架构就源于此,值得研究

2016-06-14

电影推荐训练集

这是一个还不小的数据集,总共有四个资源文件,数据总共有100w

2016-05-20

推荐系统实践

介绍了推荐系统的常用算法,还有部分关键代码的实现,仔细研究会有很不一样的收获

2015-11-26

空空如也

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

TA关注的人

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