自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go学习 | Go单元测试和基准测试(性能压力测试)

Go单元测试和基准测试 Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试 文章目录编写单元测试`division.go`: 编写需要被测试方法`division_test.go`编写单元测试文件执行单元测试编写基准测试基准测试原则执行基准测试 编写单元测试 go test 命令,会自动读取源码目录下面名为*_test.go 的文件,生成并运行测试...

2020-03-01 01:26:56 311

原创 Go学习 | Go依赖管理的发展以及Go MODULE的介绍

文章目录Go依赖管理的发展为什么要有依赖管理Go依赖管理的三个阶段GOPATHVendorGO MODULEGo Module基本介绍关键文件 —— go.mod环境变量 —— GO111MODULE修改 GO111MODULE三种模式的区别不同模式下的 go get 命令的区别Go Module模式导入依赖的示例Go mod 其他命令 Go依赖管理的发展 为什么要有依赖管理 我们经常需要接触依赖...

2020-02-25 21:07:31 389

原创 数据库学习 | 《高性能MySQL》(MySQL架构)学习笔记(一)

《高性能MySQL》读书笔记(第一章) 文章目录1. MySQL逻辑架构1.1 连接管理与安全性1.2 优化与执行2. 并发控制读写锁锁粒度3. 事务ACID隔离级别死锁事务日志4. 多版本并发控制5. MySQL的存储引擎InnoDB存储引擎MyISAM存储引擎 最近开始复习一下数据库的内容,同时加深一下今年春招匆匆忙忙看的数据库调优方面的内容。作为《高性能MySQL》的第一章,主要是简要的介绍...

2019-12-18 15:08:23 214

原创 数据库学习 | 增删查改基本操作及存储过程/触发器的使用

文章目录1.增删查改操作关键字顺序查找数据插入数据更新数据删除数据2.存储过程存储过程是什么?为什么要使用它?创建存储过程使用存储过程删除存储过程存储过程中的参数/变量3.触发器触发器是什么?为什么要用触发器?创建触发器删除触发器使用触发器insert触发器delete触发器update触发器 1.增删查改操作 关键字顺序 select from where group by having or...

2019-12-18 15:02:21 396

原创 Spark学习笔记(四)| Spark内存管理

文章目录1.堆内和堆外内存规划1.1 堆内内存1.1.1 内存申请与释放1.2 堆外内存2.内存空间分配2.1 静态内存管理(Spark1.6版本以前)2.2 统一内存管理(Spark1.6以后)3.存储内存(Storage)管理3.1 RDD的持久化机制3.2 RDD的缓存过程3.3 淘汰与落盘 主要需要学习的Executor上面的内存管理 1.堆内和堆外内存规划 作为一个JVM进程,Exec...

2019-07-08 00:24:31 286

原创 Spark学习笔记(三)| Shuffle解析

文章目录1.Shuffle 核心要点1.1 ShuffleMapStage 与 FinalStage1.2 Shuffle中的任务个数1.3 reduce端数据读取2.HashShuffle解析2.1 未经优化的HashShuffleManager2.2 经过优化的HashShuffleManager3.SortShuffle解析3.1 普通运行机制3.2 bypass运行机制 1.Shuffle...

2019-07-08 00:18:11 194

原创 Spark学习笔记(一)| 任务运行及部署模式

文章目录1.Spark内核概念1.1 Spark运行流程简介1.2 基础概念DriverExecutor2.四种部署模式运行机制2.1 Standalone模式运行机制2.1.1 Standalone-Client模式2.1.2 Standalone-Cluster模式2.2 YARN模式运行机制2.2.1 YARN-Client模式2.2.2 YARN-Cluster模式2.3 Client模式...

2019-06-25 00:30:32 329

原创 Spark学习笔记(二)| Spark任务调度机制

文章目录1. Spark任务调度概述2. Spark通信机制3. 任务调度过程3.1 Spark Stage 级调度3.2 Spark Task 级调度3.2.1 调度策略3.2.2 本地化调度3.2.3 失败重试与黑名单机制 1. Spark任务调度概述 当Driver任务启动之后,Driver则会根据用户程序逻辑准备任务,并根据Executor资源情况逐步分发任务。 一个Spark应用程序包括...

2019-06-25 00:23:18 641

原创 Spark学习|Spark中的四种Join操作

文章目录1.四种Join操作1.1 join1.2 leftOuterJoin1.3 rightOuterJoin1.4 fullOuterJoin2.Option对象为什么要使用Option 1.四种Join操作 Join操作在特征提取的过程是一个经常使用的操作,当从多个数据源提取特征之后,使用Join操作将数据合并成一个完整的特征数据,以供后续的使用。 这里记录Spark中的四种Join操作的...

2019-06-11 09:51:27 3769

原创 Java学习 | hashCode()、equals() 和 == 几个问题解答

文章目录1.equals() 的作用?1.1没有覆盖equals()方法1.2覆盖equals()方法1.3覆盖equals()方法的要求2.equals() 与 == 的区别是什么?3.hashCode() 的作用是什么?使用HashSet为例,说明hashCode()的作用4.hashCode() 与 equals() 之间有什么联系?4.1不会创建“类对应的散列表”4.2会创建“类对应的散列...

2019-01-12 20:05:47 156

原创 Java学习 | 多线程基础

文章目录1.进程、线程简介1.1进程1.2线程1.3线程分类2.创建多线程方法2.1继承的方法2.2实现的方法2.3两种方式比较3.Thread类的常用方法4.线程的调度4.1调度策略4.2调度方法4.3线程的优先级5.线程的生命周期6.线程的同步机制(synchronized)6.1同步代码块6.2同步方法6.3同步方法解决单例模式之懒汉式的线程安全问题7.线程的通信 1.进程、线程简介 1.1...

2019-01-10 20:35:19 155

原创 Java学习 | Java集合的fail-fast机制

文章目录1. fail-fast简介2. fail-fast示例3. fail-fast解决办法4. fail-fast原理4.1 fail-fast的产生步骤5. 解决fail-fast的原理 1. fail-fast简介 fail-fast是Java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就有可能会发生fail-fast事件。 例如:当前有一个线程...

2018-12-27 20:52:11 239

原创 Java基础 | 集合类大概介绍

文章目录1. 集合简介2. Collection接口2.1 List接口(有序、可重复)2.1.1 ArrayList2.1.2 LinkedList常用方法2.1.3 Vector2.2 Set接口(无序、不能重复)2.2.1 EnumSet2.2.2 HashSet2.2.3 TreeSet3. Map接口(键值对、键唯一、值不唯一)3.1 HashMap3.2 Hashtable3.3 Tr...

2018-12-26 19:49:41 206

原创 LeetCode解题笔记 | 5.最长回文子串

文章目录1.题目描述2.解题思路2.1(方法一)动态规划算法的第一步:算法的第二步:Code2.2(方法二)中心扩展算法Code 1.题目描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 2.解题思...

2018-12-03 19:46:53 154

原创 算法学习(四) | 堆排序

文章目录1.介绍2.堆的算法2.1 由下至上的堆有序化(上浮)2.2 由上至下的堆有序化(下沉)2.3 向堆中插入元素2.4 从堆中删除最大元素3.堆排序特性4.堆排序算法分析5.全部代码如下 1.介绍 “堆排序”是一种选择排序,顾名思义,它是一种基于 堆 这一数据结构的一种有效的排序算法。 堆(以“最大堆”为例)中,每个节点的值 大于 其左右孩子节点的值,所以它的根结点是整个堆中最大的节点,如下...

2018-11-30 17:18:21 229

原创 LeetCode解题笔记 | 3.无重复字符的最长子串

题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长...

2018-11-28 16:42:50 195

原创 LeetCode解题笔记 | 2.两数相加

题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -&gt

2018-11-28 16:39:31 155

原创 算法学习(三) | 选择排序

介绍 选择排序的基本思想就是,在未排序的数组中,选择最小的元素和最左的元素交换,之后在剩下的元素中选择最小的元素,与从左往右的第二个元素进行交换,以此类推,直至元素最后一个元素 选择排序的运行时间与输入无关,无论输入如何,都需要经过O(n2)O(n^2)O(n2)的时间复杂度 特性 稳定性 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 备注 不稳定 O(n2)O(n^...

2018-11-27 00:49:23 112

原创 算法学习(二) | 直接插入排序

介绍 插入排序是基于比较的排序,所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元素的位置。因此,对于这类排序,就有两种基本的操作: 比较操作 交换操作 其中,对于交换操作,可以优化成移动操作,即不直接进行两个元素的交换,而是用一个元素(tmp)将当前元素先保存起来,然后执行移动操作,待确定了最终位置后,再将当前元素放入合适的位置。(下面的插入排序就用到了这个技巧)–因为,...

2018-11-27 00:48:34 167

原创 算法学习(一)| 冒泡排序

介绍 冒泡排序的思想就是:循环遍历数组,两两比较元素的大小,当发现它们的排序与排序要求相反时,则将他们互换;每一次遍历,都有一个最大的数排在未排序的数的最右端,就像气泡,从最左边一次次比较到达最右边冒出来,故称为“冒泡排序”。 特性 稳定性 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 备注 稳定 O(n2)O(n^2)O(n2) O(n2)O(n^2)O(n2) O...

2018-11-25 00:33:08 167

原创 Linux学习 | 账号管理

文章目录1.Linux的账号和用户组1.1 用户标识符:UID与GID1.2 用户账号1.2.1 登录系统流程1.2.2 /etc/passwd文件结构1.3 初始与有效用户组1.3.1 /etc/group文件结构1.3.2 初始与有效用户组2.账号管理2.1 用户增加、删除、修改2.1.1 useradd2.1.2 passwd2.1.3 usermod2.1.4 userdel2.2 用户功...

2018-11-17 15:40:54 125

原创 Linux学习 | 文件权限

文章目录1.文件所有者、用户组和其他人概念1.1 文件所有者1.2 用户组1.3 其他人1.4 三种身份的理解Linux用户身份与用户组记录的文件2.Linux文件权限的概念2.1 Linux文件属性Linux文件权限的重要性2.2 修改Linux文件的权限2.2.1 chown2.2.2 chgrp为什么需要修改文件所有者和文件用户组?2.2.3 chmod2.2.3.1 数字类型改变文件权限2...

2018-11-16 00:20:14 199

原创 Linux学习 | bash的环境配置文件

当我们通过bash进入Linux系统中的时候,我们还没有进行任何的操作,其实此时有许多的命令已经加载好了,这是什么原因呢? 其实是因为系统中有一些配置文件的存在,在bash启动的时候,会自动读取这些配置文件,而这些配置文件又分为系统配置文件和用户个人配置文件 1.两种不同的shell 在说明配置文件之前,需要先说清楚login shell和non-login shell,因为在这两个不同的状态...

2018-11-14 10:29:07 326

原创 Spring学习(三)| Spring AOP

文章目录1. 什么是 AOP ?2. 为什么需要使用 AOP ?3. AOP 术语4. 在 Spring 中使用 Aspect 注解方式进行切面编程4.1 在 Spring 中启用 AspectJ 注解支持4.2 用 AspectJ 注解声明切面4.3 通知详解5. 指定切面的优先级6. 重用切入点表达式7. 基于 XML 配置文件的方式来配置 AOP 1. 什么是 AOP ? AOP:面向切面...

2018-11-01 09:30:03 126

转载 平常使用的JDK和Open JDK有什么区别?

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 文章目录0.简洁版回答1.历史上的原因2.关于JDK和OpenJDK的区别,可以归纳为以下几点:2.1 授权协议的不同2.2 OpenJDK不包含Deployment(部署)功能:2.3 OpenJDK源代码...

2018-10-28 13:26:48 1684

原创 Java基础 | 反射(学习笔记)

文章目录1. 概述为什么要使用反射?2. 理解Class类并实例化Class类对象2.1 理解Class类类的加载过程2.2 获取Class对象方法(4种)3. 运行时创建类对象并获取类的完整结构3.1 创建运行时类的对象4. 通过反射调用类的指定方法、指定属性5. 动态代理 1. 概述 Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection...

2018-10-28 13:08:53 258

原创 Spring学习(二)| Bean配置

文章目录1. 什么是IoC2. 配置Bean2.1 配置形式2.1.1 基于XML文件的形式2.1.2 基于注解的方式2.1.2.1 组件扫描2.1.2.2 组件装配2.2 Bean的配置方式2.2.1 通过全类名(反射)2.2.2 静态工厂方法2.2.3 实例工厂方法2.2.4 通过 FactoryBean 配置2.3 IOC 容器 BeanFactory & ApplicationCo...

2018-10-26 21:24:18 232

原创 Spring学习(一)| HelloWorld

1. 新建项目 新建一个java project 新建一个lib文件夹,导入以下五个包,并且build path commons-logging-1.2.jar spring-beans-4.3.9.RELEASE.jar spring-context-4.3.9.RELEASE.jar spring-core-4.3.9.RELEASE.jar spring-expression-4.3.9...

2018-10-24 23:51:03 107

原创 设计模式学习(一)策略模式

策略模式 1. 策略模式的基本内容 定义:(Strategy Pattern)定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户 遇到什么问题时想要使用策略模式:有多个不同的类,它们不同的地方仅是它们的行为方法,或者是某些类中,它们的某些行为方法需要经常的改变,当面向实现编程时,我们的代码被实现绑死,所以当改变来临时(比如你的老板让你修改需求时),我们的工...

2018-09-30 23:33:19 142

原创 Ubuntu 环境安装 ftp 服务

1.安装 ftp 服务 vsftpd -version #查看是否已经安装了 ftp 服务(若没有安装则继续进行下面的操作) sudo apt update sudo apt install vsftpd #安装 ftp 服务 2.ftp 服务启动 service vsftpd start #启动 service vsftpd stop #停止 servic...

2018-09-11 21:56:24 168

原创 Ubuntu 和 Windows 环境下安装 MySQL 服务

Ubuntu 和 Windows 环境下安装 MySQL 服务 1 Windows安装MySQL 下载解压包,解压到指定目录 新版本 旧版本 MySQL驱动下载 环境变量 MYSQL_HOME:安装目录 Path:bin目录 配置 bin目录下创建”my.ini”文件,进行配置 [mysql] # 设置mysql客户端默认字符集 default-character-s...

2018-09-09 16:41:25 217

空空如也

空空如也

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

TA关注的人

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