自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

转载 java中的BIO、NIO、AIO总结

最近在复习java的基础知识,在复习IO流的时候,无意间看到一篇写的不错的文章,所以转载记录一下。

2019-10-29 14:32:59 213

转载 Java中的IO流总结

2019-10-29 13:35:05 262

原创 如何使用IO流对java对象进行序列化

  很多时候我们需要对java对象进行序列化操作,例如在使用redis的时候,由于redis的键值对只能保存字符或者字节数据,想要在redis中保存java对象,就必须对java对象进行序列化以及反序列化。  首先一个java对象要进行序列化操作必须实现Serializable接口。实现序列化可以有多种方式,包括许多第三方工具,在这里我们先介绍使用java Io流的方式实现序列化,代码如下:p...

2019-10-29 13:24:11 241

原创 pip install使用豆瓣源进行安装

注意以下命令需要退出python命令行执行pip install numpy -i https://pypi.douan.com/simple

2019-10-16 23:01:10 1554 1

原创 Spark:spark在集群中的运行机制

1.Spark运行时架构  Spark可以在各种各样的集群管理器(Hadoop Yarn、Apache Mesos,还有spark自带的独立集群管理器)上运行。Spark集群采用的是主从结构,在一个spark集群中,有一个节点负责中央协调,调度各个分布式工作节点。这个中央协调节点被称为驱动器节点(driver),与之对应的工作节点被称为执行器节点(executor)。驱动器节点可以和大量的执行器...

2019-10-08 20:25:00 506

原创 Spark:第一个Spark程序(单词统计)

概述 对于任何一个大数据处理程序,感觉没有一个单词计数的demo总感觉过意不去。 spark作为一个分布式的集群计算框架,其核心为RDD(resilient distribution dataset),即弹性分布式数据集。 整个spark的编程也都是围绕着RDD进行的,大部分情况下的步骤都是:创建RDD -->转换RDD–>操作RDD(action),下面这个单词计数的demo也是...

2019-10-06 16:42:32 734

原创 Hive:带你理解over()子句及案例应用

目录1.什么是over()子句?2.over()子句的开窗范围2.1 window clause2.2 默认2.3 order by2.4 partition by2.5 partition by + order by3.案例3.1 数据准备3.2 默认情况:over()3.3 partition by3.4 order by3.5 partit...

2019-09-30 12:57:29 1738

原创 Hive--配置事务(行级更新)及遇到的问题解决

Hive从0.14版本以后开始支持行级更新,本博客使用的Hive版本为2.3.3。我的Hive配置的metastore在远程(我的windows本机)的mysql数据库上,如果配置行级更新,需要在hive的配置文件中配置几个属性:vi apache-hive-2.3.3-bin/conf/hive-site.xml加入如下5个属性:<property> ...

2019-09-25 13:18:49 1757

原创 Hadoop学习--搭建hadoop集群

目录1.安装环境2.安装前准备3.安装配置Hadoop4.初始化及运行1.安装环境本博客所安装的hadoop只有HDFS、YARN以及MapReduce组件,不包含Hadoop其他组件的安装。1)准备4台虚拟机(CentOS 7),ip与主机名如下:192.168.134.128 master 192.168.134.129slave1 192.168.1...

2019-09-22 17:22:12 1478

原创 Hive常用的CLI命令总结

清屏:Ctrl + L或者 !clear查看数据仓库中内置的函数:show functions;查看表结构:desc 表名查看HDFS上的文件dfs -ls 目录dfs -lsr 目录 :递归的查询该目录下的所有文件执行操作系统的命令:!命令 例如:!pwd !ls执行SQL的脚本source SQL文件Hive的设置为一个会话设置属...

2019-09-21 11:45:22 288

原创 Hadoop学习--深入理解HDFS

1.概述HDFS(Hadoop Distributed FileSystem)为Hadoop自带的一个分布式文件系统,其实它和许多其他的本地文件系统很相似,文件都是通过分级目录来进行管理,只不过HDFS中的文件是分布式存储的。特别是对于用户的使用来说,并没有太多差别,HDFS也是通过路径去获取系统中的文件,它的前缀为:hdfs://2.HDFS中的文件存储对于一个文件系统,我们首先需要...

2019-09-05 15:26:16 185

原创 Hadoop学习--深入理解MapReduce

目录1.概述2.Map2.1 工作原理2.2 如何进行分布式处理3.Reduce3.1 一个Reduce的情况3.2 多个Reduce4.Combiner函数4.1 combiner函数的原理4.2 combiner函数的限制1.概述MapReduce是一个用java编写的分布式的计算编程框架,其主要由三个组件构成,分别为Map、Reduce和负责调...

2019-09-04 22:41:25 473

原创 Hadoop学习--本地(windows)运行第一个MapReduce程序

目录1.写在前面2.搭建环境3.编写MapReduce程序3.1 引入相关依赖3.2编写Map程序3.3 编写Reduce程序3.4 编写调度程序(主函数)3.5 测试1.写在前面在阅读本博客之前,建议先看看博主的另一篇文章:《Hadoop学习(二)--MapReduce入门》为什么本地?如果不在本地运行,你就必须将MapReduce程序打成jar...

2019-08-29 15:33:49 2414

原创 Hadoop学习--MapReduce入门

目录1.MapReduce基本概念2.MapReduce的工作原理2.1 基本描述2.2 案例3.本地运行第一个MapReduce程序1.MapReduce基本概念MapReduce是hadoop的三大核心组件(HDFS、Yarn、MapReduce)之一,MapReduce是一种分布式的运算编程框架,用java语言编写。MapReduce的核心功能就是将用户自己编...

2019-08-29 14:55:47 504

原创 Hadoop学习--HDFS入门

目录1.HDFS基本概念1.1 HDFS介绍1.2 HDFS设计目标2.HDFS重要特性2.1 master/slave架构2.2 分块存储2.3 NameSpace(命名空间)2.4 namenode元数据管理2.5 Datanode数据存储2.6 副本机制2.7 一次写入,多次读取1.HDFS基本概念1.1 HDFS介绍HDFS是Had...

2019-08-26 17:22:46 150

原创 linux中vim模式下常用编辑指令

光标操作:G:光标跳到最后一行的行首$:光标跳到当前行的行末^:光标跳到当前行的行首A:光标跳到当前行的行末并进入insert模式I:光标跳到当前行的行首并进入insert模式删除:dd:删除游标所在的一整行(常用)ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行d1G:删除光标所在到第一行的所有数据dG:删除光标所在到最后...

2019-08-24 11:00:08 135

原创 linux(CentOS7)制作本地yum源

什么是yum?(百度百科)Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum源yum机制的强大之处在于yum源,yum源相当于是一个...

2019-08-21 15:07:28 1558

原创 linux挂载(mount)

在linux操作系统中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。要访问存储设备中的文件,通过访问这个挂载目录来访问。命令格式:mount [-t vfstype] [-o options] device(设备)dir(挂载目录)-t vfstype 指定文件系统的类型,mount会自动选择正确的类型。 常用类型有:光盘镜像iso、linux文件网...

2019-08-21 13:13:43 1004

原创 linux如何配置普通用户(非root用户)的sudo权限

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利,只需要普通用户输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中具有配置项,才具有使用sudo的权利。没有配置权限之前,普通用户是无法进行root权限操作的,例如普通用户查看/root目录下的文件:使用root用户编辑/etc/sudoers文件,给普通用户授权...

2019-08-19 22:44:22 34447 2

原创 linux如何设置ssh的免密登录(基于密钥验证)

假设有两台主机,通常我们使用ssh协议在主机1上登录主机2时,需要输入主机2的登录用户的密码,当需要频繁的进行登录操作时每次都需要输入密码会很繁琐,我们可以设置ssh的免密登录。1.首先在主机1上输入以下命令,并按四次回车键,会在主机1的/root/.ssh/目录下生成一个公钥文件和私钥文件ssh-keygen -t rsa2.将主机1上的公钥拷贝给主机2:执行以下命令,首次链接需...

2019-08-19 21:39:25 491

转载 linux常用命令大全

系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpui...

2019-08-18 20:24:19 122

转载 如何使用dockerfile创建镜像

Dockerfile:Dockerfile由一行行命令语句组成,并且支持用“#”开头作为注释,一般的,Dockerfile分为四部分:基础镜像信息,维护者信息,镜像操作指令和容器启动时执行的指令。Dockerfile指令:1、FROM格式:FROM <image>或 FROM <image>:<tag>第一条指令必须为FROM指令,并且,如果...

2019-05-07 17:14:19 1213

原创 Docker常用命令

一、docker基础命令启动docker服务systemctl start docker停止docker服务systemctl stop docker重启docker服务systemctl restart docker查看docker版本信息docker version二、镜像命令查看镜像docker images创建镜像(通...

2019-05-07 10:22:52 249

原创 如何在CentOS上安装Docker(通过rpm包安装-离线安装)

有些同学的电脑不能联网,这个时候就需要离线安装了,可以联网的同学请参考博主另一篇博客:《如何在CentOS上安装Docker(通过仓库安装-在线安装)》本示例的环境为CentOS 7一、下载rpm包下载地址为:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/其中有4个rpm包,分别为:conta...

2019-05-06 17:55:50 874

原创 如何在CentOS上安装Docker(通过仓库安装-在线安装)

写在前面,在学习一门新技术的时候,一定要去官网看看,一定要去官网看看,一定要去官网看看(重要的事说三遍)!!!很多时候你百度了半天的非标准答案然而并没有解决,其实官网对于上手都会有简洁而标准的步骤,比如说本博客所讲的docker的安装!官网CentOS版安装步骤(可能会变,以实际为准):https://docs.docker.com/install/linux/docker-ce/centos/...

2019-05-06 17:19:11 202

原创 Java使用原生Jdbc操作数据库

在最近的面试过程中,遇到过好几次需要你手写jdbc访问数据库的代码,由于这东西真的平时很少用,所以忘记了(心累),我在这里记录一下,下次如果忘记了可以回头来看看。这里我用的mysql数据库,数据库驱动用的mysql-connector-java-5.1.35.jar,(注意这里如果用的是6版本以上的数据库驱动,加载驱动程序时的类名会不一样),直接看代码,必要的注释都已经写上了,应该没什么问题。...

2019-03-25 21:22:23 1820

原创 正则表达式总结

在最近的学习工作中,我用到了很多次正则表达式,在这里做了一个收集总结。首先给出百度百科对正则表达式的描述:正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及...

2019-03-12 17:57:11 144

原创 java中包装类Integer的 == 比较分析

直接上代码,当int值在一个字节范围内(-128~127)时:当int值不在一个字节范围内时,例如128(注意与第一张图结果的区别)如下图:我们根据比较结果逐行分析:第一行:可以看到 int 类型的数据与Integer对象的比较全部都为 true,这是因为,当int与Integer比较时,java会将Integer类型自动拆箱转换为 int 再进行比较,所以到最后是 in...

2019-03-08 12:47:16 1736

转载 Java 最常见的 200+ 面试题:面试必备

1.面试题模块介绍我们这份面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示:2.适宜阅读人群...

2019-03-05 15:49:13 825

转载 java中String、StringBuffer、StringBuilder的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String  String最慢的原因:  String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但...

2019-03-02 21:04:49 118

原创 如何在spring环境中做单元测试

目录1.写在前面2.导入相关依赖3.创建测试类4.整合测试类和spring1.写在前面本博客示例使用的是spring-tool-suite开发工具(使用eclipse也可以),spring-tool-suite是在eclipse基础上针对spring项目开发的IDE,和eclipse类似。2.导入相关依赖除了spring所需要的jar包以外,还需要导入junit4和...

2019-02-27 11:04:06 1587

原创 数据结构常见排序算法总结(java实现)

目录1.插入排序1.1 直接插入排序1.2 希尔排序2.选择排序2.1 简单选择排序3.交换排序3.1 冒泡排序1.插入排序1.1 直接插入排序直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已经排序好的元素小,则交换,直到全部元素都比较过。因此,从上面的描述中我们可以发现,直接插入排序可用用两层循环来实现:...

2019-02-17 16:15:32 679

原创 常见查找算法总结(java语言描述)

1.顺序查找/*** 顺序查找*/public static void sequentialSearch() { int[] array = new int[] {3,0,1,9,5,8,2,7,6,4}; int x = 8; int i; for(i=0;i&lt;array.length;i++) { if(array[i] == x) { System.out...

2019-02-13 14:18:58 307

转载 MySql存储过程详解

一、什么是存储过程sql语句需要先编译然后执行,而存储过程是一组为了完成特定功能的sql语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用它。存储过程是可编程的函数,在数据库中创建并保存,可以由sql语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程...

2018-12-27 21:19:25 465

原创 java.sql.SQLException: Access denied for user 'Administrator'@'localhost'

我在整合mybatis和spring的时候,测试数据库连接时报了标题所示错误,我的数据库连接配置如下:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf8username=rootpassword=123找了很久都不...

2018-12-13 17:02:30 2171 1

原创 Invalid default value for 'start_time'

在mysql-5.7中,建表语句如下:CREATE TABLE seckilltemp2(`stock_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品库存id',`name` VARCHAR(120) NOT NULL COMMENT '商品名称',`number` INT NOT NULL COMMENT '库存数量',`create_...

2018-12-07 11:29:24 10606

转载 java内部类详解

在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:class Circle { double radius = 0; ...

2018-12-05 11:33:59 180 1

原创 Redis核心技术---Lua语言

Redis在2.6版推出了脚本功能,允许开发者在Redis中运行Lua语言编写的脚本,而在Lua脚本中我们可以编写大部分的Redis命令,那么使用Lua脚本有什么好处呢?减少网络开销:如果我们需要执行一系列Redis命令的话,一句一句发送给Redis会产生很多次网络请求,影响效率,有了Lua脚本我们可以把这一系列命令写入到脚本中一次性发送给Redis执行,只有一次请求。 原子操作:Redis...

2018-11-26 21:38:40 301

转载 Redis核心技术---单线程

以前一直有个误区,以为:高性能服务器 一定是 多线程来实现的原因很简单因为误区二导致的:多线程 一定比 单线程 效率高。其实不然。redis 核心就是 如果我的数据全都在内存里,我单线程的去操作 就是效率最高的,为什么呢,因为多线程的本质就是 CPU 模拟出来多个线程的情况,这种模拟出来的情况就有一个代价,就是上下文的切换,对于一个内存的系统来说,它没有上下文的切换就是效率最高的。red...

2018-11-25 12:47:55 381

原创 以抢红包为例带你走进高并发编程

目录1.写在前面2.模拟超发现象2.1 概述2.2 数据库建表2.3 编写SQL2.4 编写Mapper接口2.5 编写Service2.6 编写Controller2.7 模拟用户请求2.8 测试超发现象3.解决并发之-悲观锁3.1 概述3.2 改写Sql3.3 测试悲观锁3.4 悲观锁存在的问题4.解决并发之-乐观锁4.1 概...

2018-11-22 20:50:57 2570

空空如也

空空如也

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

TA关注的人

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